a8505212005 發表於 2018-8-24 15:59:25

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

https://cdn1-t17.techbang.com/system/attached_images/2018/08/242501/original/439fe1168b8e8bc0add742b7909540b7.png〈本文為上篇,下篇的連結為:Synology NAS Docker 應用 (下):架設 Minecraft 伺服器〉市面上有著許多廠牌的 NAS(Network Attached Storage,網路附加儲存),每家都有著不同的使用介面與其主打功能;而本次筆者要介紹的 Synology - 也就是群暉科技的 NAS,擁有淺顯易懂的介面及說明、完善的功能,以及各種企業解決方案等,非常適合家用、進階使用者和中小企業等客群來使用。PS. 下面是一些常用的 Synology 官方應用程式。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242219/original/d2a987f1fb05f2c915b3fa1f08ced181.png目前本人使用的這台 Synology DS916+ 已推出兩年以上,具兩個 Gigabit (RJ-45) 網路孔、三個 USB 3.0 連接埠(正面一個、背面兩個),以及一個 eSATA 孔;而這台擁有 4 Bay 的硬碟槽,且安裝 3.5 吋硬碟時無需拴螺絲(使用邊條固定於硬碟托盤上),安裝上十分方便。另外,NAS 背後有兩個大風扇,提供絕佳的散熱能力。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242498/original/6fc96fb7cda4cf4d02c487905e276840.jpgDS916+ 搭載 INTEL Pentium N3710 1.6GHz(4C4T, up to 2.56 GHz) ,使用的 DSM(DiskStaion Manager) 版本為 6.2。這台在當時算是為專業用戶設計的機種,由於筆者自行加到 8GB RAM,同時進行監控、虛擬機、影音/相簿、BT下載、架站等應用絕對是綽綽有餘的。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242499/original/fc9823067dc47946e31e2845a9cfd01a.png雖然群暉內建了許多應用程式,總會有一些進階使用者找不到的應用,而 Docker 套件就能解決這個問題。Docker 擁有各種開發者所創造的上萬種容器應用程式,讓無法在 Synology NAS 上執行的應用程式都可於 Docker 進行佈署。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242220/original/9ede7f8ec46ab8aca7832195c8cd5791.gif另外,Docker 套件並非所有 Synology NAS 都能使用,用戶需先確認自己或欲添購的機種是否支援 Docker 套件的安裝:Docker 套件適用機種。而這次筆者要介紹的兩大影音娛樂方面應用就是:「使用 youtube-dl 下載各大影音網站的影片」,以及「架設 Minecraft 遊戲伺服器」。
https://cdn1-t17.techbang.com/system/attached_images/2018/08/242267/original/0b18d5cb577830847a6e12a04c4f9a5c.gif★ Synology NAS 進階應用:Docker 套件 ★★ Docker 套件應用一:使用 youtube-dl 下載各大影音網站的影片 ★
└ 架設動機與使用情境
└ youtube-dl 設置教學
└ 應用展示〔下篇〕★ Docker 套件應用二:架設 Minecraft 伺服器 ★
〔下篇〕└ 動機與使用情境
〔下篇〕└ Minecraft 伺服器設置教學
〔下篇〕└ 應用展示及密技介紹〔下篇〕★ 總結與心得 ★

https://cdn1-t17.techbang.com/system/attached_images/2018/08/242268/original/582ddd94d90cedd8fc521c139750265d.gif本次筆者要介紹的就是專業用戶會玩的 Synology NAS 套件:Docker(Synology Docker 官方介紹頁面)。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242221/original/f36119bd44383d355348381639860d38.jpgDocker 是一個輕量級的虛擬化環境,讓應用程式布署在軟體容器下的工作可以自動化進行。簡單來說,Docker 就是在不同且隔離的容器裡建立及執行多個應用程式,且彼此互不影響。首先到《套件中心》,接著在搜尋欄輸入"docker"並安裝套件。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242222/original/9fa7a89f443670af90607125b8edf1f4.png接著打開《Docker》套件,畫面中會跳出提示"開啟說明頁"的畫面。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242223/original/d4af1edb04d45b183251d3d06508913b.png說明頁(Synology 網頁版說明頁面)能讓剛接觸 Docker 的新手有更進一步認識,裡面有"建立容器"、"一般設定"、"網路設定"和"DDSM",也就是 Docker DSM 的簡易設定說明。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242224/original/e3ac52ee853e2eb391ae90a47d7aa3b3.gif回到《Docker》,在 "概況"頁面會顯示執行中的容器,包含它的 CPU 使用率和 RAM 的使用量。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242225/original/a030fe6719c99df0beedccb7beeedd9c.jpg而 Docker 也能架設獨立的 DSM,除了一些需要額外授權的套件,例如《Surveillance Station》、《MailPlus》等不能用之外,基本上多數套件在 Docker DSM (DDSM) 都能使用。
PS. Docker 中僅能架設"一套"免費的 DSM,額外架設另需付費。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242226/original/b72f206a7bff7fcb33a78409eadd1186.jpg《Docker》也能直接於"倉庫伺服器"頁面中搜尋 Docker Hub 上的各種容器應用,並且可以直接進行下載,十分方便。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242227/original/4305db0004b3ad1817d33d6c13e030e0.jpg從"倉庫伺服器"下載下來的映像檔,會顯示於"映像檔"頁面中,使用者能進行佈署,也就是讓它在自己的 NAS 上運作。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242228/original/de10b7c99ddf439c8f1d1bd78256cb66.jpg由於大多數的情況下,在建立容器時需要進行變數設定,因此使用者必須要先到映像檔的官方頁面,來查看有什麼變數需要額外設定。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242229/original/61105a5dee0b04a2ca3500f42f963bf6.gif佈署完成後,在"容器"頁面可以對每個容器查看詳細資訊,或是將容器打開/關閉。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242230/original/9552791659caf4ddd3ac818078005693.jpg接著我們隨意打開一個容器的詳細資訊,分別有"概況"、"程序"、"日誌",以及使用者能在這裡自行下指令的"終端機"頁面。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242231/original/a506843f38446b79bc0ffabe7b1de556.gif

