如何从youtube供稿中提取RTSP链接

时间:2012-08-07 21:01:16

标签: php json parsing youtube

假设我们有youtube视频ID

$vid = "g6Sji2R1kkQ";

然后使用

等提要
$vfeed="http://gdata.youtube.com/feeds/api/videos/$vid";

或者也可以使用

$vfeed="http://gdata.youtube.com/feeds/api/videos?q=$vid&format=1&alt=json";

这两个链接都显示了很多数据,如标题,关键字,描述......等等。

在该数据中有RTSP个链接(智能手机的视频链接)。

如何解析任何此gdata个链接以提取rtsp链接

我想在上面的id示例中得到它,rtsp链接应该是

rtsp://v1.cache2.c.youtube.com/CiILENy73wIaGQlEknVki6OkgxMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp

任何帮助!

2 个答案:

答案 0 :(得分:1)

试试Zend GData

$youtube = new Zend_Gdata_YouTube();

//Grab Video data
$videoEntry = $youtube->getVideoEntry('video_code');

foreach ($videoEntry->mediaGroup->content as $content)
  if ($content->type === "video/3gpp")
    echo 'Mobile RTSP link: ' . $content->url . "<br>";

答案 1 :(得分:0)

我对json了解不多,所以我使用了第一个Feed链接 我找到了很好的功能,可以帮助我将结果作为数组

function getvinfo($url){
$string = @file_get_contents($url);
if(!$string){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0');
$string = curl_exec($ch);
curl_close($ch);
}
return $string;
}

然后我将解析生成的array以获取media:content以获取rtsp链接