连接视频并使用ffmpeg在它们之间添加黑框

use*_*207 3 video ffmpeg concatenation

我有三个要与ffmpeg连接的视频。我想在它们之间添加一些黑框。尽管我在网络上发现了一些提示,但对我来说仍然没有用。我尝试使用以下方式生成仅带有黑色帧的“空”视频:

ffmpeg -t 20 -s 1920x1080 -f rawvideo -pix_fmt rgb24 -r 25 -i c:\nul  E:\empty.avi
Run Code Online (Sandbox Code Playgroud)

然后与另一个连接,但不起作用。我尝试了其他一些尝试,但均未成功。任何帮助将不胜感激

编辑:还尝试使用以下代码在视频前后添加黑框,但未成功:

ffmpeg -f lavfi -i color=c=black:s=1920x1080:r=25:d=100 -i middle_video.avi -filter_complex 
"[0:v]trim=start_frame=1:end_frame=21[blackstart];
[0:v] trim=start_frame=1:end_frame=21 [blackend]; 
[blackstart] [1:v] [blackend] concat=n=3:v=1:a=0[out]" -map "[out]" -c:v qtrle -c:a -copy output.avi
Run Code Online (Sandbox Code Playgroud)

EDIT2:ffprobe的输出

Metadata:
encoder: Lavf57.3.100
Duration: 00:00:10.05, start: 0.000000, bitrate: 43302 kb/s
Stream #0:0: Video: mpeg4 (Simple Profile) (FMP4 / 0x34504D46), yuv420p, 192
0x1080 [SAR 1:1 DAR 16:9], 43333 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 10k tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 128 k
b/s
Run Code Online (Sandbox Code Playgroud)

编辑3链接到ffmpeg控制台输出的报告FFMPEG会话报告

Gya*_*yan 5

#1生成空白视频

ffmpeg -f lavfi -i color=black:s=1920x1080:r=24000/1001 -f lavfi -i anullsrc \
       -ar 48000 -ac 2 -t 20 empty.avi
Run Code Online (Sandbox Code Playgroud)

#2准备一个带有文件列表的文本文件

file '1.avi'
file 'empty.avi'
duration 1
file '2.avi'
file 'empty.avi'
duration 1
file '3.avi'
Run Code Online (Sandbox Code Playgroud)

#3 Concat

ffmpeg -f concat -i list.txt -c:v qtrle -c:a copy joined.avi
Run Code Online (Sandbox Code Playgroud)

上面假设所有3个视频的属性都与ffprobe读数所示的属性相同。您可以使用文本文件中的duration参数来控制空白段的持续时间(当前为1秒)。当然,只持续到empty.avi的持续时间。

  • 谢谢。它不起作用。我有一个空视频,尽管配乐似乎是正确的。提示中出现了此类错误的列表:[avi @ 0000000000434440]输出流0:1中的非单调DTS;上一个: 4340 ,当前: 2755 ;更改为 4341。这可能会导致输出文件中的时间戳不正确。 (2认同)
  • 所以答案不正确,正确答案应该在评论中搜索。 (2认同)