ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

梳理FFmpeg基础知识

2021-09-16 15:32:44  阅读:178  来源: 互联网

标签:基本 编码器 封装 FFmpeg avcodec 基础知识 avformat 注册 梳理


基本步骤

在这里插入图片描述

八大函数库的作用

Acvodec: 编解码库
Avdevice:设备输入输出库
Avformat:封装格式相关库
Swscale:视频像素格式转换库
swresample:音频采样数据库
avfilter:滤镜特效库
Avutil:工具库
Postproc:宏文件库

在这里插入图片描述

基本步骤

在这里插入图片描述

注册函数 av_register_all() 头文件(libavformat\allformats.c)

FFmpeg 4.0已经弃用但是并不是放弃使用而是改为默认加载程序

如图所示
首先第一个是 avcodec_register_all() 注册编码器 源码内部流程为:

  • 第一步为注册硬件解码REGISTER_HWACCEL()
    第二步为注册编码器
    第三步为注册解码器
    第四步为注册为了复制流的新函数
    第五步为了注册一些过滤器等
    而这些统一被 avcodec_register_all() 封装在一起了 这就是其的作用

第二个第三个是注册封装和解封装的作用

第四个是为了注册使用ffurl 使用不常用

avformat_alloc_context()

其主要作用是开辟format空间获取文件的基本 format信息和配置一些基本的options

avformat_open_input()

其主要作用是为了打开封装和基本的io流以及基本的开辟空间操作

avformat_find_stream_info()

就是基本寻找流信息 看看封装格式中 编码的文件 获取编码器的一些基本信息

avcodec_find_decodec()

寻找解码器 去解码文件

avcodec_open2()

解码文件

后面就是读帧了

搞完全懂了再说

常用结构图结构

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

标签:基本,编码器,封装,FFmpeg,avcodec,基础知识,avformat,注册,梳理
来源: https://blog.csdn.net/qq_33329316/article/details/120328523

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有