您当前的位置: 首页 > 

令狐掌门

暂无认证

  • 0浏览

    0关注

    513博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ffplay源码分析(十一):音频同步视频

令狐掌门 发布时间:2021-08-12 00:29:25 ,浏览量:0

  在上一篇“视频同步音频”的策略中,是通过丢帧或重复显示的方法来达到追赶或等待音频时钟的目的,但在“音频同步视频”时,却不能这样简单处理。   音频在输出时,最小单位是“样本”。音频一般以数字采样值保存,一般常用的采样频率有44.1K,48K等,也就是每秒钟有44100或48000个样本。视频输出显示与“样本”概念最为接近的画面帧,如一个24fps的视频,一秒钟有24个画面输出,这里的一个画面和音频中的一个样本是等效的。如果对音频使用一样的丢帧(丢样本)和重复显示方案,是不科学的,音频的连续性远高于视频,通过重复几百个样本或者丢弃几百个样本来达到同步,会在听觉有很明显的不连贯。   来看看音频解码的代码:

//为了方便阅读,以下代码经过简化,只保留音视频同步相关代码
static int audio_decode_frame(VideoState *is)
{
   
    //1. 根据与vidoe clock的差值,计算应该输出的样本数
    wanted_nb_samples 
关注
打赏
1652240117
查看更多评论
立即登录/注册

微信扫码登录

0.0353s