在mac系統下ffmpeg的安裝方法和音頻轉碼/視頻轉碼流程

字號+ 編輯: 国内TP粉 修訂: 种花家 來源: 简书 2024-09-25 我要說兩句(0)

網上有很多工具是圖形化界面適合小白,如果你是玩蘋果系列終耑的肯定不太合適了。這裡有一套綜合教程,專門記錄蘋果mac系統下如何轉碼和提取音頻的,希望你喜歡。

先從在mac系統中安裝ffmpeg開始說起。我們通過第三方工具homebrew開始安裝ffmpeg比較方便。

一、前提:安裝homebrew

-homebrew 是Mac平台的一個包管理工具,提供了許多Mac下沒有的Linux工具等,而且安裝過程很簡單。

二、安裝過程

查看當前電腦是否安裝有homebrew

brew

若沒有安裝,在終耑輸入下面的命令安裝homebrew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

國内gitee安裝homebrew

/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"

清理homebrew:

brew cleanup

二、通過homebrew安裝FFmpeg

這裡要多說一句, 爲什麽推薦用homebrew去安裝, 而不是自己手動搞? 筆者手下有個運維曾經在某部落格上搜索安裝h265的編碼器文档, 折騰了一天,結果編譯出來的視頻文档, 全部花瓶。說實話還是homebrew香一些。

使用homebrew安裝ffmpeg插件的命令如下:

brew install ffmpeg

查看安裝ffmpeg的信息

brew info ffmpeg

如果看到有綠色對號✅的代表支持這種庫,紅色叉子代表不支持。

查看安裝ffmpeg的信息

更新ffmpeg

brew update

或者

brew upgrade ffmpeg

安裝某一個特定的庫如下格式:

brew install [FORMULA...]

例如:安裝openssl 庫輸入以下命令:

brew install openssl

安裝某一個特定的庫

卸載某個特定的庫如下格式:

brew uninstall [FORMULA...]

例如:卸載openssl庫輸入以下命令:

brew uninstall openssl

三、多媒體音頻視頻格式轉換姿勢

0a39041a9fb0aa038de3fb00b7c05793.jpeg

說到這裡重點來了,我不是舞扇豬頭高曉松,沒那麽多胡說廢話,直接看本章代碼命令樣例就明白。

視頻格式/容器轉換

比如你想把一個avi文档,想轉爲mp4。輸入:

ffmpeg -i 原片.avi 目標文档名.mp4

或者想把mp4轉成ts格式的

ffmpeg -i 原片.mp4 目標文档名.ts

改變視頻的分辨率

改變視頻的碼率很簡單了。一個-s參數搞定, 例如

ffmpeg -i 原片.mp4 -s 1920x1080 目標文档名.mp4

如果發現有個-s參數後面竟然是vga, 例如, 那麽用的其實是別名, 舉例說明:

ffmpeg -i 原片.mp4 -s vga 目標文档名.mp4

其實就等價於

ffmpeg -i 原片.mp4 -s 640x480 目標文档名.mp4

改變視頻的碼率

改變碼率後, 視頻的播放質量和大小會有顯著變化。其參數爲-b:v  其中:v的意思就是特指改變視頻的碼率, 而不是音頻的碼率。

比如網上常用的2.1M的碼率和1.5M的碼率, 我們想把一個視頻碼率限定爲1.5M怎麽辦?

ffmpeg -i 原片.mp4 -b:v 1.5M 目標文档名.mp4

ffmpeg改變fps幀率

所謂的fps就是frame per second多少多少幀畫面每秒。如果大家接觸過電影基本原理就知道,其實視頻畫面就是由多張快速變換的靜態圖片曡上去的,幀率越低,畫面流暢性越低,但是文档會被壓縮的很小。

這裡需要用到參數-r後面緊跟著一個值, 例如我想把某視頻改成25幀

ffmpeg -i 原片.mp4 -r 25 目標文档名.mp4

提取音頻軌道信息

比如我有一個“曉松奇談”,可是我不想看到他的臉,我只想聽聲音, 捷運上可以聽,咋辦?

ffmpeg -i 說說國内的假洋鬼子.mp4 -acodec copy -vn output.aac

上面的命令,默認mp4的audio codec是aac,如果不確定,咱可以暴力一點,不管什麽音頻,都轉爲最常見的aac。

ffmpeg -i 奇譚怪論均爲博人眼球.mp4 -acodec aac -vn output.aac

單獨提取視頻

把某個視頻文档中的視頻提取出來,不要聲音

ffmpeg -i input.mp4 -vcodec copy -an output.mp4

ffmpeg的視頻剪切能力

經常要測試視頻,但是只需要測幾秒鍾,可是視頻卻有幾個G?這個時候有人會說final cut pro先導進去如何如何,其實你用命令行指定了時間長度就可以切的。

下面的命令,就可以從時間爲00:00:15開始,截取5秒視頻。

ffmpeg -ss 00:00:15 -t 00:00:05 -i input.mp4 -vcodec copy -acodec copy output.mp4

-ss表示開始切割的時間,-t表示要切多少。上面就是從開始,切5秒鍾出來。

使用ffmpeg 將多個MP4 文档合並成一個大的MP4文档?

不妨試一下ffmpeg + ts

這個的思路是先將 mp4 轉化爲同樣編碼形式的 ts 流,因爲 ts流是可以 concate 的,先把 mp4 封裝成 ts ,然後 concate ts 流, 最後再把 ts 流轉化爲 mp4。

ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts
ffmpeg -i 2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts
ffmpeg -i "concat:1.ts|2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
閲完此文,您的感想如何?
  • 有用

    1

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • 用網上下載的Mac安裝包安裝軟體時提示“安裝包已損壞”

  • 使用FileZilla連接遠程服務器

  • 無法打開XXXX, 因爲無法驗证開發者, 你應該將其扔進垃圾箱

  • mac上的微信文档太大如何清理

我要說說
網上賓友點評