[分享] Synology NAS Docker 應用 (上):使用 youtube-dl 下載各大影音網站的影片

Eden

〈本文為上篇,下篇的連結為:Synology NAS Docker 應用 (下):架設 Minecraft 伺服器

市面上有著許多廠牌的 NAS(Network Attached Storage,網路附加儲存),每家都有著不同的使用介面與其主打功能;而本次筆者要介紹的 Synology - 也就是群暉科技的 NAS,擁有淺顯易懂的介面及說明、完善的功能,以及各種企業解決方案等,非常適合家用、進階使用者和中小企業等客群來使用。

PS. 下面是一些常用的 Synology 官方應用程式。

目前本人使用的這台 Synology DS916+ 已推出兩年以上,具兩個 Gigabit (RJ-45) 網路孔、三個 USB 3.0 連接埠(正面一個、背面兩個),以及一個 eSATA 孔;而這台擁有 4 Bay 的硬碟槽,且安裝 3.5 吋硬碟時無需拴螺絲(使用邊條固定於硬碟托盤上),安裝上十分方便。另外,NAS 背後有兩個大風扇,提供絕佳的散熱能力。

DS916+ 搭載 INTEL Pentium N3710 1.6GHz(4C4T, up to 2.56 GHz) ,使用的 DSM(DiskStaion Manager) 版本為 6.2。這台在當時算是為專業用戶設計的機種,由於筆者自行加到 8GB RAM,同時進行監控、虛擬機、影音/相簿、BT下載、架站等應用絕對是綽綽有餘的。

雖然群暉內建了許多應用程式,總會有一些進階使用者找不到的應用,而 Docker 套件就能解決這個問題。Docker 擁有各種開發者所創造的上萬種容器應用程式,讓無法在 Synology NAS 上執行的應用程式都可於 Docker 進行佈署。

另外,Docker 套件並非所有 Synology NAS 都能使用,用戶需先確認自己或欲添購的機種是否支援 Docker 套件的安裝Docker 套件適用機種。而這次筆者要介紹的兩大影音娛樂方面應用就是:「使用 youtube-dl 下載各大影音網站的影片」,以及「架設 Minecraft 遊戲伺服器」


內容大綱

★ Synology NAS 進階應用:Docker 套件 ★

★ Docker 套件應用一:使用 youtube-dl 下載各大影音網站的影片 ★
架設動機與使用情境
youtube-dl 設置教學
應用展示

下篇〕★ Docker 套件應用二:架設 Minecraft 伺服器 ★
下篇〕└ 動機與使用情境
下篇〕└ Minecraft 伺服器設置教學
下篇〕└ 應用展示及密技介紹

下篇〕★ 總結與心得 ★



Synology NAS 進階應用:Docker 套件

本次筆者要介紹的就是專業用戶會玩的 Synology NAS 套件:Docker(Synology Docker 官方介紹頁面)。

Docker 是一個輕量級的虛擬化環境,讓應用程式布署在軟體容器下的工作可以自動化進行。簡單來說,Docker 就是在不同且隔離的容器裡建立及執行多個應用程式,且彼此互不影響。

首先到《套件中心》,接著在搜尋欄輸入"docker"並安裝套件。

接著打開《Docker》套件,畫面中會跳出提示"開啟說明頁"的畫面。

說明頁(Synology 網頁版說明頁面)能讓剛接觸 Docker 的新手有更進一步認識,裡面有"建立容器"、"一般設定"、"網路設定"和"DDSM",也就是 Docker DSM 的簡易設定說明。

回到《Docker》,在 "概況"頁面會顯示執行中的容器,包含它的 CPU 使用率和 RAM 的使用量。

而 Docker 也能架設獨立的 DSM,除了一些需要額外授權的套件,例如《Surveillance Station》、《MailPlus》等不能用之外,基本上多數套件在 Docker DSM (DDSM) 都能使用。
PS. Docker 中僅能架設"一套"免費的 DSM,額外架設另需付費。

《Docker》也能直接於"倉庫伺服器"頁面中搜尋 Docker Hub 上的各種容器應用,並且可以直接進行下載,十分方便。

