ffmpeg如何判读一帧(AVPacket)不完整

haotianmai haotianmai 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现在手上有个程序用ffmpeg从网络接收TS流, 然后通过av_read_frame()分离出一帧帧的音视频帧(TS术语中叫ES),保存在一个个的AVPacket中, 再通过av_decode_video把AVpacket中的数据解码到 AVFrame中,再把AVFrame中的yuv420数据渲染到屏幕上。

因为网络会丢包,可能会丢掉几个TS包,这样av_read_frame分离出来的帧数据就会不完整。
问题是:我现在能知道一个AVpacket中的实际大小,但我不知道这个AVPacket应该是多大,因此我无法判断这个AVPacket到底完整不?
补充:理论上PES包头有这个ES的总大小,但TS官方文档说这个pes_packet_size数据段也可能为0。那么我通过什么方法知道这个AVPacket(ES)丢失了数据,不完整呢。
不胜感激!
...全文

相关推荐

评论 14
收藏 已收藏
分享
返回顶部
haotianmai
其它技术问题 3,881 成员 9,044 内容