ffmpeg基礎(chǔ)玩法
三大結(jié)構(gòu)
ffmpeg:核心
ffprobe:查看參數(shù)
ffplay:播放器
查詢版本
ffmpeg -version
幫助
ffmpeg -h
查看編解碼器
ffmpeg -codecs
常見封裝格式
MP4:H264視頻編碼+ACC音頻編碼
WebM:VP8視頻編碼+Vorbis音頻編碼
OGG:Theora視頻編碼+Vorbis音頻編碼
ffmpeg格式
ffmpeg -i 輸入文件 [參數(shù)] 輸出文件
[參數(shù)]:可選項
音頻參數(shù)
-acodec libmp3lame:(Audio Coder Decoder )音頻編碼解碼器
-ar 44100/48000:音頻采樣率,默認:原音頻采樣率(KHz)
-ab 320k:比特率,默認:128K(kbps)
-ac 2:聲道數(shù),1:單聲道,2:立體聲,默認:原音頻聲道
-vol:音量,默認:256(100%音量)
-an:禁用音頻
音頻轉(zhuǎn)換
ffmpeg -i input.flac -acodec libmp3lame -ar 44100 -ab 320k -ac 2 output.mp3
視頻參數(shù)
-s 1920x1080:輸出視頻尺寸
-pix_fmt yuv420p:(pixel format)顏色空間
-vcodec libx264:(Video Coder Decoder)視頻編碼解碼器
-preset:編碼器預(yù)設(shè),默認:medium
veryfast(錄屏)、medium、veryslow(壓制)
精度越高,算法越慢
-r 30/60:幀率
-b:a 128k:比特率(等同于:-ab 128k)
-vn:禁用視頻
碼率控制模式
-crf:(Constant Rate Factor)恒定速率因子模式,默認:23
范圍:0到51,數(shù)字越小畫質(zhì)越好。
0表示無損,推薦:8-28
-qp:(Constant Quantizer)恒定量化器模式
范圍:0到51,數(shù)字越小畫質(zhì)越好。
0表示無損
-b:(bitrate)固定目標(biāo)碼率模式
比特率
vbr:(Variable Bit Rate)動態(tài)比特率
abr:(Average Bit Rate)平均比特率
cbr:(Constant Bit Rate)恒定比特率
視頻轉(zhuǎn)換
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:截取的開始到結(jié)束時間
-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:動態(tài)起始時間
-s 640x320:動態(tài)輸出尺寸