Задать вопрос

M3u8 начать не с начало плейлиста?

Пишу канал через FFmpeg (в формате HLS) нарезка, там автоматом создаётся плейлист, вопрос, как можно воспроизвести не сначало плейлиста, а к примеру от опеределённого момента ?
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:11
#EXTINF:10.652922,
live000.ts
#EXTINF:9.480000,
live001.ts
#EXTINF:10.440000,
live002.ts
#EXTINF:9.480000,
live003.ts
#EXTINF:9.480000,
live004.ts
#EXTINF:10.440000,
live005.ts
#EXTINF:9.480000,
live006.ts
#EXTINF:10.440000,
live007.ts
#EXTINF:9.480000,
live008.ts
#EXTINF:9.480000,
live009.ts
#EXTINF:10.440000,
live010.ts
#EXTINF:9.480000,
live011.ts
#EXTINF:10.440000,
live012.ts
#EXTINF:9.480000,
live013.ts
#EXTINF:10.440000,
live014.ts

К примеру чтобы воспроизвёлся последний чанки live014.ts, желательно средствами PHP, так как всё будет на сервере.
  • Вопрос задан
  • 2655 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@OKNOZA Автор вопроса
Проблему решил, в тот день, отпишусь сейчас тут.
#EXTM3U
 #EXT-X-TARGETDURATION:61
 #EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:60,
live000.ts
#EXTINF:60,
live001.ts
****
тут чанки ваши прописываем.
****
#EXTINF:60,
live005.ts
#EXT-X-ENDLIST

Получается один чанки длительность 60 сек = 1 минута.
Вы можете выставить в FFmpeg своё время, оптимальное 5 сек. (60 это мой экспер.)
Также код на PHP по подготовке плей листа.
$file = "record.m3u8";
//если файла нету... тогда
if( !file_exists($file)) {
$fp = fopen($file, "w"); // ("r" - считывать "w" - создавать "a" - добовлять к тексту), мы создаем файл
 fwrite($fp, "#EXTM3U\n #EXT-X-TARGETDURATION:10\n #EXT-X-PLAYLIST-TYPE:VOD\n");
 for($i =  0; $i < 6; ++$i){
    fwrite($fp, sprintf("#EXTINF:60,\nlive%03d.ts\n", $i));
 }
 fwrite($fp,"#EXT-X-ENDLIST");
fclose ($fp);
}

К EPG прикрутить его, и можно на сайте сделать видео архив. (а также в PHP заменить на свои значения)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы