在 libffmpeg C++ 中连接文件

concatenate files in libffmpeg c++

我有点不知所措。我的目标是合并两个视频文件(可能是不同的文件格式)并且我已经在使用 libffmpeg 执行其他简单任务。我以为 libffmpeg 公开了某种合并文件的功能,但我找不到它。

我在文档中找到了这些可能相关的页面:http://ffmpeg.org/doxygen/trunk/structConcatStream.html and http://ffmpeg.org/doxygen/trunk/group__lavf__encoding.html

我不确定这是否真的相关?有人能指出我正确的方向吗?我需要使用 FFmpeg muxing 并手动加入流吗?有什么例子可以向我解释我应该做什么吗?谢谢!

使用ffmpeg打开文件1,开始读取帧,转换为目标格式,写入输出文件。当没有更多帧时,关闭文件 1(保持输出打开)。打开文件 2,开始读取帧,转换为目标格式,然后写入输出文件。当没有更多帧时,关闭文件 2 并关闭输出。

已合并且格式一致。

对于那些寻找示例的人,我最终使用了

How to use libavformat to concat 2 video files with same codec (re-muxing)?

有一个很好的片段,效果很好