我需要使用ffmpeg C++ API对mpegts视频进行编码。输出视频应具有两个流:第一个应为AVMEDIA_TYPE_VIDEO类型;第二个应为AVMEDIA_TYPE_DATA类型,应包含一组KLV数据。
我已经编写了自己的KLV库来管理KLV格式。
但是,我无法通过组合这两个流“从头开始”创建新视频。按照FFMPEG C api h.264 encoding / MPEG2 ts streaming problems中的实现,我可以成功地使用单个视频流对mpegts视频进行编码。
然而,当我尝试添加新的AVMEDIA_TYPE_DATA流到输出视频时,使用avformat_new_stream(...)等方法添加新的数据流后,输出视频为空:既没有产生数据流,也没有产生视频流并且输出文件为空。
有人能否向我建议一个教程页面或一个示例,介绍如何在mpegts格式的输出视频中正确添加数据流?
非常感谢!
我已经编写了自己的KLV库来管理KLV格式。
但是,我无法通过组合这两个流“从头开始”创建新视频。按照FFMPEG C api h.264 encoding / MPEG2 ts streaming problems中的实现,我可以成功地使用单个视频流对mpegts视频进行编码。
然而,当我尝试添加新的AVMEDIA_TYPE_DATA流到输出视频时,使用avformat_new_stream(...)等方法添加新的数据流后,输出视频为空:既没有产生数据流,也没有产生视频流并且输出文件为空。
有人能否向我建议一个教程页面或一个示例,介绍如何在mpegts格式的输出视频中正确添加数据流?
非常感谢!