如題,我們可以借助ffmpeg工具進行視頻的編輯。
ffmpeg是一種命令行視頻處理工具,支持對視頻的裁切、轉(zhuǎn)碼、抽取音頻、抽取視頻等操作。在Linux中使用也比較簡單。
可以到官網(wǎng)下載。
安裝
將下載后的壓縮包放到某一路徑下,本例中下載的版本是ffmpeg-4.1.3.tar.bz2。然后編譯安裝:
./configure --enable-shared --prefix=/usr/local/ffmpeg --enable-gpl --enable-libx264
make
make install
#配置中添加的參數(shù):--enable-libx264是使其支持h264編碼,以適應(yīng)瀏覽器支持的視頻編碼
安裝后,將其命令放到環(huán)境變量中:
vi /etc/ld.so.conf.d/ffmpeg.conf
添加如下內(nèi)容:
/usr/local/ffmpeg/bin/
/usr/local/bin
保存后,退出:
ldconfig
或者放到/etc/profile中也可以。
檢查版本:
ffmpeg -version
主要參數(shù)
- -i 設(shè)定輸入流
- -f 設(shè)定輸出格式
- -ss 開始時間
視頻參數(shù)
- -b 設(shè)定石林流量(碼率),默認為200kbit/s
- -r 設(shè)定幀速率,默認為25
- -s 設(shè)定畫面的寬與高
- -aspect 設(shè)定畫面的比例
- -vn 不處理視頻
- -vcodec 設(shè)定視頻編解碼器,未設(shè)定時則使用與輸入流相同的編解碼器
音頻參數(shù)
- -ar 設(shè)定采樣率
- -ac 設(shè)定聲音的Channel數(shù)
- -acodec 設(shè)定聲音編解碼器,未設(shè)定時則使用與輸入流相同的編解碼器
- -an 不處理音頻
常用例子
1. 視頻格式轉(zhuǎn)換
#將avi文件轉(zhuǎn)為pm4
ffmpeg -i input.avi output.mp4
#將視頻文件轉(zhuǎn)碼為h264編碼格式
ffmpeg -i input.mp4 -vcodec h264 output.mp4
#或者(-y參數(shù)表示覆蓋源文件)
ffmpeg -i input.mp4 -c:v libx264 -y output.mp4
2. 視頻裁切
# 從視頻的00:00:15開始,截取5秒鐘的視頻
# -ss表示開始切割的時間,-t表示要切多少
ffmpeg -ss 00:00:15 -t 00:00:05 -i input.mp4 -vcodec copy -acodec copy output.mp4
3. 提取音頻
ffmpeg -i input.mp4 -acodec copy -vn output.aac
# -vn不處理視頻
默認mp4的audio codec是aac,不管什么音頻,都可以轉(zhuǎn)為最常見的aac
4. 提取視頻
ffmpeg -i input.mp4 -vcodec copy -an output.mp4
# -an 不處理音頻
5. 將輸入的1920 * 1080縮小到960 * 540輸出
ffmpeg -i input.mp4 -vf scale=960:540 output.mp4
# 如果540不寫,寫成-1, 即950:-1,也是可以的,ffmpeg會通知縮放濾鏡在輸出時保持原視頻的寬高比。
6. 為視頻添加logo
可以將一個小圖標(biāo)(比如png)添加到視頻中:
ffmpeg -i input.mp4 -i logo.png -filter_complex overlay output.mp4
7. 抓取視頻的某些幀,存為jpeg圖片
ffmpeg -i input.mp4 -r 1 -q:v 2 -f image3 pic-%03d.jpeg
- -r 表示每一秒幾幀
- -q:v 表示存儲jpeg圖像質(zhì)量,一般2是高質(zhì)量。
以上命令,會每隔一秒寸一張圖片。還可以設(shè)置開始時間:
ffmpeg -i input.mp4 -ss 00:00:20 -t 10 -r 1 -q:v 2 -f image2 pic-%03d.jpeg
- -ss 表示開始時間
- -t 表示共要多少時間
-
Linux
+關(guān)注
關(guān)注
87文章
11212瀏覽量
208734 -
命令行
+關(guān)注
關(guān)注
0文章
77瀏覽量
10377 -
ffmpeg
+關(guān)注
關(guān)注
0文章
46瀏覽量
7372
發(fā)布評論請先 登錄
相關(guān)推薦
評論