使用 ffmpeg 将私有流混入/混出 MP4 和 MPEG2TS

使用 ffmpeg 将私有流混入/混出 MP4 和 MPEG2TS

假设我有一个私有媒体流(既不是音频也不是视频也不是字幕),我想用 ffmpeg 将其混合成 MP4 或 MPEG2TS 文件。不更改源码是否可行?或者我是否必须为 ffmpeg 编写编解码器?

答案1

有一个实现良好的库,名为MP4v2适合在 C/C++ 中使用,它提供了足够的功能来实现上述目的。具体来说,可以向 MP4 添加轨道,并根据需要设置文件内的所有框类型。同样,该库会将轨道提取到另一个文件,并从文件中删除现有轨道。

对于 MPEG2TS 部分,我没有找到任何类似的库,并决定编写一个程序,.ts通过在新的 PID 下多路复用新数据包来直接操作文件,并将 PTS 同步到音频/视频流。

这些都不会使用 ffmpeg。尽管我花了大量时间尝试理解这个(全面而庞大的)工具,但看来我必须为我的新流类型编写一个编解码器,这是一项相当艰巨的工作。

相关内容