下載播放清單中影片的元資料時防止 youtube-dl 進程分叉

下載播放清單中影片的元資料時防止 youtube-dl 進程分叉

使用 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

相關內容