你的 D 槽好夥伴:youtube-dl、ffmpeg、sox……音樂人一定要會的工具!

今天我要教你如何在你的電腦上,快速大量的下載YouTube影片,把它們轉成任何格式或者是擷取聲音,任意調整速度、移調、或是加入更多效果,不管你是不是音樂人應該都會超級有用的! 


本日的主題是三個超級強大、超級好用,但是很少人知道的工具,分別是:

  • 可以下載幾乎影片網站的 youtube-dl
  • 超強大的轉檔軟體 FFmpeg
  • 和功能超多的聲音工具 sox

這三個軟體都是自由軟體,而且全部在 macOS、Linux 和 Windows 三大作業系統都可以使用,首先我要先教你怎麼安裝,然後我再來示範給你看怎麼使用。

安裝

Linux

這些工具在每個作業系統安裝的方式有一點不太一樣,先來說最簡單的 Linux,如果你是用 Ubuntu Linux 或是相關的發行版的話,你就只需要打開你的終端機,輸入:

sudo apt install youtube-dl ffmpeg sox

就可以了,這一行字的意思是說:

  • 我現在要用系統管理員的權限(sudo)
  • 用 apt 這個安裝程式去安裝(install)
  • youtube-dl、FFmpeg、sox 這三個軟體。

按下 enter,它就會問你的系統密碼,輸入完密碼之後,應該一分鐘之內就全部自動下載好、裝好了。就這樣,在 Linux 上面裝軟體就是這麼簡單。

macOS

在 macOS 上面的話,你要先到 brew.sh 這個網站,把首頁中「安裝 Homebrew」下面的那一整行字複製下來,然後打開你的終端機程式把它貼上去,按 enter,輸入密碼,它就會自動安裝這個叫做 Homebrew 的軟體了。

image-20210213043228934

這個 Homebrew 是一個「軟體包管理器」,換句話說就是一個非官方的 App Store 拉,它上面提供了超級多 Apple 官方沒有提供的好用軟體,而且都只要在終端機裡面用一行文字就可以把它裝好,非常推薦所有用 Mac 的人一定要裝。

Homebrew 裝好了之後,你就可以直接在終端機裡面輸入:

brew install youtube-dl ffmpeg sox

按下 enter,應該也是一下下就會裝好了。

Windows

最後,如果你用的是 Windows,對於一般人而言,我大概還是會建議你直接去這三個軟體的官方網站,下載Windows 版本直接一個一個安裝就好。 

那如果你是跟電腦比較熟的人,現在 Windows 上面也有類似 Linux 的軟體包管理器像是 Chocolatey ,如果想要像 Linux 或是 Mac 一樣,可以打一行字就自動安裝軟體的話,可以研究看看這個。

使用 youtube-dl

軟體都安裝好了之後,我就可以來跟你示範如何使用了!首先我們先來看可以下載 YouTube 影片的 youtube-dl。

我知道網路上有很多網站,標榜說網址貼進去就可以下載YouTube影片,但大部分的這類網站都沒有辦法下載最高畫質的格式,而且很多都充滿著廣告和惡意軟體。

用 youtube-dl 的話就完全沒有這些問題了,你只要打開你的終端機,輸入:

youtube-dl [你想要抓的影片網址]

按下 Enter,一瞬間它就抓好了。

而且更厲害的是,他不是只能抓單一影片而已喔,如果你貼上的是播放清單的網址,或是頻道首頁的網址,他是可以自動把整個播放清單、甚至是把整個頻道所有的影片一次抓下來的喔!試試看下載 檸檬卷的整個頻道 吧:

youtube-dl https://www.youtube.com/channel/UCVXzjXlHEwsSwjMFP1r8J9Q/videos

我不曉得你知不知道,現在 YouTube 都會把影片的「畫面」跟「聲音」部分分開儲存,youtube-dl 會很智慧地分別下載畫質最好的檔案和音質最好的檔案,然後自動把它們拼在一起,所以你可以得到比用其他工具下載畫質跟音質都還要更好的檔案。 

那如果你想要下載特定解析度,或是特定格式的影片要怎麼辦呢?你就輸入:

youtube-dl -F [你想要抓的影片網址]

它就會列出這個影片你可以抓的所有格式列表。

image-20210213032032356

例如說我想要抓這個 m4a 格式的純聲音版本,我就看一下它左邊的格式代碼是多少,這個例子的話是「140」,然後我就輸入:

youtube-dl -f 140 [你想要抓的影片網址]

它就會下載這個純聲音的格式了。 

雖然這個軟體叫做 youtube-dl,但是其實它支援的平台超級多的,幾乎你講的出來的影片網站都有支援。你只要使用 youtube-dl --list-extractors 這個指令,它就可以列出所有支援的平台,在我寫稿的當下,youtube-dl 支援的下載來源一共有 1,164 種,當然包含了大家常用的 YouTube、Vimeo、Twitch,大陸的像是 Bilibili、優酷等等的也都有支援。