從"倉庫伺服器"下載下來的映像檔,會顯示於"映像檔"頁面中,使用者能進行佈署,也就是讓它在自己的 NAS 上運作。

由於大多數的情況下,在建立容器時需要進行變數設定,因此使用者必須要先到映像檔的官方頁面,來查看有什麼變數需要額外設定。

佈署完成後,在"容器"頁面可以對每個容器查看詳細資訊,或是將容器打開/關閉。

接著我們隨意打開一個容器的詳細資訊,分別有"概況"、"程序"、"日誌",以及使用者能在這裡自行下指令的"終端機"頁面。



Docker 套件應用一:使用 youtube-dl 下載各大影音網站的影片

 架設動機與使用情境 

說明完《Docker》套件的介面之後,筆者要先來介紹一個簡單的 Docker 應用:使用 youtube-dl 來下載各大影音網站的影片

根據官方說法,目前 youtube-dl 支援上千種影音網站的影片下載,用戶只要把該影片網址複製後貼到 youtube-dl,它就會自動下載最高畫質的影片。

但是有人可能會說:網路上可以下載 YouTube 影片的網站一堆呀?因此這邊筆者也找了幾個下載 YT 影片的網站,來看看普通網站到底有何限制所在。

〔情況一:下載連結要等好久,不然就是打不開〕

如圖所示,貼上影片連結就要等它轉圈圈轉好久...


〔情況二:強制跳出廣告頁面〕

很多影片下載網站為了營利,都會有內嵌廣告,或是在按下"下載"時,強制跳出廣告。


〔情況三:無法下載到最高畫質〕

根據 YouTube 的畫質設定中,"一日幕僚"這支影片最高支援 1080P 的畫質,但是"買噹噹影片下載工具"只提供了 720P 影片下載連結。


〔情況四:雖然可以下載最高畫質,卻是無聲音的影片〕

好不容易找到一個支援 1080P 影片畫質的下載網站,卻只能下載無聲音的版本...

因此透過自架的 youtube-dl,不管在哪,只要打開該頁面並且輸入影片網址;而在送出的同時,NAS 就會自動下載影片,然後將影片儲存至 NAS 之中。

下載好的影片,我們再將它移動到 Video Station 的影片庫索引資料夾中。如此一來,透過《Video Station》就能和其他成員一起共享影片,或是利用『DS video』App,在行動裝置線上/下載觀看。



 youtube-dl 設置教學 

〔Step 1:打開《Docker》套件 → "倉庫伺服器"頁面搜尋"youtube-dl",找到 kmb32123/youtube-dl-server 並下載〕

搜尋 youtube-dl 後會出現許多不同人製作的映像檔,我們下載的是擁有網頁 gui 介面的 kmb32123/youtube-dl-server。

〔Step 2:打開映像檔的官方頁面,來查看有什麼變數需要額外設定。〕

其實設置 Docker 容器最難的地方就在這,使用者必須看好有哪些參數需要另外設定,直接佈署的話很容易就失敗。

點一下映像檔名稱旁的藍色箭頭圖示,並進入"Dockerfile"分頁。雖然大多的指令參數都不用理會它,但 EXPOSE 的 8080 Port VOLUME 的 ["/youtube-dl"] 會在後面用到,一個是 youtube-dl 網站的入口 Port,一個是影片下載的檔案位置

然後到"Repo Info"分頁,上面提到使用此映像檔的方式,就是瀏覽器打開 http:// [NAS位址]:8080/youtube-dl ,然後輸入影片位址即可。

〔Step 3:佈署 youtube-dl 映像檔,並輸入相關設定〕

回到《Docker》中,已下載的映像檔會在"映像檔"頁面,我們按一下 kmb32123/youtube-dl-server,並按下"佈署"按鈕。

打開後,按下"進階設定",在"進階設定"分頁中按下"新增捷徑至桌面",網頁中輸入網址 http:// [NAS的IP]:8080/youtube-dl (預設 Port 為 8080,或是自訂的 Port)。

接著到"儲存空間"分頁,這邊就是要設定下載後的影片檔案位置,這邊選擇 /video 路徑(使用者自訂);而掛載路徑請輸入 /youtube-dl。

