기존 파일을 건너 뛰고 youtube-dl로 YouTube 재생 목록 다운로드 이 명령을 사용하고 있습니다 : youtube-dl

youtube-dl기존 파일을 건너 뛰고을 사용하여 YouTube 재생 목록을 mp3로 다운로드 할 수 있는지 궁금 합니다. 이 명령을 사용하고 있습니다 :

youtube-dl --continue --ignore-errors --no-overwrites --extract-audio --audio-format mp3 --output "%(title)s.%(ext)s" [path here]

덮어 쓰지 않도록 설정했지만 처음부터 모든 것을 다시 다운로드합니다. 이것이 가능한가?



답변

--download-archive FILE youtube-dl 옵션을 사용하면 다시 다운로드하지 않도록 파일 목록을 읽고 추가합니다. 파일이 성공적으로 다운로드 될 때마다 해당 비디오 ID가에 추가됩니다 FILE.

다음과 같이 사용할 수 있습니다.

youtube-dl --download-archive downloaded.txt --no-post-overwrites -ciwx --audio-format mp3 -o "%(title)s.%(ext)s" [path here]

목록을 만들 때 마지막으로 보관하지 않은 비디오는 다시 다운로드됩니다. 이제 삭제할 수 있습니다.

MP3 파일의 기본 형식이으로 지정된 경우 다음과 같이 bash 터미널 의 YouTube 에서 %(title)s-%(id)s.%(ext)s다시 다운로드하지 않아도 됩니다.downloaded.txt%(id)s

for n in *.mp3
do if [[ "$n" =~ -[-_0-9a-zA-Z]{11}.mp3$ ]]
   then echo "youtube ${n: -15: 11}" >> downloaded.txt
   fi
done

답변

이것은 정말 도움이됩니다. 다른 사람이 사용하는 경우 폴더의 모든 파일을 포함하도록 기존 다운로드 목록을 작성하도록 코드를 수정했습니다. --extract-audio--audio-quality "best"플래그를 사용하여 오디오를 다운로드 할 때 유용

for n in *.*
do if [[ "$n" =~ -[-_0-9a-zA-Z]{11}.*$ ]]
   then echo "youtube ${n: -15: 11}" >> downloaded.txt
   fi
done

나는 대부분의 사람들이 스스로 그것을 해결할 수 있다고 확신하지만 모든 사람들이 bash 스크립팅에 익숙하지는 않습니다.