turbo / turbo-m3u8
m3u8裁剪、下载、插入
v1.0
2020-04-12 15:36 UTC
Requires
- php: ^7.0
README
使用
composer require turbo/turbo-m3u8
获取m3u8文件信息(文件总时长,文件加密方式及密钥地址和IV等信息)
use TurboM3u8\M3u8; $obj = M3u8::input($m3u8FilePath); $obj->getInfo();
裁切
非精准裁切,由于ts的时间精度决定
$fromTime = 10; $duration = 20; $obj->clip($fromTime, $duration); $obj->save($newFileName);
下载指定m3u8到某个文件夹【包含文件中的ts】,m3u8会自动保存为index.m3u8文件,所以该文件夹必须是给该资源独立使用的,否则面临被覆盖的风险
$obj->download($saveDir, function($process){ echo "下载进度:{$process}%\n"; });
插入广告
非精准插入,由于ts的精度决定,所插入广告必须和原文件一致的加密方法和密钥或者不加密
$fromTime = 10; $duration = 20; $obj->insert( $fromTime, $adFileName, $duration); $obj->save($newFileName);
合并m3u8文件
所合并的文件必须和原文件一致的加密方法和密钥或者不加密
$file1 = '/clip_60_d43ccd5edc1b5f2c67eaae3760b7aaf2.m3u8'; $file2 = '/uploads/20200412/9bd2664d3e9df07f777acd1c0b8ae625.m3u8'; $obj = M3u8::input($file1); $obj->merge($file2); $obj->save('download/merge.m3u8','');