← Форум / Вопросы / не воспроизводит по плейлисту m3u8
Установил на сайт HTML5-плеер. Пытаюсь запустить воспроизведение по плейлисту:
<script>
this.player = new Uppod({"file":"/uppod/playlist2.m3u8", uid:"videoplayer", hls_debug:true});
</script>
если указываю конкретный видеофайл все ОК. С плейлистом вроде ошибок нет, но при нажатии на воспроизведение появляется надпись "загрузка" и все. Во вкладе браузера network вижу, что видеофайл первый из плейлиста тоже браузер берет, но воспроизведения нет.
log с консоли:
Navigated to ссылка
uppod.js:10 [log] > attachMedia
uppod.js:10 [log] > media source opened
uppod.js:10 [log] > loadSource:ссылка
uppod.js:10 [log] > trigger BUFFER_RESET
uppod.js:10 [log] > manifest loaded,1 level(s) found, first bitrate:undefined
uppod.js:10 [log] > startLoad(-1)
uppod.js:10 [log] > switching to level 0
uppod.js:10 [log] > main stream:STOPPED->IDLE
uppod.js:10 [log] > Loading 0 of [0 ,6],level 0, currentTime:-1.000,bufferEnd:-1.000
uppod.js:10 [log] > demuxing in webworker
uppod.js:10 [log] > main stream:IDLE->FRAG_LOADING
uppod.js:10 [log] > audio tracks updated
uppod.js:10 [log] > subtitle tracks updated
uppod.js:10 [log] > level 0 loaded [0,6],duration:187.27310999999997
uppod.js:10 [log] > Loaded 0 of [0 ,6],level 0
uppod.js:10 [log] > main stream:FRAG_LOADING->PARSING
uppod.js:10 [log] > Parsing 0 of [0 ,6],level 0, cc 0
uppod.js:10 [log] > main:discontinuity detected
uppod.js:10 [log] > main:switch detected
uppod.js:10 [log] > Parsed ,PTS:[0.000,29.923],DTS:[0.000/29.923],nb:1,dropped:0
uppod.js:10 [log] > main stream:PARSING->PARSED
да как же нерабочий ? я ведь написал, если вместо плейлиста ставлю конкретный файл из списка все проигрывает отлично. А по плейлисту явно первый файл подгружается в браузер.
я ведь объяснил сервер со всем контентом (и mp4 и m3u8) в частной сети, без доступа извне, вы не сможете протестировать находясь за пределами этой сети.
там и не написано "ссылки", там URL на файл на сервере, пробовал и просто проставлять только имя файла ничего не поменялось. Т.е. изначально там было что то типа (перезаписал уже старый файл, это новый, но суть та же):
Итак проблема решена !!!
Перевел ffpmeg на запись в формате ts, теперь все замечательно пишется и воспроизводится.
И uppod и videojs заработали одновременно.
Плейлист сформирован автоматически ffmpegом.
Как можно еще проверить ?
uppod.Play("…")
какой файл указываем в "…" ? Плейлист m3u8 ? Вот именно если это указать, то и появляется надпись "Загрузка"
mp4 воспроизводится отлично.
И то они короткие по 9 секунд
Вот и будет поток
завтра уже попробую перейти на сегментацию ts и покороче фрагменты.
спасибо за советы.
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:14
#EXT-X-MEDIA-SEQUENCE:1
#EXTINF:11.428,
media-sid2950051-b5000000_1.ts
#EXTINF:13.055,
media-sid2950051-b5000000_2.ts
#EXTINF:9.676,
media-sid2950051-b5000000_3.ts
#EXTINF:10.344,
media-sid2950051-b5000000_4.ts
#EXTINF:11.178,
media-sid2950051-b5000000_5.ts
#EXTINF:10.302,
media-sid2950051-b5000000_6.ts
#EXTINF:10.218,
media-sid2950051-b5000000_7.ts
#EXTINF:12.846,
media-sid2950051-b5000000_8.ts
#EXTINF:10.219,
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:96
#EXTINF:89.923307,
out000.mp4
#EXTINF:95.513346,
out001.mp4
#EXT-X-ENDLIST
на счет ts не соглашусь, там может быть любой поддерживаемый формат, в т.ч. и mp4.
P.S. в общем сейчас буду пробовать videojs с поддержкой HLS.
Вот там можно всё что хочешь прописывать..и мр4
Перевел ffpmeg на запись в формате ts, теперь все замечательно пишется и воспроизводится.
И uppod и videojs заработали одновременно.