Youtube视频下载网址

RYN*_*RYN 31 youtube url download

我写了一个获取youtube视频URL的程序并将其下载到
今天我这样做:
1.从"/ get_video_info?video_id = ID"获取视频"token",如:

http://www.youtube.com/get_video_info?video_id=jN0nWjvzeNc  
Run Code Online (Sandbox Code Playgroud)

2.通过"/ get_video?video_id = ID&t = TOKEN&fmt = FORMAT_ID"请求下载视频,如:

http://www.youtube.com/get_video?video_id=jN0nWjvzeNc&t=vjVQa1PpcFMgAK0HB1VRbinpVOwm29eGugPh3fBi6Dg%3D&fmt=18  
Run Code Online (Sandbox Code Playgroud)

但这不再适用了!
什么是新的下载URL?

谢谢

小智 15

实际上我正在研究从youtube下载视频文件的类似项目.我发现Youtube可能会阻止get_video.因此,我使用从get_video_info检索到的视频信息而不是使用get_video.,并将其解压缩以获取视频文件网址.

在get_video_info中,有url_encoded_fmt_stream_map.对其进行编码后,您可以找到不同格式的每个视频的网址和签名值.所以文件网址就像[url value] +'&signature ='+ [sig value].

另外,我发现以下使用与我相同的方法的主题.希望它可以帮到你.

无法从youtube下载

如果您对如何下载YouTube视频文件感兴趣,我会编写一个小程序来演示该过程.你可以自由使用它.

https://github.com/johnny0614/YoutubeVideoDownload


小智 10

添加&asv=2到URL的末尾.


Lic*_*son 10

您只能使用直接获取流

http://www.youtube.com/get_video_info?video_id=jN0nWjvzeNc

我制作了一个小脚本来流式传输PHP中的YouTube视频.了解脚本如何获取视频文件.

<?php 
@set_time_limit(0); 
$id = $_GET['id']; //The youtube video ID
$type = $_GET['type']; //the MIME type of the video

parse_str(file_get_contents('http://www.youtube.com/get_video_info?video_id='.$id),$info); 
$streams = explode(',',$info['url_encoded_fmt_stream_map']); 

foreach($streams as $stream){ 
    parse_str($stream,$real_stream); 
    $stype = $real_stream['type']; 
    if(strpos($real_stream['type'],';') !== false){ 
        $tmp = explode(';',$real_stream['type']); 
        $stype = $tmp[0]; 
        unset($tmp); 
    } 
    if($stype == $type && ($real_stream['quality'] == 'large' || $real_stream['quality'] == 'medium' || $real_stream['quality'] == 'small')){ 
        header('Content-type: '.$stype); 
        header('Transfer-encoding: chunked'); 
        @readfile($real_stream['url'].'&signature='.$real_stream['sig']); //Change here to do other things such as save the file to the filesystem etc.
        ob_flush(); 
        flush(); 
        break; 
    } 
}
?>
Run Code Online (Sandbox Code Playgroud)

请参阅此处的工作演示.我希望这可以帮到你.


ron*_*bai 6

经过多次失败的尝试,这个 github 存储库帮助了我:

https://github.com/rg3/youtube-dl

只获取网址,如:

youtube-dl 'https://www.youtube.com/watch?v=bo_efYhYU2A' --get-url

下载 mp4 并另存为 a.mp4,例如:

youtube-dl 'https://www.youtube.com/watch?v=bo_efYhYU2A' -f mp4 -o a.mp4

祝你好运。