ffplay流程分析

最近想做一个基于ffmpeg的播放器,最好的方法就是参考ffplay。简单分析一下

在stream_open后启动三个线程


  read_thread: 关键函数av_read_frame 作用是读取帧 推测单独拿出一个线程是因为接受网络数据时,怕因堵塞丢包

  video_thread:  关键函数avcodec_decode_video2 解码视频,单独解码线程,解码后放入队列,能够减少绘制时延时

  refresh_thread: 产生各种event,包括绘制消息


   在event_loop内关键函数 video_refresh:绘制


流程图:


ffplay流程分析_第1张图片



 

 

 


你可能感兴趣的:(ffplay流程分析)