FFMPEG常用API

本文记录了FFMPEG的学习过程,重点介绍了FFMPEG处理流程及其对应的API,帮助读者更好地理解和记忆FFMPEG的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近开始集中学习使用FFMpeg,对一些常用的api有了一个大致的了解,下面做个记录以备忘!

FFMPEG处理流程

FFMPEG的函数使用成千上万,不容易记住,但是如果知道她的使用流程的话,那就方便记住的多了!
在我理解的流程如下:

1.打开并且初始化输入流(AVFormatContext):
    数据的来源,来自一个网络流,还是一个文件....
2.打开并且初始化输出流(AVFormatContext):
    数据的流向,数据是要推送到服务器,还是写到本地的文件,还是说直接做渲染
3.从输入流中读取包(AVPacket)
    输入流中包含了一系列的压缩的数据AVPacket,我们需要读取出来统一处理
4.解码(AVCodec)AVPacket成Frame(AVFrame)
    压缩的AVPacket需要进一步解码成对应的音视频或者字幕的AVFrame,是原始码流未经过压缩,对于视频通常是YUV格式,对于音频则是PCM码流
5.对AVFrame进行编码,生成需要的格式的Packet
.......

流程对应的API

1.输入流相关API
avformat_alloc_context():
    初始化AVFormatContext 
int avformat_open_input(AVFormatContext **ps, const char *url, AVInputFormat *fmt, AVDictionary **options):
    打开输入流,并且读取头部到AVFormatCont
FFmpeg提供了一套丰富的API,用于处理音视频编解码、封装和解封装等任务。其中一些常用API包括: 1. avcodec_find_encoder():用于查找FFmpeg的编码器,其原型位于libavcodec\avcodec.h中。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [FFmpeg —— FFmpeg常用API函数介绍](https://blog.youkuaiyun.com/guoyunfei123/article/details/105791724)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [FFmpeg API介绍与通用API分析](https://blog.youkuaiyun.com/WHEgqing/article/details/103076683)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [FFmpeg 常用API](https://blog.youkuaiyun.com/yinshipin007/article/details/125879606)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值