几个小问题

来源:8-22 一个真正的播放器(三)

慕妹8246037

2023-06-26

1、我运行demo,发现视频流里一个packet好像最多能取出来一帧,上网搜了下也有这种说法,说法正确吗?

2、如果视频流一个packet最多只有一帧,那么av_send_packet之后,是不是不用循环调用avcodec_receive_frame 获取帧,调用一次就行,课程所有相关的demo和网上的demo好像都是循环调用。

3、前面章节说帧pts和dts顺序,解码顺序i p bb,展示顺序ibbp,那么获取帧之后是不是要按照pts重新排下序,再放入队列中啊,如果不排序直接放,播放的时候直接取,那不是按照dts去播放的吗,而没有按照pts。还是我有什么理解错误

写回答

1回答

李超

2023-06-26

一个packet里理论上可以存放多个帧,至于是存一个还是多个,ffmpeg 说了算,你目前不用关心。等以后你对ffmpeg 熟悉了自然就知道了;所以问题二你应该可以理解了

0
1
李超
对于第三个问题课程后面有讲如何实现播放器,你把那块知识学完了也就清楚了
2023-06-26
共1条回复

经典再升级-FFmpeg5.0核心技术精讲,打造音视频播放器

学好FFmpeg核心技术,做高效,高薪,有竞争力的音视频工程师

2726 学习 · 814 问题

查看课程