當前位置: 妍妍網 > 碼農

一分鐘教你如何利用Ffmpeg實作高效批次視訊壓縮與格式轉換!

2024-05-30碼農

在當今數位化時代,視訊無疑已成為卓越的傳播媒介。無論是快速學習各類技術、追劇娛樂,還是在社交媒體上分享生活,視訊都憑借其直觀、生動的特性贏得廣大使用者的青睞。

然而,由於不同平台、軟體或個人對視訊格式有著特定的要求,我們時常需要進行視訊格式的轉換。為了滿足這一需求,接下來,小編將為大家詳細介紹如何在命令列下使用Ffmpeg批次轉換視訊。

01

Ffmpeg是什麽

簡單來說, Ffmpeg 是一款開源的多媒體處理框架,以其高效、靈活和全面的功能,被譽為多媒體處理領域的「瑞士軍刀」。

Ffmpeg在視訊處理領域具有舉足輕重的地位,甚至許多收費的專業軟體,其核心技術也是基於Ffmpeg構建的。

02

Ffmpeg下載與安裝

Ffmpeg的下載地址:

https://github.com/BtbN/FFmpeg-Builds/releases

解壓後是三個檔,本文的主角就是ffmpeg.exe:

03

Ffmpeg套用

接著在ffmpeg.exe所在的資料夾下滑鼠右鍵開啟控制台:

壓縮視訊體積:輸入ffmpeg.exe -i .\demo.mp4 .\demo1.mp4。這條命令能在不影響視訊觀看體驗的情況下壓縮原來的視訊檔,使用的過程中,有些視訊能達到原來大小的1/8。

視訊格式轉換:ffmpeg.exe -i .\demo.flv .\demo1.mp4。mp4格式基本上是各大視訊平台的預設格式,這條命令是將flv轉化為mp4格式。其他格式的轉換按照這條命令樣版 ffmpeg.exe -i "原始檔" "輸出檔", 需要轉換什麽格式更改輸出檔的字尾就好。

ffmpeg.exe-i .\demo.mp4 .\demo.avimp4aviffmpeg.exe-i .\demo.mp4 .\demo.flvmp4flvffmpeg.exe-i .\demo.mp4 .\demo.wmvmp4wmv

一條命令轉換一個視訊,如果有多個視訊呢?AI是這麽說的:

復制貼上上述的程式碼,小小修改下:將ffmpeg改為.\ffmpeg.exe表示使用當前目錄的ffmpeg.exe,如果給ffmpeg.exe添加環境變量就不用改。

Get-ChildItem -Filter *.mp4 | ForEach-Object { .\ffmpeg.exe -i $_.FullName -c:v libx264 -c:a aac "$($_.FullName).avi" }

接著讓AI來精簡以上命令:

稍微修改下,正常執行:

Get-ChildItem -Filter *.mp4 | ForEach-Object { .\ffmpeg.exe -i $_.FullName "$($_.BaseName).avi" }

涉及到bat指令碼,首先要切換控制台,單擊這個向下的小三角,點選命令提示字元:

定位到ffmpeg.exe的位置,輸入命令:

for %f in (*.avi) do ffmpeg -i "%f" "%~nf.mp4"

成功批次地將avi轉換為mp4格式:

04

總結

  • ffmpeg.exe -i .\demo.mp4 .\demo1.mp4,壓縮視訊大小。

  • ffmpeg.exe -i .\demo.flv .\demo1.avi,視訊格式轉換。

  • for %f in (*.avi) do ffmpeg -i "%f" "%~nf.mp4", bat指令碼的批次視訊格式mp4的轉換

  • Get-ChildItem -Filter *.mp4 | ForEach-Object { .\ffmpeg.exe -i $_.FullName "$($_.BaseName).avi" }, powershell的批次視訊格式mp4的轉換。

  • 基於以上,透過利用AI能力可拓展更多ffmpeg的用法,如音訊提取、 音訊格式轉換、 智慧轉碼等,這些增強的功能將極大地提升使用者在不同場景下的套用體驗,歡迎使用ChatU體驗,平台地址: https://m.chatu.pro/