https://cdn1-t17.techbang.com/system/attached_images/2018/08/242269/original/5c9f482e26120ba303bf4d0d115f0815.gif


 架設動機與使用情境 

說明完《Docker》套件的介面之後,筆者要先來介紹一個簡單的 Docker 應用:使用 youtube-dl 來下載各大影音網站的影片。根據官方說法,目前 youtube-dl 支援上千種影音網站的影片下載,用戶只要把該影片網址複製後貼到 youtube-dl,它就會自動下載最高畫質的影片。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242232/original/fe304772fdf1af52a14e959e957553f0.png但是有人可能會說:網路上可以下載 YouTube 影片的網站一堆呀?因此這邊筆者也找了幾個下載 YT 影片的網站,來看看普通網站到底有何限制所在。〔情況一:下載連結要等好久,不然就是打不開〕如圖所示,貼上影片連結就要等它轉圈圈轉好久...https://cdn1-t17.techbang.com/system/attached_images/2018/08/242233/original/2c3d2fb86796a12d0ec63474970c429b.png
〔情況二:強制跳出廣告頁面〕很多影片下載網站為了營利,都會有內嵌廣告,或是在按下"下載"時,強制跳出廣告。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242234/original/f41e52c99b768d1c2771c3d4c726d161.png
〔情況三:無法下載到最高畫質〕根據 YouTube 的畫質設定中,"一日幕僚"這支影片最高支援 1080P 的畫質,但是"買噹噹影片下載工具"只提供了 720P 影片下載連結。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242263/original/4738e0a11ddc35d1f741dbacf33403f3.png
〔情況四:雖然可以下載最高畫質,卻是無聲音的影片〕好不容易找到一個支援 1080P 影片畫質的下載網站,卻只能下載無聲音的版本...https://cdn1-t17.techbang.com/system/attached_images/2018/08/242236/original/6c0aeda52fcb35cbcab2561eae25399d.png因此透過自架的 youtube-dl,不管在哪,只要打開該頁面並且輸入影片網址;而在送出的同時,NAS 就會自動下載影片,然後將影片儲存至 NAS 之中。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242237/original/9164dec06dada9c91a26cac38a333674.png下載好的影片,我們再將它移動到 Video Station 的影片庫索引資料夾中。如此一來,透過《Video Station》就能和其他成員一起共享影片,或是利用『DS video』App,在行動裝置線上/下載觀看。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242238/original/433e0ee28fae56f20c8e58697191477a.png


 youtube-dl 設置教學 

