以下主要iOS端case。
播放器中播放时候,我们在render(opengles)之前,会看当前帧是否可以播放,一般来说有两种方法:
- 方法1:通过记录开始pts 和 系统开始时间戳,到每一帧的pts(
packet->pts
)看差值来得出是否可以播放的条件。 - 方法2:通过得到fps(
av_q2d(AVFormatContext_obj->streams[read_packet->stream_index]->avg_frame_rate)
)来计算,一般是, 但是这种方法会有些问题 不推荐
int video_fps = av_q2d(AVFormatContext_obj->streams[read_packet->stream_index]->avg_frame_rate);
NSTimeInterval interval_fps = 1.0/vs_obj->video_fps;
[NSThread sleepForTimeInterval:interval_fps];
网友评论