如何通过m3u8地址获取多种清晰度m3u8地址

发布时间:2019-06-25 10:32:48
关于打击盗版的公开声明:http://www.yunzhuanma.com/wenti/2019-06-21/184.html
云转码最新版地址下载:http://www.yunzhuanma.com/xiazai/2016-06-22/1.html

 不管是上传还是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);

以上示范通过一个PPVOD输出的一个m3u8地址,来获取该视频下面多种清晰度的m3u8地址。

应用场景:

1、通过会员权限控制,输出不同清晰度的视频地址。

2、手机app播放器需要用到多种清晰度切换。