【问题标题】:Concatenate multiple videos with a black screen loop into one video将多个带有黑屏循环的视频连接成一个视频
【发布时间】:2020-02-24 01:31:20
【问题描述】:

我正在使用 ffmpeg 将一堆视频连接在一起。
我使用的是经典的加入ffmpeg代码:

ffmpeg -f concat -i joinlist.txt -c copy joinedfile.mp4

但问题在于视频的格式、编码不同,但尺寸相同:均为 640x480。我想加入他们所有人,然后每隔一个视频放一个没有声音的黑屏视频:

video1 + black_screen_video + video2 + black_screen_video + video3 ...

我使用以下方法生成了一个持续时间为 2 秒的黑屏视频:

ffmpeg -f lavfi -i color=c=black:s=640x480:d=2 black_screen_video.mp4

所以所有视频的大小都相同:640x480 和 25 fps,但编解码器不同。视频有声音,除了黑屏视频。 我不能手动做任何事情,因为视频的数量大约有几百个。所以它必须是一种自动的方式来完成这一切。

当我使用上面的代码将它们连接在一起时,生成的视频根本无法正确播放。

我知道我必须重新编码它们,但是如何用一行代码一次对所有这些视频进行编码?

更新: 我已经成功地使用了这段代码将它们连接在一起,但是只有三个,如果我有一百多个,则一一写下来很耗时:

ffmpeg -i vid1.avi -i vid2.avi -i vid3.avi -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] [2:v:0] [2:a:0] concat=n=3:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" output.mp4

但这只是加入视频,而不是循环播放黑屏视频。当我使用黑屏时,ffmpeg 会给我流匹配错误。

更新:


这是控制台图像:

第二次更新:

很长的红色错误列表,截图如下:

【问题讨论】:

    标签: video ffmpeg video-processing


    【解决方案1】:

    像以前一样使用 concat demuxer。

    您的文本文件将是:

    file 'vid1.avi'
    file 'black_screen_video.mp4'
    file 'vid2.avi'
    file 'black_screen_video.mp4'
    file 'vid3.avi'
    file 'black_screen_video.mp4'
    ...
    

    你的命令:

    ffmpeg -f concat -i joinlist.txt joinedfile.mp4
    

    您还需要在黑屏视频中包含一个虚拟音频。

    ffmpeg -f lavfi -i color=c=black:s=640x480:d=2 -f lavfi -i aevalsrc=0:c=2:d=2 black_screen_video.mp4
    

    【讨论】:

    • 是的,向黑屏视频添加音频流有助于绕过此问题。但是,视频没有显示,我听到视频的声音,但不是图像!这是为什么呢?
    • 显示您运行的命令的完整控制台输出。您在哪个播放器中进行了测试?
    • 试试这个命令,看看命令是否运行没有错误:ffmpeg -i vid1.avi vid1new.avi。如果没有错误,并且生成的视频播放正常,则将其替换为 concat 列表并尝试。
    • 在 concat 列表中,将 vid1.avi 替换为 vid1new.avi 并重新运行 concat。您可能必须对所有标头损坏的文件执行此操作。
    • 在生成新文件时使用高比特率-b:v 1500k
    【解决方案2】:

    希望它对同样的问题有所帮助,并通过使用此命令将所有视频更改为相同的帧速率并将音频更改为相同的频率来修复它 ffmpeg -y -i in.mp4 -vf fps=60 -ar 48000 out.mp4

    convert 和 concat 再次

    如果有帮助请投票(:

    【讨论】:

    • 由于您无论如何都在使用过滤器,因此您可以使用 concat 过滤器而不是 concat demuxer 在一个命令中完成所有操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    相关资源
    最近更新 更多