blueyi's notes

Follow Excellence,Success will chase you!

0%

FFmpeg支持的压缩格式和编解码格式

FFmpeg支持大量的音视频压缩格式和编解码格式,通常大家所说的视频格式(format)就可以理解为压缩格式(container)或者混流格式(Muxing),例如avimp4mkv等,它们相当于是一个容器,可以将视频与音频数据包装在一起,并让它们能够按照指定的同步方式输出。
编、解码格式(codec)也就是所谓的视频祼流格式(raw bitstream),视频编码格式也很多,现在使用最多的就是H.264,当然H.265要逐渐引领潮流了。其他的编码格式还有很多,例如MPEG-2MEPG-4 Part 2MPEG-4 Part 10
PS:有人的场合切勿尝试百度搜索什么是视频祼流,万恶的百度,可以google

下面查看你编译的FFMPEG所支持的Formats和codecs

Format(muxer和demuxer)相关的命令

列出所有format

1
ffmpeg -formats

输出的格式很多,在格式的前面会标有EDDE字样,并且最前面的2行内容为:

1
2
3
File formats:
D. = Demuxing supported
.E = Muxing supported

表示ffmpeg所支持的相应解析格式的编码还是解码,注意这里所说的编码和解码分别是指混流和解析混流。因为视频中可以包含多种流(steam)类型,例如视频、音频、字幕等。

查看指定format的混流格式的详细信息

1
ffmpeg -h muxer=mp4

查看指定format的解混流格式的详细信息

1
ffmpeg -h demuxer=mov

Codec(encoder和decoder)相关命令

列出所有支持的编解码格式

1
ffmpeg -codecs

同样所有格式前面都会有相应的字母来表示它的作用,如下:

1
2
3
4
5
6
7
8
9
Codecs:
D..... = Decoding supported
.E.... = Encoding supported
..V... = Video codec
..A... = Audio codec
..S... = Subtitle codec
...I.. = Intra frame-only codec
....L. = Lossy compression
.....S = Lossless compression

列出所有支持编码格式

1
ffmpeg -encoders

列出所有支持解码格式

1
ffmpeg -decoders

显示指定编码格式的详细信息

1
ffmpeg -h encoder=mpeg4

显示指定解码格式的详细信息

1
ffmpeg -h decoder=aac

参考:
1.What is a Codec (e.g. DivX?), and how does it differ from a File Format (e.g. MPG)?
2.What are all codecs supported by FFmpeg?

3.Supported File Formats, Codecs or Features

Welcome to my other publishing channels