gpt4 book ai didi

ffmpeg - 使用 FFmpeg concat 过滤器而不是协议(protocol),不同的结果

转载 作者:行者123 更新时间:2023-12-04 22:50:50 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to concatenate two MP4 files using FFmpeg?

(27 个回答)


6年前关闭。




我有两个文件需要合并。
我可以使用 ffmpeg concat 协议(protocol)来做到这一点
创建一个文本文件并在其中设置文件。
像这样:
files_to_be_merged.txt

file '/home/user/Videos/video1.mov'
file '/home/user/Videos/video2.mov'
他们使用以下命令。
ffmpeg -f concat -i mylist.txt -c copy output.mov
但我想这样做而不必创建文本文件。
我试过这个命令:
ffmpeg -i 'concat:video1.mov|video2.mov' -codec copy output.mov
但生成的文件只是第一个视频,而不是两者。
执行此命令时收到此警告;

[mov @ 0x35933c0] Codec for stream 0 does not use global headers butcontainer format requires global headers

[mov @ 0x35933c0] Codec for stream 1 does not use global headers butcontainer format requires global headers

最佳答案

这两种方法是不同的。

使用文本文件( -f concat )的是 连接解复用器 哪个更灵活。如果您具有相同的编解码器但接受不同的容器,并且更重要的是适用于任何容器格式,则它可以工作。

第二个( -i 'concat:file1|file2' )是 连接协议(protocol) .它仅适用于可以直接连接的格式,例如 mpgmpegts .
mov format 不能直接拼接,所以必须通过 demuxer。

wiki了解更多信息。

如果您不想使用文本文件,您可以扩展 existing demuxer添加功能。毕竟这是一个开源项目。

关于ffmpeg - 使用 FFmpeg concat 过滤器而不是协议(protocol),不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33774583/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com