【FFmpeg】開源且功能強大的影音處理框架
FFmpeg是一個自由軟體,可以執行音訊和視訊多種格式的錄影、轉檔、串流功能,市面上絕大多數的影音轉檔工具,相信都是由它為主體產生出來的。當初主要會認識它的原因主要是因為macOS上內建錄影功能,輸出的格式是mov檔,雖然畫質相當的好,但就是檔案太大了,而且也不像在Windows上有類似格式工廠的轉檔APP,加上有時需要簡單的影音合併,所以只有轉向CLI的方式去處理。現在就來記錄一下使用過的一些指令。
影片 ==> 影片
ffmpeg -i 1.mov 1.mp4 # 1.mov => 1.mp4
ffmpeg -i 1.mov -an 1.mp4 # 1.mov => 1.mp4 (No Audio)
ffmpeg -i 1.mov -vf scale=640:-2 1.mp4 # 1.mov => 1.gif (轉成640p)
ffmpeg -i 1.mov -c:v libx265 -c:a copy 1.hevc # 1.mov => h265
ffmpeg -i 1.mov -c:v libvpx-vp9 1.webm # 1.mov => webm
影片 ==> 圖片
ffmpeg -i 1.mov 1.gif # 1.mov => 1.gif
ffmpeg -i 1.mov -r 5 1.gif # 1.mov => 1.gif (5張/秒)
ffmpeg -i 1.mov -vf scale=640:-2 -r 5 1.gif # 1.mov => 1.gif (轉成640p + 5張/秒)
影音合併
ffmpeg -i input.mp4 -i input.aac -c copy -map 0:v:0 -map 1:a:0 output.mp4 # input.mp4 + input.aac = output.mp4
影音切割
ffmpeg -ss 00:01:00 -i input.mp4 -to 00:02:00 -c copy output.mp4
批次轉換
- 這裡的指令可以看一下之前「Bash的介紹」
#!/bin/bash
## macOS也可以用
for filename in *.mov; do
ffmpeg -i "$filename" -an "${filename%.*}.mp4";
done
# Windows也可以用
## mov ==> mp4
for /F "delims=" %i in ('dir /b *.mov') do ffmpeg -i "%i" "%~ni.mp4"
## mp4 ==> mp4
for /F "delims=" %i in ('dir /b *.mp4') do ffmpeg -i "%i" _"%i"