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이 셸에서 분기되거나 분리되고(제가 올바르게 이해하고 있습니까?) 출력이 파일 대신 터미널로 전송됩니다. 프로세스가 무언가를 기다리다가 멈춘 것 같습니다. ctrl-c를 사용하여 종료할 수 있습니다.
youtube-dl이 이 작업을 수행하는 이유는 무엇이며 이러한 일이 발생하지 않도록 방지할 수 있나요? 재생목록과 관련된 메타데이터뿐만 아니라 동영상과 관련된 메타데이터도 저장하고 싶습니다.
답변1
그만큼껍데기연산자로 프로세스를 실행하면 프로세스를 백그라운드에 둡니다 &
.
문제의 YouTube URL에는 검색어 매개변수를 구분하는 '&'가 있으므로 다음과 같아야 합니다.인용됨쉘이 "&"를 연산자로 해석하는 것을 방지하려면 전체 URL을 큰따옴표로 묶거나(URL에서 변수도 사용하는 경우 권장) 최소한 & 앞에 백슬래시를 붙입니다.
"https://host?a=b&c=d"
https//host?a=b\&c=d