如何在调用avformat_write_header函数后添加新流?

问题描述 投票:0回答:1

我有几个视频源产生视频帧。每个视频源应表示为输出视频文件(mp4或mpegts)内的单独视频流。问题是我应该在调用avformat_write_header函数之前指定确切的流数并创建它们。如果我尝试添加流后,我将在av_interleaved_write_frame内崩溃。有没有办法动态添加流?也许我应该指定一些muxer选项?提前感谢您的回答。

c++ ffmpeg video-streaming libav libavformat
1个回答
2
投票

不,写入标题后无法添加新流。 libavformat检查用于写入的传入数据包是否具有[0,nb_streams-1]之外的流索引,如果存在则将失败。

可以使用类似MPEG-TS的容器来合并新流,但ffmpeg不支持这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.