FFmpeg编解码流程解读--视频解码1

前言:

首先我们知道ffmpeg是一个开源的音视频编解码,封装和解封装的工具。具体的下载方式这里不多赘述(感兴趣百度自行下载源码)。这里主要将编解码。ffmpeg音视频编解码依赖libavcodec。其为我们提供一套架构,其中包含了编解码器。这里主要介绍我们常用的一些API接口去处理实现编解码等媒体业务。但是一个好的应用框架需要兼容所有的功能的同时还不会因为底层api接口发生改变的(通过上层策略兼容新旧API才是我们长久之策)。

解码:

视频解码:

这边先将一下旧API流程:

注意:

1、如果要使用FFmpeg的API,就要先注册使用Av_register_all注册。

2、avcodec_find_decoder和Avcodec_alloc_context3分别是查找和申请解码器

3、vcodec_open2打开解码器,至此解码功能开启。

4、av_read_frame收流,即获取解码数据

5、Avcodec_decode_video2开始数据解码

新的API:

新的API其实大致流程其实是一样的,只是接口有所不同。

个人感觉区别如下:

1、新增了一个码流解析器,Av_parser_init和av_parser_parse2分别查找解析器和码流解析

2、Avcode_send_packet向解析器发送数据

3、avcodec_receive_frame解完码后将数据取出

如果想要将进入源码分析的话,可以进入这个目录:\ffmpeg\doc\examples

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值