2010-12-09 7 views
4

YouTube에서 mp4 파일을 다운로드하는 스크립트가 있습니다. 그것의 역할은 http://youtube.com/get_video?video_id= * VIDEO_ID * & & t = * THE_TOKEN * = & fmt = 18 & asv = 2 형식의 링크를 생성하는 것입니다. 그러나 더 이상 작동하지 않습니다. 어떻게 생각해?YouTube에서 다운로드 할 수 없습니다.

+5

우리 모두는 우리를 위해 youtube dl 링크를 따라 가기 위해 오픈 소스 프로젝트를 심각하게 필요로합니다. 나는 그들의 게임에 뒤지지 않는 채로 지쳐있다. – samquo

답변

12

비디오를 가져 오기 위해 get_video를 사용하는 대신 fmt_url_map (format-url map)을 대신 파싱 해보십시오.

토큰을 찾은 곳에서 fmt_url_map을 찾을 수 있습니다 (예 : YouTube 플래시 동영상 플레이어의 플래시 바 또는 어딘가의 YouTube 페이지). 찾을 수없는 경우 http://www.youtube.com/get_video_info?video_id=VIDEO_ID ()로 요청하면 name=value&name=value&... 형식의 결과가 매우 길어집니다.이 결과 내에서 "fmt_url_map"을 찾습니다 (결과로 " & fmt_url_map = "로 끝나며"& "로 끝남). 이 값을 얻을 후

, 그것은 (줄 바꿈없이) 같은 것 (당신은 그것을-디코딩 URL로 할 수 있습니다) : 각각의 쉼표로 구분 된 항목이 FMT 값으로 시작

22|http://blah.youtube.com/videoplayback?blah, 
35|http://blah.youtube.com/videoplayback?blah, 
... 

(예에서 22 또는 35) 다음에 파이프 문자가오고, 그 다음에 URL을 입력하여 비디오를 해당 형식으로 다운로드 할 수 있습니다. (이 URL은 클라이언트마다 다르므로 특정 클라이언트의 URL은 YouTube 검사 IP로 인해 다른 클라이언트와 작동하지 않을 가능성이 높으며 한시간 후에 만료됩니다.)

다른 fmt 값은 http://en.wikipedia.org/wiki/YouTube#Quality_and_formats을 참조하고 "Comarison of YouTube 미디어 인코딩 옵션"을 표시하십시오. 참고 : 모든 비디오 형식에서 일부 형식을 사용할 수있는 것은 아닙니다.

+0

loooot 감사합니다! 가능하다면 – Leg10n

+0

+10. 그래도 질문 : 당신은 그것이 클라이언트에 특화된 것이므로 사용자가 자신의 파일을 다운로드 할 수있는 URL을 생성하면 작동하지 않을 것입니다. 그것을위한 다른 해결책? – samquo

+0

문제가 될 수 있습니다 (get_video에도이 문제가 있음). 실제로 페이지를 요청하고 외부 서버에서 다운로드 URL을 얻으면 YouTube는 get_video 메소드의 각 토큰과 IP를 연결하는 방법과 마찬가지로 서버의 IP를 해당 URL과 연결합니다. 웹 브라우저에서이 작업을 수행하려고한다고 가정하면 Java 애플릿을 사용하여 클라이언트 쪽에서 시도해 볼 수 있습니다 (즉, 꽤 어려울 지 모르지만 clipnabber.com과 같은 많은 사이트에서 할 수 있습니다). 모든 클라이언트 측 프로그램을 작성하는 중이라면 모든 요청이 클라이언트의 IP – jhartz

0

그들은 fmt 옵션을 제거한 것처럼 보입니다. http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs을 참조하십시오.

+0

전혀 좋지 않습니다! 어떤 사람이 해킹을 발견 할 수 있는지 궁금하다면 ... – Alex1987

+2

http://www.youtube.com/get_video_info?video_id=*VIDEO_ID*에서 fmt_url_map을 구문 분석하면보다 직접적인 다운로드 URL을 얻을 수 있지만, 가능한 모든 형식을 가지고 있지 않습니다 ... – jhartz

+0

이것은 위대한 사람입니다! 당신은 정말로 이것을 답으로 써야합니다! – Alex1987

관련 문제