PHP 中的 YouTube 视频下载器脚本

日期: 栏目:源码 浏览:94 评论:0

YouTube 是我们在线观看视频的最受欢迎的视频共享平台。然而,我们经常需要获取这些 YouTube 视频以供离线使用。如果您是一名 PHP 开发人员,那么您肯定正在寻找一个 PHP 脚本来将 YouTube 视频下载到本地服务器上。因此,在这篇文章中,我们将解释如何轻松地创建自己的 PHP 脚本来下载您最喜爱的 YouTube 视频。

PHP 中的 YouTube 视频下载器脚本-第1张图片-Ceacer网络

我们知道 YouTube 没有提供任何获取原始视频的方法,但我们仍然可以下载它。由于播放器始终会向http://youtube.com/get_video_id?video_id=THE_VIDEO_ID发出 HTTP 请求来获取有关特定视频的信息。请求的结果包含一个 URL 编码的字符串,其中包含视频的位置。因此,我们需要首先获取视频的该部分。

$vid = $_GET [ 'vid' ]; // YouTube 视频 ID 
$vformat = $_GET [ 'vformat' ]; // 视频的 MIME 类型。例如 video/mp4、video/webm 等。
parse_str ( file_get_contents ( "http://youtube.com/get_video_info?video_id=" . $vid ), $info ); 
$streams = $info [ 'url_encoded_fmt_stream_map' ];

现在我们将获得所有流。由于流也是由逗号分隔的不同 URL 编码数据集。为了检索所有流,我们需要使用explode(',',$streams)将其转换为数组。

foreach ( $streams as $stream ){ 
parse_str ( $stream , $data ); //现在解码流if ( stripos ( $data [ 'type' ], $vformat ) !== false ){ 
$video = fopen ( $data [ 'url' ]. '&signature=' . $data [ 'sig ' ], 'r' ); //视频
$file = fopen ( 'video.' . str_replace ( $vformat , 'video/' , '' ), 'w' ); 
Stream_copy_to_stream ( $video , $file ); 
fclose ( $video ); 
fclose ($文件);
echo 'Youtube 视频下载完成!现在检查下载的文件。; 休息; } }

下载 YouTube 视频的完整 PHP 脚本:

<? php 
$vid = $_GET [ 'vid' ]; //youtube 视频 ID 
$vformat = $_GET [ 'vformat' ]; //视频的MIME类型。例如 video/mp4、video/webm 等。
parse_str ( file_get_contents ( "http://youtube.com/get_video_info?video_id=" . $vid ), $info ); //解码数据
$streams = $info [ 'url_encoded_fmt_stream_map' ]; //视频的位置信息
$streams = explode ( ',' , $streams ); foreach ( $streams as $stream ){ 
parse_str ( $stream , $data ); //解码流if ( stripos ( $data [ 'type' ], $vformat ) !== false ){ //我们找到了格式正确的正确流
$video = fopen ( $data [ 'url' ]. '&signature=' . $data [ 'sig' ], 'r' ); //视频
$file = fopen ( 'video.' . str_replace ( $vformat , 'video/' , '' ), 'w' ); 
Stream_copy_to_stream ( $video , $file ); //将其复制到文件
fclose ( $video ); 
fclose ($文件);
echo 'Youtube 视频下载完成!现在检查文件。; 休息; } } ?>

现在,您可以在将其以 PHP 文件的形式发送到服务器后这样调用它:

http : //localhost/PHP 脚本名称.php?vid=YouTube 视频 ID&vformat=视频的 MIME 类型



标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。发布前请先查看评论规则:点我查看