ffmpeg连接文件无法按预期播放

时间:2018-01-28 19:37:53

标签: ffmpeg

我正在尝试通过按此顺序连接来创建视频:

video1.mp4 & video_from_static_image.mp4 & video1.mp4

video1.mp4是一个简单的视频文件。 video_from_static_image.mp4是根据a.png图片创建的,如下所示:

ffmpeg -y -framerate 25 -f image2 -loop 1 -i a.png -c:v libx264 -profile:v main -pix_fmt yuv420p -t 2 -r 25 video_from_static_image.mp4

我通过以下命令创建最终的连接文件:

ffmpeg -y -f concat -safe 0 -i mylist.txt -c copy final_concat.mp4

我在concat过程中收到以下消息:

[mp4 @ 0x7fee6b815e00] Non-monotonous DTS in output stream 0:0; previous: 120678, current: 65722; changing to 120679. This may result in incorrect timestamps in the output file.

运行上述命令时的完整输出是here

当我玩final_concat.mp4时,它遇到了video_from_static_image.mp4的问题,似乎跳过它(其他变化导致了一段时间的播放)。我尝试了很多东西,但我相信它们都指向上面的DTS错误。

BTW,所有视频文件都很小(<1MB)。以下是我正在使用的版本的详细信息:

$ ffmpeg -version ffmpeg version 3.3.4 Copyright (c) 2000-2017 the FFmpeg developers built with Apple LLVM version 7.3.0 (clang-703.0.31) configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma --enable-vda libavutil 55. 58.100 / 55. 58.100 libavcodec 57. 89.100 / 57. 89.100 libavformat 57. 71.100 / 57. 71.100 libavdevice 57. 6.100 / 57. 6.100 libavfilter 6. 82.100 / 6. 82.100 libavresample 3. 5. 0 / 3. 5. 0 libswscale 4. 6.100 / 4. 6.100 libswresample 2. 7.100 / 2. 7.100 libpostproc 54. 5.100 / 54. 5.100

1 个答案:

答案 0 :(得分:1)

重新创建video_from_static_image.mp4以获得与video1.mp4相同的参数,并且还包括静音填充音频:

ffmpeg -framerate 24000/1001 -loop 1 -i a.png -f lavfi -i anullsrc=cl=stereo:r=44100 -c:v libx264 -pix_fmt yuv420p -t 2 -shortest video_from_static_image.mp4

现在帧速率,时基,H.264配置文件,音频通道,音频速率和流顺序都是相同的。

然后运行concat命令。