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

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

iStream

2024-03-23

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

写回答

1回答

李超

2024-03-23

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

0
3
李超
回复
iStream
对于播放器来说,其底层使用的是tcp连接,为了防止卡顿,一般通过增加缓存的机制来达到平滑播放的目的。这也是为啥一般的传统直播平均延迟3秒的原因
2024-03-23
共3条回复

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

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

2726 学习 · 814 问题

查看课程