1.av_register_all() : 注册组件, 包括FFmpeg所有编解码器
2.avformat_alloc_context(): 初始化封装格式上下文
3.avio_open(): 打开输入文件,关联封装格式上下文到输出文件
4.avformat_new_stream(): 创建输出码流
5.avcodec_find_encoder():查找视频编码器
6.avcodec_open2(): 打开解码器
7.avformat_write_header(): 写入文件头信息
8.av_image_fill_arrays():存储一帧像素数据缓冲区
9.读取帧av_read_frame() 返回值<0 则结束
10.av_frame->data: 读取缓冲数据转成AVFrame类
11.avcodec_send_frame(): 发送一帧视频像素数据(yuv格式)
12.avcodec_receive_packet(): 接收一帧视频数据,编码为视频压缩格式(如H.264格式)
13.av_write_frame():编码码成功写入文件,再循环读取下一帧
14.flush_encoder():写入剩余的帧数据
15.av_write_trailer():写入文件尾部信息
网友评论