FFmpeg的基本处理流程

      FFmpeg作为目前主流的音视频开源处理框架,在目前的互联网音视频处理大行其道,但是缺点是底层实现非常复杂,源码代码晦涩难懂,那么了解其基本处理流程就显得非常重要。下面,简单地将其主要框架梳理一下。方便大家入门。

(1).av_register_all();//注册所有文件格式和编解码库

(2).avformat_network_init();//打开网络视频流

(3).av_open_input_file();//读取文件头部把信息保存到AVFormatContext结构体

(4).av_find_stream_info();//为pFormatCtx->streams填充上正确的信息

(5).CODEC_TYPE_VIDEO;//通过判断得到视频流类型

(6).avcodec_find_decoder();//查找解码器

(7).avcodec_open();//打开编解码器

(8).avcodec_alloc_frame();//分配空间保存帧数据

(9).av_read_frame();//不断从流中提取帧数据

(10).avcodec_decode_video();//解码视频流

(11).avcodec_close();//关闭解码器

(12).avformat_close_input_file();//关闭输入文件

FFmpeg解码流程:

发布了538 篇原创文章 · 获赞 1318 · 访问量 194万+

猜你喜欢

转载自blog.csdn.net/fanyun_01/article/details/103698882