FFmpeg常用命令

亦默亦風發表於2017-12-21

一.FFMpeg是什麼能做什麼:

        FFMpeg(Fast Forward Mpeg)是一個多媒體框架,它能夠解碼、編碼、轉碼、能夠播放幾乎任何格式的視訊(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等),它在window、Linux、Mac都可使用。FFmpeg官網:http://ffmpeg.org/,FFmpeg可以當做一個命令列工具來使用,也可以使用它的庫進行開發使用,FFmpeg都提供對應的下載地址,它如此強大而且是FFmpeg還是免費的,
FFmpeg功能強大,用它可以視訊資訊採集、視訊格式轉換、視訊截圖、給視訊加水印,從視訊檔案中提取音訊元件,將視訊轉換為動畫GIF,FFmpeg可以做到這一切,甚至更多

二.window下安裝FFmpeg

FFmpeg安裝非常方便,首先我到官網下載對應的包ffmpeg.zeranoe.com/builds/


FFMPEG windows版本分為3個版本:Static,Shared,Dev如上圖,Static,Shared可以直接在命令列中使用,他們的區別在於:Static裡面只有3個應用程式:ffmpeg.exe,ffplay.exe,ffprobe.exe,動態庫已經編譯到exe檔案中去了,Shared裡面除了3個應用程式ffmpeg.exe、ffplay.exe、ffprobe.exe之外,還有一些Dll,因此Shared裡面的exe體積相對小一點,他們在執行的時候,到相應的Dll中呼叫功能。
Dev版本是用於開發的,裡面包含了庫檔案xxx.lib以及標頭檔案xxx.h,這個版本不包含exe檔案。
這裡我自己下載的是Static版,下載完成後我們將壓縮包解壓在FFmpeg\ffmpeg-20170904-6cadbb1-win32-static\bin目下有三個exe檔案

ffmpeg是用於轉碼的應用程式,ffplay是用於播放的應用程式ffprobe是用於檢視檔案格式的應用程式,開啟系統命令列接面,切換到ffmpeg所在的目錄,就可以使用命令列啦

三.window下常見命令的使用

1.中視訊中擷取一張圖,這個還是很有用,譬如,要在電影中截一張圖當做宣傳或者縮圖之類的

ffmpeg -i input_file -y -f image2 -t 0.001 -s 720x480 output.jpg複製程式碼

-I filename 輸入檔案
-y 覆蓋輸出檔案
-f fmt(輸入/輸出)檔案格式
-t 持續時間(輸入/輸出)
當用作輸入選項(-i之前)時,限制從輸入檔案讀取資料的持續時間。
當用作輸出選項時,在其持續時間達到持續時間之後停止寫入輸出。
-s 設定圖片的大小
2.將視訊製作成動畫gif

ffmpeg -i input_file -vframes 10 -y -f gif output.gif複製程式碼

-vframes 指定輸出多少針
這把視訊的前10幀轉換成一gif
3.在視訊的指定位置擷取圖片

ffmpeg -i input_file -y -f mjpeg -ss 8 -t 0.001 -s 720x480 output.jpg複製程式碼

-ss position 搜尋到指定的時間
4.將視訊按照指定的幀數拆分成圖片

ffmpeg -i input.mp4 -f image2 -vf fps=fps=200 out%d.png複製程式碼

每秒200幀的方式將視訊進行截圖
5.視訊剪輯

ffmpeg -i input.mp4  -ss 0:1:30 -codec copy -t 20 output.mp4
ffmpeg -i input.mp4 -ss 0:1:30 -t 0:0:20 -codec copy -acoder copy output.avi複製程式碼

6.視訊轉碼

ffmpeg -i input.MOV -c:v libx264 filename.mp4複製程式碼

使用-v引數指定要用於輸出視訊的編碼格式,這是使用libx264對所有視訊流進行編碼
7.刪除視訊中音訊

ffmpeg -i video.mp4 -an mute-video.mp4複製程式碼

-an(輸出)禁用錄音
8.提取音訊

ffmpeg -i video.mp4 -vn -ab 256 audio.mp3複製程式碼

-vn從視訊中提取音訊部分,使用-ab開關將音訊儲存為256kbps的MP3音訊檔案
9.將圖片轉化為視訊

ffmpeg -f image2 -i out%4d.png -r 25 video.mp4複製程式碼

10.視訊新增水印

ffmpeg -i out.mp4 -i sxyx2008@163.com.gif -filter_complex overlay="(main_w/2)-(overlay_w/2):(main_h/2)-(overlay_h)/2" output.mp4複製程式碼

overlay 水印的位置
11.合併音訊和視訊檔案

ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:aac -strict experimental output.mp4複製程式碼

以上是一些常見的處理命令,更詳細的可以參考官方文件:www.ffmpeg.org/ffmpeg.html

參考:github.com/tonydeng/fm…

相關文章