如何在Linux上安裝使用FFmpeg
ffmpeg: Hyper fast Audio and Video encoder 超快音視頻編碼器
ffplay: Simple media player 簡單媒體播放器
ffprobe: Simple multimedia streams analyzer簡單多媒體流分析器
一、安裝必要的依賴
在安裝FFmpeg之前,我們需要確保我們有一些必要的依賴項,以確保我們的系統(tǒng)可以正確地編譯和安裝FFmpeg。
安裝yasm,yasm是一個完全重寫的NASM匯編并且支持x86和AMD64指令集.
以下是我們需要安裝的依賴項:
二、下載FFmpeg源代碼
下載FFmpeg源代碼,你需要從FFmpeg的官方網(wǎng)站(https://www.ffmpeg.org/download.html)下載最新的穩(wěn)定版本。
你可以使用以下命令從命令行下載:
三、編譯和安裝FFmpeg
接下來,我們可以開始編譯和安裝我們的FFmpeg。
在編譯之前,你可以使用以下命令配置FFmpeg并啟用所需的選項:
上述選項允許你在FFmpeg中啟用各種編解碼器和過濾器,包括常見的音頻和視頻編解碼器。
在完成配置后,使用以下命令編譯和安裝FFmpeg:
四、測試FFmpeg
安裝完成后,我們可以在命令行中輸入以下命令來測試FFmpeg是否可以正常工作:
如果輸出了版本信息,那么你已經(jīng)成功地安裝了FFmpeg。
參數(shù)
FFmpeg可使用眾多參數(shù),參數(shù)內(nèi)容會根據(jù)ffmpeg版本而有差異,使用前建議先參考參數(shù)及編解碼器的敘述。此外,參數(shù)明細可用 ffmpeg -h 顯示;編解碼器名稱等明細可用 ffmpeg -formats 顯示。
下列為較常使用的參數(shù)。
主要參數(shù)
-i 設(shè)定輸入檔名。
-f 設(shè)定輸出格式。
-y 若輸出檔案已存在時則覆蓋檔案。
-fs 超過指定的檔案大小時則結(jié)束轉(zhuǎn)換。
-ss 從指定時間開始轉(zhuǎn)換。
-title 設(shè)定標題。
-timestamp 設(shè)定時間戳。
-vsync 增減Frame使影音同步。
影像參數(shù)
-b 設(shè)定影像流量,默認為200Kbit/秒。( 單位請參照下方注意事項 )
-r 設(shè)定FrameRate值,默認為25。
-s 設(shè)定畫面的寬與高。
-aspect 設(shè)定畫面的比例。
-vn 不處理影像,于僅針對聲音做處理時使用。
-vcodec 設(shè)定影像影像編解碼器,未設(shè)定時則使用與輸入檔案相同之編解碼器。
聲音參數(shù)
-ab 設(shè)定每Channel (最近的SVN 版為所有Channel的總合)的流量。( 單位 請參照下方注意事項 )
-ar 設(shè)定采樣率。
-ac 設(shè)定聲音的Channel數(shù)。
-acodec 設(shè)定聲音編解碼器,未設(shè)定時與影像相同,使用與輸入檔案相同之編解碼器。
-an 不處理聲音,于僅針對影像做處理時使用。
-vol 設(shè)定音量大小,256為標準音量。(要設(shè)定成兩倍音量時則輸入512,依此類推。)
五、使用FFmpeg轉(zhuǎn)換視頻格式
下面是一個使用FFmpeg將MP4格式的視頻文件轉(zhuǎn)換為AVI格式的視頻文件的簡單示例:
上面的命令將讀取名為“input.mp4”的文件,并使用名為“output.avi”的文件將其轉(zhuǎn)換為AVI格式。
六、使用FFmpeg裁剪、旋轉(zhuǎn)和縮放視頻
下面是一個使用FFmpeg裁剪、旋轉(zhuǎn)和縮放視頻的示例:
裁剪:使用crop過濾器
在上述命令中,"w"和"h"參數(shù)代表裁剪后視頻的寬度和高度,"x"和"y"參數(shù)代表裁剪的起始位置的坐標。
旋轉(zhuǎn):使用transpose過濾器
在上述命令中,"transpose"參數(shù)的值為1,表示將視頻向左旋轉(zhuǎn)90度。
縮放:使用scale過濾器
在上述命令中,"w"和"h"參數(shù)代表縮放后視頻的寬度和高度。
七、使用FFmpeg轉(zhuǎn)換音頻格式
下面是一個使用FFmpeg將MP3格式的音頻文件轉(zhuǎn)換為WAV格式的音頻文件的示例:
八、使用FFmpeg從視頻中提取音頻
下面是一個使用FFmpeg從MP4格式的視頻文件中提取音頻的示例:
在上述命令中,"-vn"選項表示不包括視頻,只包括音頻。"-acodec copy"選項表示音頻不需要重新編碼,而直接從源文件中復(fù)制。
九、使用FFmpeg在視頻中添加水印
下面是一個使用FFmpeg在MP4格式的視頻文件中添加水印的示例:
在上述命令中,"-i"選項表示輸入文件,"-filter_complex"選項表示使用復(fù)雜的過濾器來添加水印。"overlay"過濾器用于在視頻中添加水印,"x"和"y"參數(shù)用于指定水印的位置。