如題,我們可以借助ffmpeg工具進行視頻的編輯。
ffmpeg是一種命令行視頻處理工具,支持對視頻的裁切、轉碼、抽取音頻、抽取視頻等操作。在Linux中使用也比較簡單。
可以到官網下載。
安裝
將下載后的壓縮包放到某一路徑下,本例中下載的版本是ffmpeg-4.1.3.tar.bz2。然后編譯安裝:
./configure --enable-shared --prefix=/usr/local/ffmpeg --enable-gpl --enable-libx264
make
make install
#配置中添加的參數:--enable-libx264是使其支持h264編碼,以適應瀏覽器支持的視頻編碼
安裝后,將其命令放到環境變量中:
vi /etc/ld.so.conf.d/ffmpeg.conf
添加如下內容:
/usr/local/ffmpeg/bin/
/usr/local/bin
保存后,退出:
ldconfig
或者放到/etc/profile中也可以。
檢查版本:
ffmpeg -version
主要參數
- -i 設定輸入流
- -f 設定輸出格式
- -ss 開始時間
視頻參數
- -b 設定石林流量(碼率),默認為200kbit/s
- -r 設定幀速率,默認為25
- -s 設定畫面的寬與高
- -aspect 設定畫面的比例
- -vn 不處理視頻
- -vcodec 設定視頻編解碼器,未設定時則使用與輸入流相同的編解碼器
音頻參數
- -ar 設定采樣率
- -ac 設定聲音的Channel數
- -acodec 設定聲音編解碼器,未設定時則使用與輸入流相同的編解碼器
- -an 不處理音頻
常用例子
1. 視頻格式轉換
#將avi文件轉為pm4
ffmpeg -i input.avi output.mp4
#將視頻文件轉碼為h264編碼格式
ffmpeg -i input.mp4 -vcodec h264 output.mp4
#或者(-y參數表示覆蓋源文件)
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,不管什么音頻,都可以轉為最常見的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
可以將一個小圖標(比如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圖像質量,一般2是高質量。
以上命令,會每隔一秒寸一張圖片。還可以設置開始時間:
ffmpeg -i input.mp4 -ss 00:00:20 -t 10 -r 1 -q:v 2 -f image2 pic-%03d.jpeg
- -ss 表示開始時間
- -t 表示共要多少時間
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
Linux
+關注
關注
87文章
11351瀏覽量
210497 -
命令行
+關注
關注
0文章
78瀏覽量
10423 -
ffmpeg
+關注
關注
0文章
46瀏覽量
7434
發布評論請先 登錄
相關推薦
用命令行管理IIS的FTP站點
用命令行管理IIS的FTP站點
為了實現在Internet中快速共享網絡資源的目的,很多用戶使用IIS服務器內置的FTP組件架設FTP服務器。
發表于 01-30 17:25
?964次閱讀
Linux圖形界面的原理與構成和Linux命令行和vi編輯器的使用手冊
本文檔的主要內容詳細介紹的是Linux基礎教案主要內容是:(1) 了解Linux圖形界面的原理與構成;(2)掌握Linux命令行操作,包括:命令行
發表于 10-16 14:49
?6次下載
![<b class='flag-5'>Linux</b>圖形界面的原理與構成和<b class='flag-5'>Linux</b><b class='flag-5'>命令行</b>和vi<b class='flag-5'>編輯</b>器的使用手冊](https://file.elecfans.com/web1/M00/68/91/pIYBAFvFifOAPuvrAAAfym3hg1M413.png)
Linux 命令行教程好書推薦
今天跟大家推薦個 Linux 命令行教程:《The Linux Command Line》,中文譯名:《Linux 命令行大全》。 該書作者
如何使用命令行在Linux中查找文件?
對于Linux新用戶來說,在Linux中查找文件可能有點困難。但是,在適當的指導下,任何人都可以創建文件快捷方式或找到其Linux系統中有多少文件。 我們必須使
如何在Linux命令行中運行Python腳本
Python 是一種高級編程語言,被廣泛應用于數據科學、機器學習、Web 開發等領域。在 Linux 操作系統中,Python 是一個默認安裝的解釋器,用戶可以通過命令行界面(CLI)來運行
linux虛擬機怎么調出命令行
在Linux虛擬機中調出命令行界面,可以通過以下步驟實現: 打開虛擬機,進入到Linux系統。 在桌面或應用菜單中找到終端或命令行圖標,點擊
linux命令行運行步驟
運行Linux命令行涉及以下步驟: 打開終端 在Linux系統中,打開命令行界面的方式有多種,最常見的是打開終端應用程序。可以在應用程序菜單
總結linux命令行的主要用法
Linux命令行是一種在Linux操作系統中通過文本界面來執行指令和管理系統的方式。它提供了豐富的功能和靈活性,幫助用戶完成各種任務。本文將詳細介紹
eclipse怎么使用命令行
。JDK是運行Java程序所必需的環境,而Eclipse則是一個基于Java開發的IDE。在確保安裝完畢后,我們可以通過以下步驟來在命令行中
評論