资源预览内容
第1页 / 共5页
第2页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
PHP 动态生成 m3u8 文件1 需求分析由于要在视频播放前(中)播放广告,一种 HLS 方案是在电影 m3u8 文件中插入广告的 m3u8,动态生成一个新的 m3u8 文件,播放这个新的 m3u8 文件,就可以实现播放视频时插播广告,或在播放电影之前播放广告。广告 m3u8 文件电影 m3u8 文件:2 PHP 源码PHP 程序读取这两个文件的 ts 部分内容,合成一个新的文件即可。PHP 源码参考:;/echo $mvname.;/echo date(ymdhis,time();/echo aa.file_exists(test.txt);/$fileName = test.m3u8;$fileName = $adname . $mvname . .m3u8;/echo $fileName;if (file_exists(ad2mov8.m3u8) /echo file already exist;else/根据传进来的路径,解析出广告和电影切片文件所在路径/取最后一个/之前的内容即可$adSegSrc = substr($adsrc, 2, strrpos($adsrc, /) - 1);$movSegSrc = substr($moviesrc, 2, strrpos($moviesrc, /) - 1);/echo $adSegSrc .;/echo $movSegSrc.;/读广告 m3u8 文件$fp = fopen($adsrc, r);if ($fp) for ($i = 1; !feof($fp); $i+) $lineStr = fgets($fp);if (false = strpos($lineStr, EXT-X-ENDLIST) if (strpos($lineStr, .ts) /echo $domainAddr.$adSegSrc.$lineStr;file_put_contents($fileName, $domainAddr . $adSegSrc . $lineStr, FILE_APPEND); else /echo $lineStr;file_put_contents($fileName, $lineStr, FILE_APPEND); else echo 打开文件失败 ;fclose($fp);/读电影 m3u8 文件$fp2 = fopen($moviesrc, r);if ($fp2) for ($i = 1; !feof($fp2); $i+) $lineStr = fgets($fp2);if (strpos($lineStr, .ts) /echo $domainAddr.$movSegSrc.$lineStr;file_put_contents($fileName, $domainAddr . $movSegSrc . $lineStr, FILE_APPEND); else if (strpos($lineStr, EXTINF) /echo $lineStr;file_put_contents($fileName, $lineStr, FILE_APPEND); else echo 打开文件失败 ;fclose($fp2);/最后输出一个 m3u8 结尾file_put_contents($fileName, #EXT-X-ENDLIST, FILE_APPEND);/echo #EXT-X-ENDLIST;/返回 m3u8 file url 给调用者echo $domainAddr . /php/ . $fileName;?
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号