请稍等 ...
×

采纳答案成功!

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

请问一下老师actual_delay = is->frame_timer - (av_gettime() / 1000000.0);

1.为什么要和系统时间建立关系,他们之间有什么思想,(我想肯定有很多知识在里面)
2.比如一个视频包,一个视频帧的pts 在储存和归档时,和系统时间是不是没有任何关系

正在回答

1回答

多媒体文件中用的是相对时间,在播放时视频中的每一帧都可以相对于第一帧计算播放时间,但这样每次都要设置一个定时器,看到点了就播下一帧。但你有没有想过这种做法会出现很大误差?最终的播放时长与你视频中的真正时长对不齐。因此一般播放器的实现都是与系统时间做比较,将第一帧确定好系统时间后,后面就将要播放的帧的时间换算成系统时间,如果发现要播放的帧的时间落后于系统时间就将其播放出来。

0 回复 有任何疑惑可以回复我~
  • 提问者 iStream #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2024-03-23 21:16:22
  • 提问者 iStream #2
    如果是直播,中间有卡顿,要如何理解
    回复 有任何疑惑可以回复我~ 2024-03-23 21:25:54
  • 李超 回复 提问者 iStream #3
    对于播放器来说,其底层使用的是tcp连接,为了防止卡顿,一般通过增加缓存的机制来达到平滑播放的目的。这也是为啥一般的传统直播平均延迟3秒的原因
    回复 有任何疑惑可以回复我~ 2024-03-23 22:24:57
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信