如何使用php获取流媒体的内容

时间:2015-03-03 20:04:43

标签: php

如何使用php获取流式传输的内容。

例如:

http://www.youtube.com/get_video_info?&video_id=Wd9WOxJXQq4

我尝试获取内容,但缺少大量数据。

如何读取整个文件,从上面的URL返回所有数据?

function curlGet($URL) {
 if ($stream = fopen($URL, 'r')) {
    echo '<pre>';
        echo urldecode(urldecode(urldecode(stream_get_contents($stream))));
    fclose($stream);
    echo '</pre>';
    }
}  

echo curlGet('http://www.youtube.com/get_video_info?&video_id=Wd9WOxJXQq4');

1 个答案:

答案 0 :(得分:3)

为什么三重 -urldecode?

您展示的网址不是流,而是明文。

使用更易于处理的JSON API:

http://gdata.youtube.com/feeds/api/videos/Wd9WOxJXQq4?v=2&alt=json

<?php
$json = json_decode(trim(file_get_contents(
    'http://gdata.youtube.com/feeds/api/videos/Wd9WOxJXQq4?v=2&alt=json'
)));

print_r($json);

To&#34; restream&#34; youtube内容,然后您使用json对象中相应的Url属性并继续使用fgets(),并使用ob_flush(); flush();将其以块的形式刷新到浏览器。