〔Step 1:打開《Docker》套件 → "倉庫伺服器"頁面搜尋"youtube-dl",找到 kmb32123/youtube-dl-server 並下載〕搜尋 youtube-dl 後會出現許多不同人製作的映像檔,我們下載的是擁有網頁 gui 介面的 kmb32123/youtube-dl-server。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242239/original/5d2e949b90b468cd6fbf574be03892ed.png〔Step 2:打開映像檔的官方頁面,來查看有什麼變數需要額外設定。〕https://cdn1-t17.techbang.com/system/attached_images/2018/08/242281/original/511453fa00d4d099d26364dbb323775a.png其實設置 Docker 容器最難的地方就在這,使用者必須看好有哪些參數需要另外設定,直接佈署的話很容易就失敗。點一下映像檔名稱旁的藍色箭頭圖示,並進入"Dockerfile"分頁。雖然大多的指令參數都不用理會它,但 EXPOSE 的 8080 Port 和 VOLUME 的 ["/youtube-dl"] 會在後面用到,一個是 youtube-dl 網站的入口 Port,一個是影片下載的檔案位置。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242240/original/301ccfec20729b91d0613b5c52802a76.png然後到"Repo Info"分頁,上面提到使用此映像檔的方式,就是瀏覽器打開 https:// :8080/youtube-dl ,然後輸入影片位址即可。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242241/original/2ee537d15f31f81884937586fdcbdd4d.png〔Step 3:佈署 youtube-dl 映像檔,並輸入相關設定〕回到《Docker》中,已下載的映像檔會在"映像檔"頁面,我們按一下 kmb32123/youtube-dl-server,並按下"佈署"按鈕。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242242/original/310418468fc17c6a9e38ba15f8fcf651.png打開後,按下"進階設定",在"進階設定"分頁中按下"新增捷徑至桌面",網頁中輸入網址 https:// :8080/youtube-dl (預設 Port 為 8080,或是自訂的 Port)。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242243/original/30de30a8906a7469db0ff294bd58dacc.png接著到"儲存空間"分頁,這邊就是要設定下載後的影片檔案位置,這邊選擇 /video 路徑(使用者自訂);而掛載路徑請輸入 /youtube-dl。PS. 掛載路徑所要輸入的 /youtube-dl,也就是前面文件提到的 "VOLUME"。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242244/original/063c94ca8209bcf4a7c5d48374f8ca4f.png再來看到"連接埠設定"和"環境設定"分頁,這邊都幫我們事先設定好了,不過建議將 本機連接埠 裡的"自動設定",手動更改為"8080" Port(或是自訂的 Port,如果不是設定 8080,則 youtube-dl 網址的 Port 也要更改);輸入完按下套用。PS. 容器連接埠的 8080 Port,也就是前面文件提到的 "EXPOSE"。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242245/original/6deac9aa90659042726b98e938eeb956.png進階設定完成,按下"下一步",再按下"套用",就會在精靈完成後立刻啟動容器。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242246/original/b4fd20075a050a4d3f76ca836c36d44c.png最後記得到路由器設定頁面新增 8080 的外連 Port(或是自訂的 Port),否則從外網無法連線到自架的 youtube-dl 網站。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242247/original/f3c2e9ba627d7f074bd1e6a0ba01d828.gif


 應用展示 

由於我們剛剛有新增網站捷徑至桌面,按一下就能打開 youtube-dl 網頁;或是在網址列輸入 -m22hz88b:8080/youtube-dl]https://:8080/youtube-dl 也一樣能進入。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242248/original/2f6a11d6eee1eaad56826473e4c92647.gif接著實測超簡易的下載方式,只要複製影音連結,貼至 youtube-dl 網頁並按下"Submit"後,看到白底的網頁寫了"Success: true"就完成了。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242249/original/5dfbadd9e7cfc6969d14fdb9ce8b7b03.gif如果到"終端機"分頁會看到正在下載的詳細資訊,而終端機顯示的內容也會移至"日誌"分頁中,方便未來查看。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242250/original/55c58d9dc5dd90893444e75513f9de98.gif筆者測試了三大影音網站:YouTube、Facebook 和 Twitch 都能正常下載 Full HD(1080P) 的影片,包含前面提到"一日幕僚"這支 YouTube 影片,1080P 是沒有問題的。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242251/original/9bfca0e8f72d23d33636383b9b1e5b88.pngYouTube 的播放清單也能一次打包下載,可以看到終端機畫面中,一支接著一支影片不中斷地下載。https://i1042.photobucket.com/albums/b429/eden0521/35_zpswvutgp6k.gif不過筆者在實測上也遇到一些限制,包含 4K 的 YouTube 影片,youtube-dl 只會下載 1080P 畫質;此外,雖然官方說明可以下載"愛奇異"的影片,但由於此容器的作者已經四個月沒有更新容器版本了,目前測試無法下載(也有可能是地區限制的關係),錯誤訊息如下圖。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242252/original/a8d4da073fa7b2b8745f3ff970cc8599.png如此一來,下載的影片就能集中管理;不過比較可惜的是,目前 Synology NAS 的限制是:Docker 將影片新增到 /video 資料夾的這個行為並不會觸發影片索引的動作。一種解決方式是另外設定排程任務來定期移動影片檔案,否則就要使用者自行手動將檔案移動至 Video Station 索引資料夾中。https://cdn1-t17.techbang.com/system/attached_images/2018/08/242253/original/5e109e41a7b65877cd2ee181b061b1dd.png移動影片後,透過《Video Station》就能觀看 youtube-dl 下載的影片,不管要和朋友分享或是在手機上觀看,通通沒問題!https://cdn1-t17.techbang.com/system/attached_images/2018/08/242254/original/8fc0cf590d3317786ac7e6554310489a.png最後,筆者統整使用 Synology Docker 架設 youtube-dl 來下載影片的優點:1. 下載十分方便,不管在家或在辦公室,打開 youtube-dl 網站並貼上影音網址,就會自動開始下載。
2. 支援 FB影片、YouTube影片和播放清單,和 Twitch 等各大影音網站。
3. 自動偵測下載最高畫質(1080P) 的影片。
4. 下載後的影片通通能在 NAS 中的指定資料夾進行集中管理,而《Video Station》套件還能直接觀看這些影片,非常方便。
頁: [1]
查看完整版本: Synology NAS Docker 應用 (上):使用 youtube-dl 下載各大影音網站的影片