FFMpeg转码流程解析.docVIP

  • 4
  • 0
  • 约7.11千字
  • 约 6页
  • 2021-10-01 发布于湖北
  • 举报
FFMpeg转码数据IO流程解析 一、概述 FFMpeg项目的数据IO部分主要是在libavformat库中实现,某些对于内存的操作部分在libavutil库中。数据IO是基于文件格式(Format)以及文件传输协议(Protocol)的,与具体的编解码标准无关。 FFMPEG工程转码时数据IO层次关系如图1所示。 输出格式(flv,mp3,mpeg,avi等) ? ? ? ? ? ? ? ? ? 图1 ffmpeg转码数据IO流程 对于上面的数据IO流程,具体可以用下面的例子来说明,我们从一个http服务器获取音视频数据,格式是flv的,需要通过转码后变成avi格式,然后通过udp协议进行发布。其过程就如下所示: 1、读入http协议数据流,根据http协议获取真正的文件数据(去除无关报文信息); 2、根据flv格式对数据进行解封装; 3、读取帧进行转码操作; 4、按照目标格式avi进行封装; 5、通过udp协议发送出去。 二、相关数据结构 在libavformat库中与数据IO相关的数据结构主要有URLProtocol、URLContext、ByteIOContext、AVFormatContext等,各结构之间的关系如图2所示。 output 图2 libavformat库中IO相关数据结构之间的关系 1、URLProtocol typedef struct URLPro

文档评论(0)

1亿VIP精品文档

相关文档