首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以使用av_write_frame()而不是av_interleaved_write_frame()吗?

我可以使用av_write_frame()而不是av_interleaved_write_frame()吗?
EN

Stack Overflow用户
提问于 2019-02-02 08:58:25
回答 1查看 3.5K关注 0票数 2

我正在使用ffmpeg在Windows平台上编写一个AV muxer DirectShow过滤器,它将视频和音频流复制到mp4/ts/flv文件中,或者rtsp/rtmp/udp流,我确认视音频流的dts是有序增加的,所以不需要使用dts重新排序,所以我可以使用av_write_frame()而不是av_interleaved_write_frame()吗?av_write_frame()可以直接将包写到muxer中,如果没有引用-计数,av_interleaved_write_frame()会复制数据包,所以我更喜欢使用av_write_frame(),因为我认为它应该更高效(不复制或缓冲),我的想法正确吗?我能用av_write_frame()吗?

EN

回答 1

Stack Overflow用户

发布于 2019-02-03 12:56:54

是。正如文档 for av_write_frame()所述:

此函数直接将数据包传递给muxer,而不需要任何缓冲或重新排序。如果格式需要,调用方负责正确地交错数据包。希望libavformat处理交织的调用者应该调用av_interleaved_write_frame(),而不是这个函数。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54491521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档