解锁通过m3u8地址获取多种清晰度m3u8地址的方法
不管是上传还是api方式入库,保存到系统的m3u8地址只有一个,但是在实际情况可能会需要调用到不同的清晰度地址。这里用php给大家一个示范思路,以后就知道怎么去应用了。
<?php
$url=$_GET['url'];//'http://localhost:2100/20190615/7W0Vaxpi/index.m3u8'
$URL2ARR=parse_url($url);
$DIRPATH=explode('/',$URL2ARR['path']);
$PORT=$URL2ARR['port']?':'.$URL2ARR['port']:'';
$INDEXM3U8_URL=$URL2ARR['scheme'].'://'.$URL2ARR['host'].$PORT.'/'.$DIRPATH[1].'/'.$DIRPATH[2];
/**
* 拼接入口M3U8
* */
$M3U8_CONTENT=file_get_contents($INDEXM3U8_URL.'/index.m3u8');
/**
* 获取入口M3U8内容
*/
preg_match_all('/(\d+)kb\/hls/i',$M3U8_CONTENT,$BITARR);
/**
* 正则提取多码率
* */
foreach ($BITARR[1] as $key => $value) {
$BITJSON[$value]=[
'url'=>$INDEXM3U8_URL.'/'.$value.'kb/hls/index.m3u8'
];
}
echo json_encode($BITJSON);
bit.rar