获取yy手机端直播m3u8地址#附带解决苹果浏览器和微信播放视频

2018-08-21  本文已影响64人  四季变幻

忘了之前是怎么获取的了 貌似是用PC浏览器切换到手机模式截取的 但是目前PC浏览器播放不了视频了 也就获取不到视频实际地址 还有个貌似可行方案有点复杂 借助火狐浏览器PC端调试手机火狐浏览器的方法截取 莫非之前就是这样做的?

以下给代码:

$channel = $cfg['config']['phonefp'];//YY频道号 如:22490604/22490604

$url = "http://interface.yy.com/hls/get/0/{$channel}?appid=0&excid=700&type=m3u8&isHttps=0&callback=jsonp1";

//echo $url;exit;

//exit($url);

$ch = curl_init(); //初始化curl

curl_setopt($ch, CURLOPT_URL, $url); //设置请求链接

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 将curl_exec()获取的信息以文件流的形式返回,而不是直接输出

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); //使用自动跳转

curl_setopt($ch, CURLOPT_MAXREDIRS, 15); //指定最多的HTTP重定向的数量,这个选项是和CURLOPT_FOLLOWLOCATION一起使用的。

curl_setopt($ch, CURLOPT_HEADER, 0); // 如果你想把一个头包含在输出中,设置这个选项为一个非零值

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"); //模拟用户使用的浏览器

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); //在发起连接前等待的时间,如果设置为0,则无限等待

curl_setopt($ch, CURLOPT_TIMEOUT, 30); //设置超时限制防止死循环

curl_setopt($ch, CURLOPT_REFERER, 'http://wap.yy.com');

$buffer = curl_exec($ch); //执行一个curl会话

curl_close($ch); // 关闭句柄

$buffer = trim(str_replace('jsonp1', '', $buffer), '()');

//print_r($buffer);exit;

$buffer = json_decode($buffer, TRUE);

$video_html = '<video  src="'.$buffer['hls'].'"  controls="" x5-playsinline="" playsinline="" webkit-playsinline="" poster="" preload="auto" width="100%" height="100%"></video>';

上一篇 下一篇

猜你喜欢

热点阅读