【緊急筆記】ffmpeg使用技巧

ffmpeg對各種視訊及音頻處理是不可繞開的存在,在此我需要記錄下它常用的命令。

轉格式

如把webm轉成mp4

ffmpeg -i input.webm -c:v libx264 -c:a aac output.mp4

如果想保持原始檔案的元數據:

ffmpeg -i input.webm -c:v libx264 -c:a aac -map_metadata 0 output.mp4

轉音頻

ffmpeg -i input.mp4 -vn -c:a mp3 -b:a 192k output.mp3

常用的比特率:

  • 語音或播客:64 kbps 或 96 kbps,檔案小,語音清晰。
  • 一般音樂:128 kbps 或 192 kbps,適合大多數場景。
  • 高品質音樂:256 kbps 或 320 kbps,適合高保真需求。

消音

使用 -an 會生成無聲的 MP4 檔案。如果只是想靜音但保留音頻軌(例如占位),可以改用 -c:a aac -vol 0(設置音量為 0),但這不常見。

縮放

-vf scale=1280:720

框選

-vf crop=iw-(iw%2):ih-(ih%2)

也可寫成-vf crop=width:height:x:y

旋轉

九十度:

-vf transpose=1

transpose可以為1、2、3。

任意角度:

-vf "rotate=45*PI/180"

時間區間

ffmpeg -i input.webm -ss 90 -t 60 -c:v copy -c:a copy output.mp4

或者用-to:

ffmpeg -i input.webm -ss 00:01:30 -to 00:02:30 -c:v libx264 -c:a aac output.mp4

合並

ffmpeg -i "concat:video1.mp4|video2.mp4" -c copy output.mp4

查看視訊元數據

ffprobe -v error -select_streams v:0 input.webm

進度

-progress pipe:1

特別注意

當使用了濾鏡-vf後,不能再用-c:v copy,須指定編碼器,例如:

ffmpeg -i input.webm -ss 00:01:30 -t 60 -vf "transpose=1,crop=iw-(iw%2):ih-(ih%2)" -c:v libx264 -an output.mp4

2 thoughts on “【緊急筆記】ffmpeg使用技巧”

Leave a Comment