FFmpeg编码支持与定制

FFmpeg本身支持一些音视频编码格式、文件封装格式与流媒体传输协议,但是支持的数量仍然有限,FFmpeg所做的只是提供一套基础的框架,所有的编码格式、文件封装格式与流媒体协议均可以做为FFmpeg的一个模块挂载在FFmpeg框架中。

支持的第三方外部库,可以通过FFmpeg源码的configure命令查看FFmpeg所支持的音视频编码格式、文件封装格式与流媒体协议。对于FFmpeg不支持的格式,可以通过 configure --help 查看所需要的第三方外部库,然后通过增加对应的编译参数选项进行支持。如下图所示:支持的比较多,截图只是一部分

image.png

定制支持格式

如果需要自己配置FFmpeg支持一些格式,比如H264视频和AAC音频编码,可以调整配置如下:
./configure --enable-libx264 --enable-libfaac --enable-gpl --enable-nonfree
注意:
enable后面的库名要根据FFmpeg版本来,每个版本的名字不一样,最好通过configure --help确认下,名字不一致会报错。
如果你需要支持的库未安装是会进行错误提示:如下图

image.png

注意
从2016年初开始,FFmpeg自身的AAC编码器质量逐步好转,至2016年年底,libfaac已经从FFmpeg源代码中剔除。

关闭相应的模块

因为FFmpeg支持的编码格式、文件封装格式、流媒体协议比较多,因此编译出来的FFmpeg体积比较大,因此裁剪一些操作,一样可以通过configure --help查看,如下图:

image.png

./configure --disable-everything 此命令关闭所有的模块

FFmpeg的编码器支持

可以通过./configure --list-encoders参数查看,如下图:


上图不完整,只有部分,我们可以看出FFmpeg支持的编码器比较全面。包括AAC、H264、H265、MPEG4、PCM、FLV1等等

FFmpeg的解码器支持

可以通过./configure --list-decoders参数查看,如下图:

image.png

FFmpeg所支持的解码器模块decoders支持了MPEG4、H264、H265、MP3等

FFmpeg的封装支持

可以通过./configure --list-muxers参数查看,如下图:

image.png

FFmpeg支持生成裸流文件,如H264-5、AAC、PCM,也支持一些常规格式如MP3、FLV、M3U8等等

FFmpeg的解封装支持

可以通过./configure --list-demuxers参数查看,如下图:

image.png

FFmpeg的通信协议支持

可以通过./configure --list-protocols参数查看,如下图:

image.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.FFmepg编译环境及结构 下载FFmepg FFmpeg配置选项介绍 下载gas-preprocessor....
    Jackey_song阅读 6,844评论 2 2
  • 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_fi...
    XLAccount阅读 8,232评论 0 8
  • ### YUV颜色空间 视频是由一帧一帧的数据连接而成,而一帧视频数据其实就是一张图片。 yuv是一种图片储存格式...
    天使君阅读 8,908评论 0 4
  • 前言 如此强大的FFmpeg,能够实现视频采集、视频格式转化、视频截图、视频添加水印、视频切片、视频录制、视频推流...
    sillen阅读 10,760评论 2 45
  • 今天继续编辑《家长心语》,截止今日,共收到各班文章163页,其中种子班100页、阳光班21页、梦想班17页...
    朵朵朵朵雪中莲阅读 1,382评论 0 0

友情链接更多精彩内容