php - 最高格式的YouTube下载器(服务器端)

标签 php scripting download youtube mp4

欢迎,

我正在寻找能使我以尽可能高的格式下载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/

相关文章:

android - 设置自定义文件夹 Android 下载管理器

php - 使用 php 更新查询不起作用

perl - 如何确定 LWP::Simple 的 getstore() 的下载速度和数量?

php - $_POST[] 的默认值;

bash - 获取定时进程的 PID 以及时间的输出

scripting - 程序化图形工具链

javascript - 拆分字符串并获取最长字符串的最大长度

PHP:浏览器只是下载文件而不是复制它

php - 来自 2 个 mysql 表的动态下拉列表

php - 来自 mysql 数据的 Highchart json 无法显示在折线图中