youtube-dl을 사용한 재생 목록 다운로드 문제


19

업데이트하려고 할 때 YouTube에서 재생 목록을 다운로드하려고 할 때 youtube-dl을 업데이트해야한다는 메시지가 표시됩니다.이 오류 메시지가 표시됩니다.

elshahen@elshahen-LAB:~$ youtube-dl -cit https://www.youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2
[youtube:playlist] PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2: Downloading page #1
WARNING: [youtube:playlist] PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2: Playlist page is missing OpenGraph title, falling back ...
ERROR: Unable to extract title; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.

그래서 ... 제안한 일을 했습니까?
Nattgew

1
제목에 설명 된 문제가 발생했지만 다른 이유가 있습니다. 누군가가 이것에 부딪 치면 (오류 메시지가 다름) youtube-dl -x "https://www.youtube.com/watch?v=abcd&list=efgh"Windows cmd.exe와 Linux 셸이 앰퍼샌드 &를 특수 문자로 해석하기 때문에 URL을 따옴표로 묶어야 합니다.
f.ardelian

답변:


31

나는이 문제가 있었다 .. 이런 식으로 시도 ...

youtube-dl의 이전 버전을 제거하십시오.

sudo apt-get remove -y youtube-dl

공식 웹 사이트에서 최신 버전을 다운로드하십시오.

sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl

다운로드 한 파일의 권한 변경

sudo chmod a+x /usr/local/bin/youtube-dl

자세한 내용은 이 링크 를 확인하십시오.

이것이 도움이 되길 바랍니다 ..


6

webUpd8의 ppa를 사용하십시오 : ppa : nilarimogard / webupd8

항상 최신 버전이 포함되어 있습니다.

sudo apt-get remove youtube-dl
sudo apt-add-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install youtube-dl

5

귀하의 질문에 재생 목록을 다운로드하려고 시도했지만 동일한 오류 메시지가 나타납니다. 잘 작동하는 youtube-dl을 업데이트하는 대신 재생 목록 웹 페이지로 이동하여 URL을 복사하고 터미널에서 다음 명령을 실행했습니다.

sudo apt install jq # command-line JSON processor    
cd Desktop/    
youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt  

이 명령의 결과는 해당 웹 페이지의 모든 링크 목록입니다. 나는 모든 비디오의 URL (다른 링크가 아닌 비디오 만)의 URL 목록을 각 줄에 새 배치로 배치 파일로 만들었습니다. 그런 다음이 지침에 따라 단일 명령으로 모든 비디오를 다운로드 할 수 있습니다.

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

    youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt 
    
  2. 터미널에서 다음을 실행하십시오.

    youtube-dl -ct --simulate --batch-file='/path/to/batch-file.txt'
    
  3. 이 명령은 기본 명령이지만 다운로드하려는 비디오의 형식을 추가해야합니다. 그렇지 않으면 원하지 않는 형식의 비디오를 다운로드 할 수도 있습니다. 먼저 다운로드를 시뮬레이션하여 원하는 형식을 사용할 수 있는지 확인하십시오.

    youtube-dl -ct -f 34 --simulate 'http://www.youtube.com/some-alphanumeric-string'
    
  4. 비디오 형식을 사용할 수 없으면 다음과 같은 오류 메시지가 나타납니다 requested format not available. 비디오 형식을 사용할 수 있으면 --simulate옵션 을 사용할 때 오류 메시지가 표시되지 않습니다 . 다음 -F과 같은 유효한 형식을 모두 볼 수있는 옵션을 추가 할 수도 있습니다 .

    youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'
    
  5. 위의 명령에서 일반적인 flv 360p 비디오 형식을 사용했습니다 -f 34. 을 사용하여 flv 480p 비디오 형식을 사용하는 것이 -f 35좋습니다. 명령에 원하는 비디오 형식을 추가하면 명령이 다음과 같이됩니다.

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

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


나는 추가했다 | grep index = 목록 파일 만 가져옵니다 lynx --dump " youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2 "| awk '/ http / {print $ 2}'| 유니크 | grep index =
탈 시모니

0

아래 코드를 사용하고 있습니다

youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz

업데이트 후에도 비슷한 오류가 발생했습니다. 그래서 '-cit'대신 '-citv'를 사용했는데 효과가있었습니다.

youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.