2014年5月22日 星期四

Tools : youtube-dl-gui 下載影片的利器 Part II

2014年5月22日 星期四
有網路真好,但是遇到網路不通,或是碰到龜速般的網路是又令人苦惱,最安心的做法當然是有「備」無患。上課前將要使用到的影片預先下載回來,管它是學校網路掛了,還是什麼「哇擱」Net 斷了、廢了,「雲」飄走了,備好的檔案一開就能上陣!

之前用過很多下載影片的方法,網站的、瀏覽器擴充功能的……,因為同事想找一個操作簡單、畫面單純的 Youtube 影片下載的方法給她活到老學到老,積極努力學電腦的長輩使用,花了點時間研究 youtube-dl 這個安裝過,卻不曾好好用過的厲害工具。為了讓老先生可以做到複製網址、貼網址,最後再按個「下載」鈕就可以輕鬆下載影片,本來我是利用 vbs 為 yotube-dl 這個 Python開發的工具,寫了個陽春的圖形界面,不過,這樣一來,可埋沒了 youtube-dl 的強大功能。後來又想用 C# 寫個有進階選項的 youtube-dl GUI,加入更多 youtube-dl 的功能選項,不過,看到網路上已經有人利用wxPython開發可跨平臺的 youtube-dlG (youtube-dl-gui) 當 youtube-dl 的前端圖形操作界面,決定好好用它就好啦!不傷神寫程式了。

安裝 youtube-dl-gui

youtube-dl-gui 是專門針對影片下載工具youtube-dl 所計的專案,當我們安裝完youtube-dl-gui,按個按鈕,即可幫我們下載最新版的youtube-dl。而youtube-dl及 youtube-dl-gui 都是以 Python 2.7開發的,youtube-dl-gui 圖形界面的部份則是使用 wxPython,無論是 Python2.7 或 wxPython ,在各種平台中都有,所以,我們除了可以在 Windows 中使用 youtube-dl及youtube-dl-gui ,也可以在 Ubuntu、EzGo ......等 Linux 系統中使用,甚至連Apple的Mac OS X 也沒問題。

不過,前述的三種系統比較起來,Windows上的安裝過程可以算是最簡單,因為無論是 youtube-dl、youtube-dl-gui或是搭配用來轉檔的 ffmpeg 和 ffprobe (或 avcon + avprobe),作者都已經將需要使用到的所有檔案打包在一起。雖然檔案大了一點,但是一個安裝程式搞定,不用下載這個,安裝那個的,省去不少麻煩。至於unix like的使用者就只好按表操課,將所需的軟體一個個安裝囉!

底下簡單的介紹如何在 Windows、EzGo11及Mac OS X 中安裝 youtube-dl-gui。


在 Windows 安裝 youtube-dl-gui

想在Windows中安裝youtube-dl-gui比在unix like裡容易多了。

先到下面的網站中下載安裝程式的壓縮檔 (youtube-dl-gui-?.?.?.?-win-setup.zip):



將下載回來的 .zip 解壓縮後,執行安裝程式 (setup.exe)。

安裝時,除了第二步驟要先點選「I accept the agreement」外,其它步驟基上按「Next」鈕即可。


安裝完成後,安裝目錄中除了 youtube-dl-gui 以外,


它連轉檔用的 ffmpeg 及 ffprobe 都一併準備好,所以只要打開「程式集」中的 youtube-dl-gui 就可以開始使用了。


在 EzGo 11 安裝 youtube-dl-gui

1. 安裝 wxPython

如果 Linux中沒有wxPython,可以在終端機中執行底下的指令來安裝:

sudo apt-get install python-wxgtk2.8

EzGo 11 內建 python2.7 及 wxPython 所以我們只要直接安裝 youtube-dl-gui 就可以。


2.安裝 git 和 pip

底下想利用 python 的  pip 透過 git 抓 youtube-dl-gui 的 source 來安裝,所以我們先安裝 EzGo 11 中沒有的 git 及 pip。

在 EzGo 的終端機中輸入並執行以下的指令:

sudo apt-get install git
sudo easy_install pip

第一行指令會安裝「git」,第二行指令則是利用 Python 的 easy_install 來安裝另一個套件管理的工具「pip」。


3.透過 git 安裝 youtube-dl-gui

在終端機中執行底下的這行指令可以幫我們下載 youtube-dl-gui 的原始碼並安裝到系統中:

sudo pip install  git+https://github.com/MrS0m30n3/youtube-dl-gui.git