PS. 掛載路徑所要輸入的 /youtube-dl,也就是前面文件提到的 "VOLUME"。

再來看到"連接埠設定"和"環境設定"分頁,這邊都幫我們事先設定好了,不過建議將 本機連接埠 裡的"自動設定",手動更改為"8080" Port(或是自訂的 Port,如果不是設定 8080,則 youtube-dl 網址的 Port 也要更改);輸入完按下套用。

PS. 容器連接埠的 8080 Port,也就是前面文件提到的 "EXPOSE"。

進階設定完成,按下"下一步",再按下"套用",就會在精靈完成後立刻啟動容器。

最後記得到路由器設定頁面新增 8080 的外連 Port(或是自訂的 Port),否則從外網無法連線到自架的 youtube-dl 網站。



 應用展示 

由於我們剛剛有新增網站捷徑至桌面,按一下就能打開 youtube-dl 網頁;或是在網址列輸入 http://[NAS位址]:8080/youtube-dl 也一樣能進入。

接著實測超簡易的下載方式,只要複製影音連結,貼至 youtube-dl 網頁並按下"Submit"後,看到白底的網頁寫了"Success: true"就完成了。

如果到"終端機"分頁會看到正在下載的詳細資訊,而終端機顯示的內容也會移至"日誌"分頁中,方便未來查看。

筆者測試了三大影音網站:YouTube、Facebook 和 Twitch 都能正常下載 Full HD(1080P) 的影片,包含前面提到"一日幕僚"這支 YouTube 影片,1080P 是沒有問題的。

YouTube 的播放清單也能一次打包下載,可以看到終端機畫面中,一支接著一支影片不中斷地下載。

不過筆者在實測上也遇到一些限制,包含 4K 的 YouTube 影片,youtube-dl 只會下載 1080P 畫質;此外,雖然官方說明可以下載"愛奇異"的影片,但由於此容器的作者已經四個月沒有更新容器版本了,目前測試無法下載(也有可能是地區限制的關係),錯誤訊息如下圖。

如此一來,下載的影片就能集中管理;不過比較可惜的是,目前 Synology NAS 的限制是:Docker 將影片新增到 /video 資料夾的這個行為並不會觸發影片索引的動作。一種解決方式是另外設定排程任務來定期移動影片檔案,否則就要使用者自行手動將檔案移動至 Video Station 索引資料夾中

移動影片後,透過《Video Station》就能觀看 youtube-dl 下載的影片,不管要和朋友分享或是在手機上觀看,通通沒問題!

最後,筆者統整使用 Synology Docker 架設 youtube-dl 來下載影片的優點:

1. 下載十分方便,不管在家或在辦公室,打開 youtube-dl 網站並貼上影音網址,就會自動開始下載。
2. 支援 FB影片、YouTube影片和播放清單,和 Twitch 等各大影音網站。
3. 自動偵測下載最高畫質(1080P) 的影片。
4. 下載後的影片通通能在 NAS 中的指定資料夾進行集中管理,而《Video Station》套件還能直接觀看這些影片,非常方便。

本文章同步分享至:(包括上篇與下篇的連結)
1. Facebook
2. Google+ ()()
3. Twitter ()()
4. Plurk ()()
5. LinkedIn ()()
6. mobile01 ()()
7. 巴哈姆特 ()()
8. 痞客邦 ()()
9. Blogger ()()
10. SOGO論壇 ()()
11. 天空部落TIAN ()()
12. 捷克論壇JKF ()()
13. P2P101論壇 ()()
14. udn部落格 ()()
15. 卡提諾論壇 ()()
16. 點部落 ()()
17. 隨意窩Xuite ()()
18. MyChat數位男女論壇 ()()
19. XFastest ()()
20. NOTP部落格 ()()
21. ED Blog ()()

輝恩

感謝詳細的資訊教學分享,Docker真的讓虛擬化變得更容易!

原文網址:https://t17.techbang.com/topics/50817-synology-nas-docker-applications-top-download-videos-of-major-av-websites-using-youtube-dl?page=1