ffmpeg基础玩法
三大结构
ffmpeg:核心
ffprobe:查看参数
ffplay:播放器
查询版本
ffmpeg -version
帮助
ffmpeg -h
查看编解码器
ffmpeg -codecs
常见封装格式
MP4:H264视频编码+ACC音频编码
WebM:VP8视频编码+Vorbis音频编码
OGG:Theora视频编码+Vorbis音频编码
ffmpeg格式
ffmpeg -i 输入文件 [参数] 输出文件
[参数]:可选项
音频参数
-acodec libmp3lame:(Audio Coder Decoder )音频编码解码器
-ar 44100/48000:音频采样率,默认:原音频采样率(KHz)
-ab 320k:比特率,默认:128K(kbps)
-ac 2:声道数,1:单声道,2:立体声,默认:原音频声道
-vol:音量,默认:256(100%音量)
-an:禁用音频
音频转换
ffmpeg -i input.flac -acodec libmp3lame -ar 44100 -ab 320k -ac 2 output.mp3
视频参数
-s 1920x1080:输出视频尺寸
-pix_fmt yuv420p:(pixel format)颜色空间
-vcodec libx264:(Video Coder Decoder)视频编码解码器
-preset:编码器预设,默认:medium
veryfast(录屏)、medium、veryslow(压制)
精度越高,算法越慢
-r 30/60:帧率
-b:a 128k:比特率(等同于:-ab 128k)
-vn:禁用视频
码率控制模式
-crf:(Constant Rate Factor)恒定速率因子模式,默认:23
范围:0到51,数字越小画质越好。
0表示无损,推荐:8-28
-qp:(Constant Quantizer)恒定量化器模式
范围:0到51,数字越小画质越好。
0表示无损
-b:(bitrate)固定目标码率模式
比特率
vbr:(Variable Bit Rate)动态比特率
abr:(Average Bit Rate)平均比特率
cbr:(Constant Bit Rate)恒定比特率
视频转换
ffmpeg -i input.mkv -vcodec copy -acodec copy output.mp4
或者
ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
无损压缩:(快速编码)
ffmpeg -i input.mkv -vcodec libx264 -preset ultrafast -qp 0 output.mp4
无损压缩:(高压缩比)
ffmpeg -i input.mkv -vcodec libx264 -preset veryslow -qp 0 output.mp4
提取视频
ffmpeg -i input.mp4 -vcodec copy -an output.mp4
提取音频
ffmpeg -i input.mp4 -acodec copy -vn output.m4a
多音频提取
ffmpeg -i input.mp4 -acodec copy -vn -map 0:3 output.m4a
-map 0:3:指定提取音频的轨道
截取某一段音频
ffmpeg -i input.mp3 -ss 00:01:00 -to 00:01:10 -acodec copy output.mp3
-ss 00:01:00 -to 00:01:10:截取的开始到结束时间
-ss 00:01:00 -t 10:表示01:00开始截取10秒(截取时长)
合并音视频
ffmpeg -i input.mp4 -i input.mp3 -c copy output.mp4
合并多个视频
ffmpeg -i "concat:1.mp4|2.mp4|3.mp4" -c copy output.mp4
"concat:1.mp4|2.mp4|3.mp4":多个视频之间用(|)隔开
加水印
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=20:20" output.mp4
"overlay=20:20":水印位置(以左上角为参照)
视频截图
ffmpeg -i input.mp4 -ss 5 -vframes 1 output.jpg
-ss 5 -vframes 1:表示截取第5秒第一帧的画面
动图
ffmpeg -i input.mp4 -ss 00:10:00 -to 00:10:10 -s 640x320 -r 15 output.gif
-ss 00:10:00 -to 00:10:10:动态起始时间
-s 640x320:动态输出尺寸