4.新增桌面啟動圖示

youtube-dl-gui 經過上述的程序安裝後,會變成 Python 的 module「youtube_dl_gui」(注意 module 名稱是用底線,而不是原來的減號) 。我們可以在終端中執行底下的指令:

python -m youtube_dl_gui

成功的話,應該就會出現 GUI 的 youtube-dl 囉!

如果覺得每次都要打指令啟動不方便,可以按底下的程序,為該行指令建立一個桌面的啟動圖示:

4-1 先在 EzGo 的桌面空白處按滑鼠的右鍵,點選「新增」裡的「連結到應用程式」



4-2 點選上方的「應用程式」,並在「命令」的輸入區內填入啟動 youtube-dl-gui 的指令:「python -m youtube_dl_gui」。


「一般」中的圖示及名稱則依個人需求自行修改。都好了就按「確定」鈕,完成後,桌面就應該會多一個啟動的圖示,試試看是否能運作吧!


5.安裝轉檔用的工具

打包在 youtube-dl-gui Windows 安裝版中供轉檔用的 ffmpeg 及 ffprobe 在 Ubuntu 和 EzGo 中似乎已找不到了,改用列在 libav-tools 中的 avconv 及 avprobe 來替代。查了一下, EzGo 11 似乎已經安裝好 libav-tools,如果沒有安裝,可以在終端機中執行以下的指令安裝:

sudo apt-get install libav-tools

有了 avconv 及 avprobe,youtube-dl 如果接收到由影片取出 mp3 的參數時,就可以幫我們進行下載後自動轉檔的工作。



在 Mac OS X 安裝 youtube-dl-gui

在 Mac OS X 上安裝 youtube-dl-gui 的步驟,基本上和 EzGo 11 上的差不多。

1.安裝 wxPython

以目前的 Mac OS X 10.9.3 來說,它內建 Python 2.7 ,已經具備執行 youtube-dl 的基本需求,不過 youtube-dl-gui 尚需要 wxPython ,所以我們要先安裝這個。


1-1下載 wxPython

可以連到 wxPython 的官網中下載:


在我的  Mac OS X 10.9.3 中是下載 wxPython3.0-osx-cocoa-py2.7 來安裝。


1-2.更改安全設定

因為 wxPython 的安裝檔裡沒有 Apple 的數位簽章,可能會出現類似以下的錯誤訊息而無法安裝:



如果是這樣,可以先到「系統偏好設定」中的「安全性與隱私」的「一般」裡將應用程式的來源暫時改為「任何來源」後,再執行安裝 wxPython 的動作。



2.安裝 git

到下面的網站中下載 git 的 package 來安裝:



3.安裝 pip

打開 Mac 的「終端機」程式,然後執行底下的指令來安裝 Python 的 pip。

sudo easy_install pip


4.透過 git 安裝 youtube-dl-gui

在 Mac 的「終端機」中執行底下的指令:

sudo pip install  git+https://github.com/MrS0m30n3/youtube-dl-gui.git

pip 會幫我們先以 git 將 youtube-dl-gui 的 source 下載至暫存區後,再自動執行 setup.py 中的指令稿進行安裝。


5.在 Mac OS X 桌面新增啟動圖示

youtube-dl-gui 經過上述的程序安裝後,會變成 Python 的 module「youtube_dl_gui」,我們只要在終端機中執行底下的指令就可以啟動 youtube_dl_gui:

python -m youtube_dl_gui

為了方便使用,我們可以利用「Automator」在桌面上新增啟動的圖示。

5-1 打開「Automator」。

5-2 新增一個「應用程式」。

5-3 加入「執行 Shell 工作指令」。



將「Shell」改為「/bin/sh」,然後在指令稿輸入區裡填入底下這行指令:

python -m youtube_dl_gui

好了就將檔案儲存到桌面,下一次就可以利用此一新增的圖示來啟動 youtube-dl-gui。


6.安裝轉檔用的工具

如果想讓 youtube-dl 可以將下載的影音檔轉為 mp3 檔,就必須在 Mac 中安裝 ffmpeg 和 ffprobe 兩支程式。在 ffmpeg 官網中的下載頁面中建議「Builds by tessus」的下載網站如下:



由上面的網站中下載 ffmpeg 和 ffprobe 的壓縮檔,將它們解壓縮以後,再放到 /usr/local/bin 中,這樣,youtube-dl 在轉檔時就可以找到它們。

在 unix like 中更新及移除 youtube-dl-gui