然後我在看這個清單的時候赫然發現,像是「YouPxxx」、「txxxAV」和「xv@@@@s」,也通通都有支援耶!我有幫大家實測過,結果真的是沒有問題的喔,同樣就是只要貼上網址,youtube-dl 就可以毫不費力地把他抓下來,超好用的吧!

從絕大部分的影片網站下載回來的格式多半都是 MP4 檔案,YouTube 的話有的時候是 WebM 格式,但是如果你的電腦不支援某種格式而沒有辦法播放的話,你就會需要我們今天要介紹的第二個軟體了。

萬能的轉檔軟體 FFmpeg

我不曉得大家平常如果有一個影片你的播放程式不支援,你會怎麼把它轉成別的格式?網路上有很多的影音轉檔軟體,也是充滿了廣告軟體跟惡意程式,好消息是,你以後永遠不需要用他們了。

現在為你介紹最強大的轉檔軟體 FFmpeg。FFmpeg 的官網上面寫,他可以「編碼、解碼、轉檔、播放、串流人類歷史上創造過的任何多媒體檔案,從超級古老完全沒人知道的格式,一直到尖端科技的最新格式全部都沒問題。」

FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge.

– 來自 FFmpeg 官網

要使用 FFmpeg 來轉檔非常簡單,你只要打開你的終端機說:

ffmpeg -i [原始檔名] [輸出檔名]

例如說我想把 danbing.mp4 影片檔案,轉換成 wav 格式的聲音檔案,方便我在編曲軟體裡面使用,我就只要輸入:

ffmpeg -i danbing.mp4 danbing.wav

按下enter,只要一兩秒鐘的時間就轉換好了。

當然 FFmpeg 不只是可以轉檔而已,它還有超多其他功能,是我們在一部影片裡面不可能講得完的。你還記得我曾經出過一部 「一次看完好和弦所有影片」 的影片嗎?在那一部影片,我把當時我頻道的 256 部影片拼在一起,很多人在下面留言問我是怎麼做的,拉 256 個影片進去剪輯軟體裡面電腦不會爆掉嗎?

image-20210213043444849

你用一般的影片剪輯軟體,是不可能在時間軸同時播放 200 多個影片的,這種事只有 FFmpeg 可以做得到,如果你真的有興趣想知道如何把 200 多個影片拼在一起,你就在我某個影片下面留言好了,如果很多人想知道的話,我就考慮做一個教學給大家。 

聲音檔案萬用工具 sox

今天要介紹的最後一個工具叫做 sox。

sox 的全名叫做「Sound eXchange」,它是一個可以對聲音檔案做很多事情的工具,例如說裁切、調整音量、調整速度、調整音高,常見的混音效果像是 EQ、Compressor,甚至回音、破音也全部都有,完全不需要安裝其他的編曲軟體,只要打一行字就可以做到。 

例如說你有一個聲音檔案,想要好好的研究它的和弦,但是因為原曲的速度太快你聽不清楚,你要如何把它放慢一倍呢?你只要打開終端機說:

sox [原來的檔名] [輸出的檔名] tempo 0.5

這樣它就會生出一個新的速度是原來的一半的檔案了。

然後當你安裝 sox 的同時,它其實也一起安裝了另一個音樂播放程式叫做 play,這個 play 程式可以讓你直接在終端機就播音樂,所以我就只要說 play [檔案名稱] ,就可以直接播放音樂囉!

事實上,這個「play」程式也可以直接調整播放速度,所以我也可以說:

play [檔案名稱] tempo 0.5

剛才的指令最後面直接加上「tempo 0.5」,這樣它就會直接用 0.5 倍的速度播放了。 

另外一個音樂人很常用的功能是「移調」,移調功能在 sox 和 play 這兩個程式都可以用,所以假設我要輸出一個比原來低完全五度的檔案,我就可以說:

sox [原來的檔名] [輸出的檔名] pitch -700

這邊的 -700 是低七個半音、也就是完全五度的意思,按下 Enter,它就會輸出移調過的檔案了。

那如果你沒有想要輸出新的檔案,純粹是想要播放的時候低完全五度的話,那你就只要說:

play [檔案名稱] pitch -700

就可以了。

sox 和 play 還有很多其他的功能等你去發現,例如說在最後面加 reverb 這個字可以有回音:

play [檔案名稱] reverb

或者是在最後面加「reverse」這個字,就可以把檔案倒過來播放:

play [檔案名稱] reverse


以上就是今天的 youtube-dl、FFmpeg 和 sox 的基礎課程,如果你是一個音樂人或是內容創作者,學會這些終端機工具,可以大大提升你的工作效率喔!如果你從來沒有聽過今天介紹的工具的話,現在就在你的電腦上面安裝玩玩看吧!