0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux中如何使用命令行編輯視頻

CHANBAEK ? 來源:TIAP ? 作者: GLIU ? 2022-12-09 17:38 ? 次閱讀

如題,我們可以借助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 表示共要多少時間
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11212

    瀏覽量

    208734
  • 命令行
    +關(guān)注

    關(guān)注

    0

    文章

    77

    瀏覽量

    10377
  • ffmpeg
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

    7372
收藏 人收藏

    評論

    相關(guān)推薦

    在STM32實現(xiàn)命令行

    工作的開發(fā)環(huán)境都是基于linux命令行交互,作為命令行的重度使用者,玩單片機也要使用命令行工具,百度了一些
    發(fā)表于 12-09 11:32 ?2239次閱讀

    Linux命令行工具

    Linux 新手往往對命令行心存畏懼。部分原因是因為需要記憶大量的命令,畢竟掌握命令是高效使用命令行的前提不幸的是,學(xué)習(xí)這些
    發(fā)表于 07-25 08:10

    caxa命令行的應(yīng)用

    caxa命令行的應(yīng)用 命令行對于大多用戶來說往往只是輸入數(shù)據(jù)的作用,但是其中的奧妙還有很多,下面就給大家
    發(fā)表于 10-18 18:18 ?2276次閱讀

    用命令行管理IIS的FTP站點

    用命令行管理IIS的FTP站點   為了實現(xiàn)在Internet快速共享網(wǎng)絡(luò)資源的目的,很多用戶使用IIS服務(wù)器內(nèi)置的FTP組件架設(shè)FTP服務(wù)器。
    發(fā)表于 01-30 17:25 ?943次閱讀

    Linux圖形界面的原理與構(gòu)成和Linux命令行和vi編輯器的使用手冊

    本文檔的主要內(nèi)容詳細介紹的是Linux基礎(chǔ)教案主要內(nèi)容是:(1) 了解Linux圖形界面的原理與構(gòu)成;(2)掌握Linux命令行操作,包括:命令行
    發(fā)表于 10-16 14:49 ?6次下載
    <b class='flag-5'>Linux</b>圖形界面的原理與構(gòu)成和<b class='flag-5'>Linux</b><b class='flag-5'>命令行</b>和vi<b class='flag-5'>編輯</b>器的使用手冊

    Linux 命令行教程好書推薦

    今天跟大家推薦個 Linux 命令行教程:《The Linux Command Line》,中文譯名:《Linux 命令行大全》。 該書作者
    的頭像 發(fā)表于 02-14 09:25 ?1440次閱讀

    Linux命令行與shell腳本編寫

    Linux命令行與shell腳本編寫
    發(fā)表于 01-11 16:50 ?4次下載

    如何使用命令行Linux查找文件?

    對于Linux新用戶來說,在Linux查找文件可能有點困難。但是,在適當(dāng)?shù)闹笇?dǎo)下,任何人都可以創(chuàng)建文件快捷方式或找到其Linux系統(tǒng)中有多少文件。 我們必須使
    的頭像 發(fā)表于 03-23 14:55 ?4174次閱讀

    如何在Linux命令行運行Python腳本

    Python 是一種高級編程語言,被廣泛應(yīng)用于數(shù)據(jù)科學(xué)、機器學(xué)習(xí)、Web 開發(fā)等領(lǐng)域。在 Linux 操作系統(tǒng),Python 是一個默認安裝的解釋器,用戶可以通過命令行界面(CLI)來運行
    的頭像 發(fā)表于 05-12 14:49 ?1644次閱讀

    linux命令行與shell編程實戰(zhàn)

    Linux命令行與Shell編程實戰(zhàn)主要涉及以下內(nèi)容: Linux命令行基礎(chǔ):學(xué)習(xí)Linux命令行
    的頭像 發(fā)表于 11-08 10:57 ?715次閱讀

    linux虛擬機怎么調(diào)出命令行

    Linux虛擬機調(diào)出命令行界面,可以通過以下步驟實現(xiàn): 打開虛擬機,進入到Linux系統(tǒng)。 在桌面或應(yīng)用菜單中找到終端或命令行圖標(biāo),點擊
    的頭像 發(fā)表于 11-08 11:28 ?2949次閱讀

    linux切換到命令行模式

    Linux,可以通過以下步驟切換到命令行模式: 打開終端。可以在應(yīng)用菜單中找到終端或命令行終端。 在終端輸入
    的頭像 發(fā)表于 11-13 16:47 ?1696次閱讀

    linux命令行運行步驟

    運行Linux命令行涉及以下步驟: 打開終端 在Linux系統(tǒng),打開命令行界面的方式有多種,最常見的是打開終端應(yīng)用程序??梢栽趹?yīng)用程序菜單
    的頭像 發(fā)表于 11-17 10:18 ?736次閱讀

    總結(jié)linux命令行的主要用法

    Linux命令行是一種在Linux操作系統(tǒng)通過文本界面來執(zhí)行指令和管理系統(tǒng)的方式。它提供了豐富的功能和靈活性,幫助用戶完成各種任務(wù)。本文將詳細介紹
    的頭像 發(fā)表于 11-17 10:19 ?606次閱讀

    eclipse怎么使用命令行

    。JDK是運行Java程序所必需的環(huán)境,而Eclipse則是一個基于Java開發(fā)的IDE。在確保安裝完畢后,我們可以通過以下步驟來在命令行
    的頭像 發(fā)表于 12-06 11:26 ?2359次閱讀