ffmpeg常用指令(不定時更新)
指定影片的bitrate,以800 kbps為例
ffmpeg -i input.mp4 -b 800k output.mp4
指定影片的frame rate,以30 fps為例
ffmpeg -i input.mp4 -r 30 output.mp4
使用特定codec進行轉檔,以H.265為例
ffmpeg -i input.mp4 -vcodec libx265 output.mp4
將影片製作為gif動畫
ffmpeg -i input.mp4 -filter_complex "split[s0][s1];[s0]palettegen=stats_mode=single:transparency_color=000000[p];[s1][p]paletteuse=new=1:alpha_threshold=10" output.gif
裁切影片-ss是開始時間,-to是結束時間
或-t 輸入自開始時間的時長
ffmpeg -i input.mp4 -ss mm:ss -to mm:ss output.mp4 ffmpeg -i input.mp4 -ss mm:ss -t mm:ss output.mp4
變更解析度,例如輸入影像為2K,輸出以1080p為例
ffmpeg -i input.mp4 -vf scale=-1:-1080 output.mp4
影片拼接,1.mp4、2.mp4、3.mp4,拼接合併為一個檔案output.mp4
echo 'file input1.mp4' >> f.txt #將要合併的檔案依序加入文字檔 echo 'file input2.mp4' >> f.txt echo 'file input3.mp4' >> f.txt ffmpeg -f concat -i f.txt -c copy output.mp4 #不改變編碼器(速度快) ffmpeg -f concat -i f.txt -vcodec libx265 output.mp4 #重新編碼為265
影片拼接,如果檔案frame rate等格式不一時,就要用filter_complex
ffmpeg -i input1.mp4 -i input2.mp4 -i input3.mp4 -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a]concat=n=3:v=1:a=1[v][a]" -map "[v]" -map "[a]" -vcodec libx265 -r 59.94 output.mp4
留言
張貼留言