ubuntu使用FFmpeg做音頻、視頻轉碼和轉換操作


  1. 安裝ffmpegsudo apt-get install ffmpeg

ffmpeg官網: https://www.ostechnix.com/install-ffmpeg-linux/

  1. ffmpeg命令的典型語句:
ffmpeg [全局選項] {[輸入文件選項] -i 輸入_url_地址} ...
 {[輸出文件選項] 輸出_url_地址} ...
  1. 常用命令

    1. 獲取音頻、視頻文件信息

      ffmpeg -i video.mp4ffmpeg -i video.mp4 -hide_banner

    2. 轉換視頻格式

      ffmpeg -i video.mp4 video.avi

      如果你想維持你的源視頻文件的質量,使用 -qscale 0 參數:

      ffmpeg -i input.webm -qscale 0 output.mp4

      檢查 FFmpeg 的支持格式的列表,運行:

      ffmpeg -formats

    3. 將視頻轉成音頻

      ffmpeg -i input.mp4 -vn output.mp3

      對輸出文件使用各種各樣的音頻轉換編碼選項,如:

      ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -ab 320 -f mp3 output.mp3

      說明

      -vn 表面我們已經在輸出文件中禁止視頻錄制

      -ar 設置輸出文件的音頻頻率 通常是22050HZ 44100HZ 48000HZ

      -ac 設置音頻通道的數目

      -ab 表明音頻比特率

      -f 輸出文件格式

    4. 更改視頻文件的分辨率

      設置視頻的分辨率為1280*720

      ffmpeg -i input.mp4 -filter:v scale=1280:720 -c:a copy output.mp4

      ffmpeg -i input.mp4 -s 1280x720 -c:a copy output.mp4

    5. 壓縮視頻文件

      ffmpeg -i input.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 output.mp4

      減小視頻文件的大小,視頻質量會損失。如 24 太有侵略性,可以降低 -crf 值到或更低值。

      你也可以通過下面的選項來轉換編碼音頻降低比特率,使其有立體聲感,從而減小大小。

      -ac 2 -c:a aac -strict -2 -b:a 128k

    6. 壓縮音頻文件,如: 將文件壓縮為128kbpsffmpeg -i input.mp3 -ab 128 output.mp3

      音頻的比特率列表有:

      • 96kbps
      • 112kbps
      • 128kbps
      • 160kbps
      • 192kbps
      • 256kbps
      • 320kbps
    7. 去掉視頻中的聲音

      ffmpeg -i input.mp4 -an output.mp4

      -an表示沒有音頻錄制

    8. 獲取視頻文件中的音頻,命令轉換所給定媒體文件為音頻文件

    ffmpeg -i input.mp4 -vn output.mp3

    或 使用-ab指定輸出文件的比特率

    ffmpeg -i input.mp4 -vn -ab 320 output.mp3

    1. 從視頻中提前圖像,從一個視頻文件中創建一個相冊.

      ffmpeg -i input.mp4 -r 1 -f image2 image-%2d.png

      說明:

      -r 設置幀速度。即,每秒提取幀到圖像的數字。默認值是 25。

      -f 表示輸出格式,即,在我們的實例中是圖像。

      image-%2d.png 表明我們如何想命名提取的圖像。在這個實例中,命名應該像這樣image-01.png、image-02.png、image-03.png 等等開始。如果你使用 %3d,那么圖像的命名像 image-001.png、image-002.png 等等開始。

    2. 裁剪視頻

      ffmpeg -i input.mp4 -filter:v "crop=w:h:x:y" output.mp4

      說明:

      input.mp4 源視頻文件。

      filter:v 表示視頻過濾器。

      crop 表示裁剪過濾器。

      w 我們想自源視頻中裁剪的矩形的寬度。

      h 矩形的高度。

      x 我們想自源視頻中裁剪的矩形的 x 坐標 。

      y 矩形的 y 坐標。

      比如說你想要一個來自視頻的位置 (200,150),且具有 640 像素寬度和 480 像素高度的視頻,命令應該是:

      ffmpeg -i input.mp4 -filter:v "crop=640:480:200:150" output.mp4

    3. 轉換一個視頻的具體部分

      有時,你可能想僅轉換視頻文件的一個具體的部分到不同的格式。以示例說明,下面的命令將轉換所給定視頻input.mp4 文件的開始 10 秒到視頻 .avi 格式。

      ffmpeg -i input.mp4 -t 10 output.avi

      在這里,我們以秒具體說明時間。此外,以 hh.mm.ss 格式具體說明時間也是可以的。

    4. 設置視頻的屏幕高寬比

      ffmpeg -i input.mp4 -aspect 16:9 output.mp4

      通常使用的高寬比:

      • 16:9
      • 4:3
      • 16:10
      • 5:4
      • 2:21:1
      • 2:35:1
      • 2:39:1
    5. 根據開始和結束時間裁剪一段視頻文件

      ffmpeg -i input.mp4 -ss 00:00:50 -codec copy -t 50 output.mp4

      -s 表示視頻剪輯的開始時間。在我們的示例中,開始時間是第 50 秒。

      -t 表示總的持續時間。

      ffmpeg -i audio.mp3 -ss 00:01:54 -to 00:06:53 -c copy output.mp3

原文來自: https://zhuanlan.zhihu.com/p/67878761


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM