youtube-dl을 사용하여 여러 파일 다운로드


45

youtube-dl을 사용하여 YouTube에서 파일을 다운로드합니다. 여러 파일을 다운로드하려고 시도했지만 제대로 작동하지 않습니다. 비디오를 다운로드 할 때마다 여러 터미널을 열고 새로 시작해야합니다.

모든 URL을 한 번에 언급하면 ​​단일 터미널 창으로 여러 파일을 다운로드 할 수 있습니까? Ubuntu 12.04 64 비트를 사용합니다.


1
귀하의 질문에 대한 답변은 아니지만 다른 사람들이 이것에 걸려 넘어 질 수 있습니다. 동영상이 어떤 식 으로든 관련이있는 경우 youtube-dl은 재생 목록, 사용자 또는 채널에서 모든 동영상을 다운로드 할 수 있습니다.
Dennis

url과 끝 사이에 공백을 추가하는 것을 제안하는 아래 답변 (현재 가장 많이 찬성되지는 않음)을 참조하십시오.
gota

답변:


54

바로 가기

모든 비디오가 동일한 재생 목록 또는 동일한 채널에있는 경우 다음 바로 가기를 사용하여 시간을 절약 할 수 있습니다.

재생 목록

youtube-dl -f FORMAT -ciw -o "%(title)s.%(ext)s" -v <url-of-playlist>

... where <url-of-playlist>는 재생 목록의 URL로 대체되고 FORMAT사용 가능한 비디오 형식 (예 :)으로 대체 됩니다 18. 이 -F옵션을 사용하면 다음과 같은 유효한 모든 형식을 볼 수 있습니다 .

youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'

배치 시작부터 배치 종료까지 재생 목록의 일부 다운로드

youtube-dl -f FORMAT -ci --playlist-start NUMBER --playlist-end NUMBER <url-of-playlist>  

... 어디에 <url-of-playlist>재생 목록의 URL로 대체, 대체 FORMAT예를 들어, 사용 가능한 비디오 포맷으로 18, 그리고 NUMBER시작 / 종료 다운로드를에서 재생 목록에있는 동영상의 수입니다.

채널

youtube-dl -f FORMAT -ciw -o "%(title)s.%(ext)s" -v <url-of-channel>

... where <url-of-channel>는 채널의 URL로 대체되고 FORMAT사용 가능한 비디오 형식 (예 :)으로 대체 됩니다 18.

동일한 재생 목록이나 채널에없는 동영상

먼저 다운로드하려는 YouTube의 비디오 URL 목록이 포함 된 텍스트 파일 인 배치 파일을 만듭니다. URL은 하나의 URL 만 있고 각 행에는 다른 것이없고 목록의 각 URL에 대해 새 행이있는 목록에 배열되어야합니다. 배치 파일을 batch-file.txt와 같이 기억하기 쉬운 이름으로 저장하십시오. 여러 파일이 모두 YouTube의 동일한 재생 목록, 채널 또는 사용자 웹 페이지에있는 경우 다음 명령을 실행하여 해당 페이지의 모든 링크가 포함 된 목록이있는 텍스트 파일을 생성 할 수 있습니다.

sudo apt install jq  
youtube-dl -j --flat-playlist "https://<yourYoutubeWebpage>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt

터미널에서 다음을 실행하십시오.

youtube-dl -ct --simulate --batch-file='/path/to/batch-file.txt'

이 명령은 기본 명령이지만 다운로드하려는 비디오의 형식을 추가해야합니다. 그렇지 않으면 원하지 않는 형식의 비디오를 다운로드 할 수도 있습니다. 먼저 다운로드를 시뮬레이션하여 원하는 형식을 사용할 수 있는지 확인하십시오.

youtube-dl -ct -f 34 --simulate 'http://www.youtube.com/some-alphanumeric-string'

비디오 형식을 사용할 수 없으면 다음과 같은 오류 메시지가 나타납니다 requested format not available. 비디오 형식을 사용할 수 있으면 --simulate옵션 을 사용할 때 오류 메시지가 표시되지 않습니다 . -F 옵션을 추가하여 다음과 같은 모든 유효한 형식을 볼 수도 있습니다.

youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'

세 번째 명령에서는 일반적인 flv 360p 비디오 형식을 사용했습니다
-f 34. 을 사용하여 flv 480p 비디오 형식을 사용하는 것이 -f 35좋습니다. 따라서 명령에 원하는 비디오 형식을 추가하면 명령이 다음과 같이됩니다.

youtube-dl -ciw -o "%(title)s.%(ext)s" --batch-file='/path/to/batch-file.txt'

노트:

--simulate마지막 명령에 옵션을 추가하지 않았 으므로이 명령은 실제로 실행됩니다.


18

공백을 사이에두고 URL을 하나씩 넣을 수 있습니다. Youtube-dl이 순차적으로 다운로드합니다. 이것은 배치 파일을 만드는 것보다 조금 더 간단합니다.

--help 말한다 youtube-dl --help Usage: youtube-dl [options] url [url...]

샘플 입력 :

youtube-dl http://www.youtube.com/watch?v=fqULJBBEVQE http://www.youtube.com/watch?v=vDbbz-BdyYc http://www.youtube.com/watch?v=OrIFaWJ9Glo

샘플 출력 :

    [youtube] Setting language
    [youtube] fqULJBBEVQE: Downloading video webpage
    [youtube] fqULJBBEVQE: Downloading video info webpage
    [youtube] fqULJBBEVQE: Extracting video information
    [download] Destination: Web Components - A Tectonic Shift for Web Development - Google I_O 2013-fqULJBBEVQE.mp4
    [download] 100% of 238.14MiB in 36:54
    [youtube] vDbbz-BdyYc: Downloading video webpage
    [youtube] vDbbz-BdyYc: Downloading video info webpage
    [youtube] vDbbz-BdyYc: Extracting video information
    [download] Paul Irish on Web Application Development Workflow-vDbbz-BdyYc.mp4 has already been downloaded
    [youtube] OrIFaWJ9Glo: Downloading video webpage
    [youtube] OrIFaWJ9Glo: Downloading video info webpage
    [youtube] OrIFaWJ9Glo: Extracting video information
    [download] Got server HTTP error. Retrying (attempt 1 of 20)...
    [download] Destination: Single Page Web Applications - JavaScript End-to-End (The Hard Stuff)-OrIFaWJ9Glo.mp4
    [download] 100% of 553.10MiB in 42:17

1
내 의견으로는 최고의 답변! 매우 간단합니다!
gota

5

1 단계 : 바탕 화면으로 이동하여list(또는 다른 이름)이라는 텍스트 문서를 만듭니다. 파일로 다운로드 할 파일 인 경우 한 줄에 하나씩 URL을 복사하여 붙여 넣기

2 단계 : 터미널을 열고 바탕 화면으로 이동

cd Desktop

3 단계 : 목록에있는 파일을 다운로드하려면 다음 을 입력list하십시오 (파일 이름을 다르게 지정한 경우대체)

youtube-dl -a list

YouTube 채널 을 다운로드하려면

이 명령을 실행

youtube-dl -citk -format mp4 -yes-playlist VIDEO_PLAYLIST_LINK
  • -c 부분적으로 다운로드 한 파일을 재개
  • -i 오류를 무시하십시오.
  • -t 비디오 타이틀을 파일 이름으로 사용하십시오.
  • -k 사후 처리가 완료된 후 비디오를 디스크에 보관하십시오.
  • --format mp4 비디오 파일을 MP4 파일로 저장하십시오.
  • --yes-playlist 뒤에 나오는 URL이 동영상 재생 목록을 가리키는 지 확인합니다.

1
-citk매우 오도되어 오류가 발생할 수 있습니다. -c이해가되지 않더라도 다시 시작하도록합니다. 기본값은 이미 계속 진행 중입니다. -i괜찮을지 모르지만 일부 비디오의 오류를 놓칠 수 있습니다. -t이미 기본값이며 더 이상 사용되지 않습니다. -k와 의미가 없습니다 -f mp4. 자세한 내용은 youtube-dl FAQ 를 참조하십시오.
phihag

3

동영상 URL이 여러 개인 경우 새 URL을 만들거나 기존 URL을 사용하여 하나의 재생 목록에서 YouTube 재생 목록에 추가합니다.

그런 다음 아래 명령을 사용하십시오.

youtube-dl -f FORMAT --yes-playlist [url-of-playlist]

--yes-playlistURL이 비디오 및 재생 목록을 참조하는 경우이 옵션 은 재생 목록을 다운로드합니다.

YouTube에서 링크 된 동영상이있는 웹 사이트에서 수백 개의 동영상을 다운로드 할 목적으로 찾은 가장 간단하고 빠른 옵션입니다.


동일한 채널에서 많은 동영상을 다운로드 할 때 유용합니다. 비공개 재생 목록을 사용하여 공개하지 않을 수 있습니다
qwr

3

여러 비디오를 다운로드하려면이 구조를 사용할 수 있습니다. @coreyb의 응답과 비슷하지만 에코와 같이 bash의 다른 곳에서도 사용할 수 있습니다. 두 가지 방법이 있습니다.

바지 멜빵

youtube-dl -f FORMAT {url1,url2,url...}

마지막 인수없이 마지막 명령을 반복

youtube-dl -f FORMAT url1; !:- url2; !:-url...

3

가장 간단한 해결책은 다음과 같은 bash 스크립트를 만드는 것입니다.

#!/bin/bash
terminal=`tty`
exec < ~/Documents/youtubevideolinks.txt

while read -r line
do
    cd ~/Desktop/TilakDa/
    youtube-dl -f 18 "$line"
done
exec < "$terminal"

해당 txt 파일의 비디오 링크를 폴더의 각 비디오 URL과 함께 문서 폴더에 복사하여 붙여 넣은 다음이 스크립트를 실행 하면 비디오가 하나씩 다운로드됩니다 . 기본적으로 -f 18옵션은 360p 비디오입니다.


1

명령을 입력 한 후 &&다음 명령 을 입력 하고 입력하십시오.

youtube-dl--add-metadata -xic http://(the url) && youtube-dl--add-metadata -xic http://(the url) 

1

bash 스크립트로 시도하십시오.

while read LL ; do youtube-dl "$LL" ; done < your_file

1

주제는 여전히 관련이 있으므로 다음과 같습니다.

  • YouTube 링크를 얻으십시오.
  • 로 시작하는 첫 번째 비디오 매개 변수를 제거하십시오. ?
  • 이처럼 사용하십시오 :-)

    youtube-dl.exe --yes-playlist https://www.youtube.com/watch?list=yourlistlink
    

이것은 나를 위해 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.