ffplay之音视频同步
2017-08-20 10:09
162 查看
/* called to display each frame */static void video_refresh(void *opaque, double *remaining_time)
{
。。。。。。
/* compute nominal last_duration */
/*通过pts计算duration,duration是一个videoframe的持续时间,当前帧的pts 减去上一帧的pts*/
last_duration = vp_duration(is, lastvp, vp);
if (redisplay)
delay = 0.0;
else
delay = compute_target_delay(last_duration, is);
/*time为程序已运行的时间*/
time= av_gettime_relative()/1000000.0; /*时间没到,就先等等*/
if (time < is->frame_timer + delay && !redisplay) {
*remaining_time = FFMIN(is->frame_timer + delay - time, *remaining_time);
return;
}
/*时间已到*/
is->frame_timer += delay;
if (delay > 0 && time - is->frame_timer > AV_SYNC_THRESHOLD_MAX)
is->frame_timer = time;
。。。。。。
}
{
。。。。。。
/* compute nominal last_duration */
/*通过pts计算duration,duration是一个videoframe的持续时间,当前帧的pts 减去上一帧的pts*/
last_duration = vp_duration(is, lastvp, vp);
if (redisplay)
delay = 0.0;
else
delay = compute_target_delay(last_duration, is);
/*time为程序已运行的时间*/
time= av_gettime_relative()/1000000.0; /*时间没到,就先等等*/
if (time < is->frame_timer + delay && !redisplay) {
*remaining_time = FFMIN(is->frame_timer + delay - time, *remaining_time);
return;
}
/*时间已到*/
is->frame_timer += delay;
if (delay > 0 && time - is->frame_timer > AV_SYNC_THRESHOLD_MAX)
is->frame_timer = time;
。。。。。。
}
相关文章推荐
- ffmpeg转码MPEG2-TS的音视频同步机制分析
- Android音视频学习第3章:音视频同步实现视频播放器
- 视频、音频打时间戳的方法及其音视频同步(播放)原理
- 从零开始学习音视频编程技术(九) FFMPEG Qt视频播放器之同步进阶篇
- ffmpeg中音视频同步浅析
- Direct3d 11下加入视频文件并实现音频视频同步
- 理解音视频同步-时间戳
- 深入理解Android音视频同步机制(二)ExoPlayer的avsync逻辑
- 音视频同步原理
- 音视频同步原理及打时间戳
- Android 音视频同步(A/V Sync)
- 音视频同步-时间戳
- ios 视频播放/缓存同步
- 视频音频同步原理??
- 音视频同步
- 音视频的同步原理
- 音频 帧率 音视频同步
- dm8168下qt界面与视频的同步显示
- FFmpeg 入门(5):视频同步
- ffmpeg转码MPEG2-TS的音视频同步机制分析