深入剖析ijkplayer解码过程

方法汇总

1.alloc 操作:初始化ffmpeg的配置参数,创建渲染所用的EGLView,获取音频播放权限,注册前后台切换通知等。
2.prepareToPlay操作:创建音频输出,调用stream_open方法
3.stream_open 操作: 创建音视频队列,创建read_thread线程
至此,后续的所以音视频相关操作都在read_thread方法中进行.

4.read_thread操作: 在读取方法中,进行了基本的ffmpeg 解码操作。

  • avformat_open_input 初始化avformatcontext
  • avformat_find_stream_info 解码得到stream的信息
  • 根据codec_type区别音频视频流数据
  • stream_componet_open()
  1. stream_componet_open 操作,进行了解码器部分的操作
  • avcodec_alloc_context3进行AVCodecContext初始化
  • avcodec_find_decoder 查找对应解码器
  • avcodec_open2AVCodecContext实例化赋值,在源码中可以看到其本身的解析,open2 操作需要遵从一系列的方法。
  • decoder_init初始化解码线程
  • ffpipeline_open_video_decoder
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值