
我正在尋找在 CLI(終端)中運行的下載管理器。
工具應解決以下目的。
將 YouTube URL 清單作為輸入/從文件中取得 URL 清單。
當網路連線中斷時應暫停和恢復下載。
應該在終端機中運作。我在無頭媒體伺服器上運行它。
我youtube-dl
現在使用的是nodejs腳本。但該腳本缺乏連線監控和下載完整性檢查、下載復原功能。
我嘗試了 Extreme Download manager,但它無法無頭運行。
任何用於實現相同目標的投入都將受到讚賞。
答案1
兩個 while
循環bash
就夠了:
while ! youtube-dl --batch-file /tmp/yt -i -c --socket-timeout 5; do while ! ping -c 1 -W 1 google.com; do echo "Network interface may down, please check your network"; sleep 10; done; echo "Network up but got url failed before, re-loop file after 5 seconds."; sleep 5; done
解釋:
youtube-dl
python 套件可以透過普通套件管理器(例如apt
./tmp/yt
檔案包含逐行的 url 清單。-i
表示如果遇到 url 無效錯誤,則繼續選擇檔案中的下一個 url(但不是套接字錯誤,這將進入ping
「失敗並等待網路啟動」循環)-c
表示強制恢復部分下載的檔案。檔案名稱應該具有一致的格式以便恢復正常工作(即您youtube-dl
下次不能更改格式並期望恢復正常工作)。我個人使用的-o './%(title)s-%(upload_date)s-%(id)s.%(ext)s'
格式- 我個人還添加了
--no-mtime
確保文件“觸摸”的功能(如果我想按下載時間而不是視頻更新時間列出文件排序,則很有用)。