文件格式
我们经常看见的视频都是以.mp4 .flv等作为后缀名,这是视频的文件格式。
文件格式的作用是方便系统识别,并关联这些文件,好让相应的文件由相应的程序打开。
这些后缀名可以随便改,不会对文件有任何影响,如果打开出错的话再改回来就行。
封装格式
这些视频的后缀其实也叫视频的封装格式,简称视频格式。
封装: 后缀名(封装格式/文件格式)。所谓封装就是把编码器生成的多媒体文件,如视频,音频,字幕按照一定的标准混合封装在一起。
容器: 为多媒体内容提供索引。如果没有容器的话一个视频你只能从头看到尾,没有声音。容器标准由不同的公司制定,有些是兼容的,有些是要改变媒体的编码格式才能转换,一般情况下我们都是选择效率高,兼容性好的容器标准。下面是一些常见的容器标准。
RMVB:太封闭了,只能用来封装Real video格式的视频
MKV:最开放,几乎支持所有的音视频,但是体积太大了
AVI:有点老旧,已经不太适应最近的媒体文件了
现在比较流行的就是MP4和MOV
MOV:是苹果公司制定的,支持透明的视频
MP4:是当前最主流的视频格式,各种软硬件也都支持的
一般我们都是把其他格式的视频文件转换成mp4的视频文件
ffmpeg -i input.mov outout.mp4
【-i】 i是input的缩写,这个指令是指定输入文件的
这句指令就是指:用ffmpeg把input.mov转换成output.mp4
编码
编码:其实就是压缩,就类似于zip/rar。是为了缩小文件体积的,便于传输和存储。
ffmpeg支持很多的编码格式。如果要查看的话就在命令行输入:ffmpeg -codecs(查看编解码器)
常见的几种编码:
mp4封装:H264视频编码+AAC音频编码
WebM封装:VP8视频编码+Vorbis音频编码(谷歌的编码)
OGG封装:Theora视频编码+Vorbis音频编码(开元的)