请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

几个小问题

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

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

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

正在回答 回答被采纳积分+3

1回答

李超 2023-06-26 12:33:41

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

0 回复 有任何疑惑可以回复我~
  • 李超 #1
    对于第三个问题课程后面有讲如何实现播放器,你把那块知识学完了也就清楚了
    回复 有任何疑惑可以回复我~ 2023-06-26 12:34:31
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信