首页 > 解决方案 > ffmpeg 流向前和向后循环视频

问题描述

我想获取输入视频并使用 filter_complex 将其与自身反向水平连接(向前然后向后播放)。到目前为止,我已将其拆分为 3 个命令,即反转、连接和流式传输,但我想在一个命令中完成。以下流式传输视频两次,但我不知道如何反转第二个视频。如何在不更改第一个的情况下反转视频的第二个副本?

ffmpeg -re -stream_loop -1 -i self_recording.mkv -filter_complex \
    "[0:v]split=2[r1][r2];[0:v][r1][0:v][r2] concat=n=4:v=1[v]" \
    -map "[v]" -f v4l2 /dev/video2

标签: ffmpeg

解决方案


视频准备:

ffmpeg -i "$video" -i "$watermark" \
       -filter_complex "[0]split=2[fr][rv];[rv]reverse[rv]; \
                        [fr][rv]concat=n=2:v=1:a=0,$memestr,$rotatestr[jt]; \
                        [1][jt]scale2ref[i][m];[m][i]overlay=format=auto,format=yuv420p[v]" \
       -map "[v]" -g 30 stream.mp4

溪流:

ffmpeg -stream_loop -1 -re -i "stream.mp4" -c copy -f v4l2 "/dev/video$output"

推荐阅读