無論是在 Linux 或是 Mac OS X 中,如果想將 youtube-dl-gui 更新為最近版,可以利用 pip 來幫忙,執行底下的指令:

sudo pip install -U git+https://github.com/MrS0m30n3/youtube-dl-gui.git


想移除 youtube-dl-gui ,也可以利用 pip 來移除,執行底下的指令:

sudo pip uninstall Youtube-DL


使用 youtube-dl-gui

首次使用

第一次使用 youtube-dl-gui 的話,我們要先讓它去下載最新版的「youtube-dl」,只要按一下「Update」的按鈕即可自動下載程式,並儲存到程式預設的路徑中。



再來就是指定要用哪一個目錄儲存下載回來的影音檔案。

先按一下「Options」的按鈕,進入設定的對話框。



再按一下「General」分頁中的「Open」按鈕來選取資料夾名稱。


設定好,結束設定的對話框,就完成設定,可以開始在主視窗中貼影片網址,下載影片了。


下載影片


看 youtube-dl 的程式名稱,可別以為它只能下載 YouTube 的影片而已,其實它支援很多影音網站的影片下載。如果影片的網址是 YouTube 的「播放清單」,youtube-dl 甚至可以將清單中的影片都下載回來。

透過 youtube-dl-gui ,我們可以在「URLs」的輸入區中貼入多個影片網址再同步下載,每個網址貼完後,按一下 Enter 鍵換行,即可再貼入下一個。

貼網址並按下載的按鈕
下方會顯示下載的狀態
當我們按下「Download」的按鈕以後,youtube-dl-gui 會依「Options」中的設定值及「URLs」中的影片網址,幫我們重組成 youtube-dl 的「參數」並傳給 youtube-dl,開始一個個的下載並處理影片檔案。

一般來說,youtube-dl 預設會以該影片所提供的最高解析度 (代碼 22: 1280x720) 來下載影片,如果想換成別的解析度 (例如更低或是更高的 1080p),可以按一下「Options」按扭,打開設定視窗後,點選「Video」的分頁,依需求設定想下載的解析度。


參數設定

youtube-dl 的功能參數很多,當用的部份,我們可以透過 youtube-dl-gui 來設定,底下依序來簡單介紹幾項 Options 中的設定:

在「General」頁面中,除了可以用來指定影片儲存目錄的「Open」按鈕以外,如果想所有設定都還原成 youtube-dl-gui 的預設值時,只要按一下「Reset Options」按鈕即可。



「Video」頁面中主要是讓我們設定影片要以何種解析度或格式來下載。youtube-dl-gui 中的選項是針對 YouTube 設計的,其它影音網站不見得適用。例如,想下載 YouTube 的 1080p 影片,「Video Format」就先設定為「mp4 1080p (DASH)」,再將「DASH Audio」設定為「DASH m4a audio 128k」,最後再勾選「Clear DASH audio/video files」,讓它將 DASH 影片及聲音分別下載後重組 (利用 ffmpeg 或 avconv) 並儲存成新影片,最後將 DASH 檔案刪除。



「Audio」頁面中主要是讓我們可以將影音檔下載後,自動後製轉檔為純聲音檔(mp3,wav ......),只要勾選了「Convert to Audio」後,就可以進一步的設定編碼方式及品質。不過,要使用此部份的功能,必須有安裝 ffmpeg 或 avconv (Windows 版已內建在 youtube-dl-gui 中)。



「Output」頁面中可以設定影片下載以後,儲存的檔名要用什麼規則來命名,預設值是用影片在網站中的標題。



「Playlist」頁面的設定可以套用在 YouTube 播放清單,當我們要下載的影片網址是 YouTube 的 Playlist 時才會有作用。可以告訴 youtube-dl ,從清單中的第幾部影片開始下載(Start),下載到第幾部時停止(Stop),或是限制檔案大小多大以下的才下載。




youtube-dl-gui 的 Options 還有很多可以玩的地方,在此就不一一介紹。如果對 youtube-dl 參數有興趣的人,甚至可以直接使用「Commands」頁面中的輸入區完全自訂參數哦!



youtube-dl-gui 是成立沒多久的一個專案,作者更新得滿頻繁的,如果使用時發現有問題,可以試著更新看看。另外,因為它是開放源碼的,如果想將程式中文化,甚至想幫它加強一下功能,可以到專案網站中下載它的原始碼,改一個自己的版本哦!

相關網站


相關文章





2 則留言:

 
雄::gsyan © 2009. Design by Pocket