使用 youtube-dl 將影片的元資料儲存在檔案中可以透過呼叫在 bash 中完成
youtube-dl -j https://www.youtube.com/watch?v=${video_id} > metadata.json
但是,當在播放清單的上下文中引用影片時,即透過調用
youtube-dl -j https://www.youtube.com/watch?v=${video_id}&list=${list_id}&index=${index} > metadata.json
然後 youtube-dl 分叉或從 shell 分離(我理解正確嗎?)並且輸出被發送到終端而不是檔案。這個過程似乎在等待某些事情而陷入困境。可以使用 ctrl-c 終止它。
為什麼 youtube-dl 會這樣做?我想儲存與播放清單相關的元資料以及與影片相關的元資料。
答案1
這殼如果您使用操作員運行進程,則將進程置於背景&
。
由於相關 YouTube 網址有一個「&」分隔查詢參數,因此它們必須是引為了防止 shell 將「&」解釋為運算子 – 將整個 URL 放在雙引號中(如果您還在 URL 中使用變量,則建議這樣做),或至少在 & 前面加上反斜線:
"https://host?a=b&c=d"
https//host?a=b\&c=d