我正在尝试使用Concat过滤器连接3个视频。 这些视频是:
视频1
持续时间:00:00:05.34,开始:0.000000,比特率:45584 kb / s 流#0:0(eng):视频:h264(高)(avc1 / 0x31637661),yuv420p,1920x1080 [SAR 1:1 DAR 16:9],45653 kb / s,25 fps,25 tbr,12800 tbn,50 tbc(默认)
Video2
持续时间:01:12:18.67,开始:0.000000,比特率:730 kb / s 流#0:0(und):视频:h264(受约束的基线)(avc1 / 0x31637661),yuv420p(电视,smpte170m / smpte170m / bt709),704x352 [SAR 457:704 DAR 457:352],599 kb / s, 25 fps,25 tbr,90k tbn,50 tbc(默认)
Video3
持续时间:00:00:10.02,开始:0.000000,比特率:25827 kb / s 流#0:0(und):视频:h264(高)(avc1 / 0x31637661),yuv420p,1920x1080 [SAR 1:1 DAR 16:9],25812 kb / s,25 fps,25 tbr,12800 tbn,50 tbc(默认)
我使用的ffmpeg命令是:
ffmpeg -i video1.mp4 -i video2.mp4 -i video3.mp4 -filter_complex
"[0:v]scale=1920:1080:force_original_aspect_ratio=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setdar=16/9[v0];
[1:v]scale=1920:1080:force_original_aspect_ratio=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setdar=16/9[v1];
[2:v]scale=1920:1080:force_original_aspect_ratio=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setdar=16/9[v2];
[v0][0:a][v1][1:a][v2][2:a] concat=n=3:v=1:a=1[v][a]"
-map "[v]" -map "[a]" output.mp4
(I have tried also with force_original_aspect_ratio=decrease)
但是我收到以下错误
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55b7422ea700] stream 1, offset 0xbac62: partial files dup=2 drop=0 speed=0.989x
[h264 @ 0x55b742be9a20] Invalid NAL unit size (110724 > 17746).
[h264 @ 0x55b742be9a20] Error splitting the input into NAL units.
video3.mp4: Invalid data found when processing input
video3.mp4: Invalid data found when processing input
Last message repeated 2 times
Error while decoding stream #2:0: Invalid data found when processing input
video3.mp4: Invalid data found when processing input
Last message repeated 1 times
和output.mp4只是video1 + video2。
但是!如果我使用video2.mp4的示例(例如前10分钟),则ffmpeg命令将成功运行到最后,并生成预期的输出(video1 + video2 + video3)。
您知道我为什么会收到此错误,如何解决?
更新: 我的命令与FFmpeg的降级版本完美配合。也许最新的一个错误?