欢迎,
我正在寻找能使我以尽可能高的格式下载youtube视频的youtube api。
几年前,这项工作更为简单,因为url拥有关于质量的信息,例如“fmt = 22”或“fmt = 6”,我们现在生活在将来,并且该信息已嵌入播放器中。
现在更复杂了……谷歌使用缓存服务器,而get_video不起作用。
例如:
http://www.youtube.com/watch?v=XIz-MmKeoCs
(这只是高清示例,请勿评论音乐)
现在我正在使用旧的PHPtube类(2007年)。
phpclasses.org/browse/package/3966.html
它仅允许通过flv以最低质量下载文件。
我的问题是,有人上课允许最高下载吗?
我提供视频ID-> XIz-MmKeoCs
它应该检查可以下载的质量。
现在我不知道如何得到...
并给出下载链接。 (当然,我知道IP使用的安全性,并希望使用file_contents在我的服务器上下载文件),但我仅在获得该下载链接时才遇到麻烦。
我将竭诚为您服务...
最佳答案
将此帖子用作指导:youtube get_video not working
使用该示例中的$ ytarr ['fmt_url_map'],您可以将其explode()成各种可用格式:
$fmt_array = array('5','34','35');
$fmt_available = explode(',', $ytarr['fmt_stream_map']);
foreach ($fmt_array as $val) {
foreach ($fmt_available as $fmtstr) {
if (strpos($fmtstr,"$val|") !== false){
$format = explode('|', $fmtstr);
break 2;
}
}
}
echo $format['1'];
$ fmt_array将按优先级顺序保存您想要的所有格式。在此示例中,它将首先打印到格式5的直接链接,如果5不可用,则将打印34,依此类推。您显然希望更改该数组以首先列出最高格式。
关于php - 最高格式的YouTube下载器(服务器端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2299688/