目录
AVFormat
封装了大多数媒体格式:如MP4、FLV等文件格式,RTMP、RTSP、MMS、HLS等网络协议。
AVCodec
支持常见编解码格式:MPEG4、AAC等。支持第三方:
AVFilter
通用滤镜处理框架。可以有多个输入和多个输出。
ffmpeg -i 1.jpg -vf "split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip];[main][flip] overlay=0:H/2" 2.jpg
说明:
AVDevice
AVUtil
swresample
音频转换计算模块
swscale
视频图像转换计算模块
ffmpeg -i 1.mp4 2.avi
-i 参数将1.mp4作为输入源
mp4和avi是两种文件封装格式,但不是后缀名就可以决定的。
ffmpeg -i 1.mp4 -f avi 2.dat
-f进行约束,指定了输出文件的容器格式,其过程和上一个命令一样,仅仅输出的文件名不同。
可以通过下面的命令查看默认支持格式
ffmpeg -formats
查看支持的编解码情况
ffmpeg -codecs
ffmpeg -encoders
ffmpeg -decoders
Decoders:
V..... = Video
A..... = Audio
S..... = Subtitle
.F.... = Frame-level multithreading
..S... = Slice-level multithreading
...X.. = Codec is experimental
....B. = Supports draw_horiz_band
.....D = Supports direct rendering method 1
输出信息的第一列包含6个字段:
查看支持哪些滤镜
ffmpeg -filters
查看flv解封装器的参数支持
ffmpeg -h demuxer=flv
查看H.264的编码器的参数支持
ffmpeg -h encoder=h264
查看过滤器的参数支持
ffmpeg -h filter=colorkey
这个一般我们用来做测试工具
ffprobe -show_streams 1.mp4
附加一个小例子
ffmpeg -i 2.avi -vcodec mpeg4 -b:v 200k -r 15 -an 15.mp4
说明:
参数b为音频和视频的码率,可以认为是两者加起来的码率。默认200kbit/s
可以工具b:v设置视频码率,b:a设置音频码率
参数r为视频帧率fps
参数an,转码后的文件不包括音频
改变分辨率
ffmpeg -i 1.mp4 -vf scale=320:240 2.mp4
手机扫一扫
移动阅读更方便
你可能感兴趣的文章