我在应用程序' live':
中为hls创建了以下配置hls on;
hls_path /hls;
hls_fragment 5s;
hls_playlist_length 12h;
hls_fragment_naming system;
hls_continuous on;
hls_nested on;
pull rtmp://localhost:1935/live/test.stream name=test.stream live=1 static;
现在index.m3u8包含以时间戳命名的块并且播放正常。 我的问题是 - 是否有可能创建一个timeshift版本的index.m3u8,它会播放流向后移的流?
所以http://server/live/test.stream/index.m3u8比赛提前6小时播放。
我听说我可能需要一个python脚本/ C来选择ts.chunks 6个小时。那么我将如何实现这一目标。
答案 0 :(得分:-1)
你也可以使用php来获得这样的URL:
http://xxx.xxx.xxx.xxx/index.php?starttime=1360000000&endtime=1370000000
然后您可以定义任何开始和结束时间来创建动态m3u8
这是index.php的一个例子
<?php
$starttime = $_REQUEST["starttime"];
$endtime = $_REQUEST["endtime"];
$m3u8file = "#EXTM3U\n#EXT-X-KEY:METHOD=NONE\n#EXT-X-TARGETDURATION:10\n#EXT-X-MEDIA-SEQUENCE:".substr($starttime,0,9)."\n\n";
for ($i=substr($starttime,0,9);$i<=substr($endtime,0,9);$i++){
if (file_exists("/xxxpath/".date("YmdH",$i*10)."/".substr($i,0,9).".ts")) {
$m3u8file .= "#EXTINF:10,\n";
$m3u8file .= "/xxxpath/".date("YmdH",$i*10)."/".substr($i,0,9).".ts\n";
}
}
$m3u8file .= "#EXT-X-ENDLIST\n";
header('Content-Type: application/force-download');
header("Content-Disposition: attachment; filename=index.m3u8");
echo $m3u8file;
?>