我已经在应用程序‘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包含时间戳命名的块,并且可以正常运行。我的问题是--有没有可能创建一个时间移位版本的index.m3u8,它可以播放时间移位后的流?
所以http://server/live/test.stream/index.m3u8播放是6小时前录制的。
我听说我可能需要一个选择ts.chunks 6小时的python script/C。那么我该如何实现这一点呢。
发布于 2015-10-13 17:58:32
你也可以使用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;
?>https://stackoverflow.com/questions/31266868
复制相似问题