500 Internal Server Error

При использовании движка под Windows v 3.1.16.3 и формировании из браузера запросов вида:

http://127.0.0.1:6878/ace/manifest.m3u8?id=822c469d23ec47c4ebaeb9ed402afd7d53ed8f44

движок возвращает по некоторым StreamID ошибку 500. При этом, самым важным, считаю то, что открыв этот же стримИД ч-з VLC win32, поток корректно обрабатывается.

Заголовки:

Spoiler

После редиректа:

URL: http://127.0.0.1:6878/ace/m/0dcfeef63858a5d2dbdb6c685f11aa78a6fca93a/f528764d624db129b32c21fbca0cb8d6.m3u8

Accept*/*
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Connection: keep-alive
Host: 127.0.0.1:6878
Origin: http://demo.jwplayer.com
Referer: http://demo.jwplayer.com/developer-tools/http-stream-tester/User-AgentMozilla/5.0 (Windows NT 6.1; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0

Ответ:

Server: BaseHTTP/0.3 Python/2.7.13
Date: Tue, 03 Oct 2017 14:06:32 GMT
Content-Type: text/plain
Content-Length: 13
Access-Control-Allow-Origin: *

В любом браузере, или в конкретном (вплоть до версии)?
Если по данному ID отдается 500, то воспроизводимость ошибки 100%, или “время от времени”?
Лично я по ссылке из поста ничего не увидел - сейчас этот линк “мертвый”.

Спасибо за ответ.
От браузера не зависит (опера, мозила). Воспроизведение силами hlsJS. Генерит ошибку сам двиг. Причём сравнительно быстро. Попробую досканельнее сделать заголовки. Этот же ID втыкаю в VLC- нет проблем. Так с 10-30% трансляций из ALL_SEARCH.

Запустил этот же поток по linux:
#root: wget http://127.0.0.1:6878/ace/manifest.m3u8?id=id_stream - висит… дилго. “Правильный стрим id” сразу зипишет в файл *.ts куски потока. Это же нет.

=========
Вот так это выглядит на videojs:

[details=Spoiler]VIDEOJS: WARN: Problem encountered with the current HLS playlist. Trying again since it is the final playlist. video.min.js:1:29600
GET
http://ajax.googleapis.com/jsXml/libs/webfont/1/webfont.js [HTTP/1.1 404 Not Found 82мс]
Загрузка с источником «http://ajax.googleapis.com/jsXml/libs/webfont/1/webfont.js» не удалась. 25-cnn-international.html:19
GET
XHR
http://127.0.0.1:6878/webui/api/service [HTTP/1.1 200 OK 3мс]
«application/x-mpegURL» — неподдерживаемое значение атрибута «type». Не удалось загрузить медиаресурс http://127.0.0.1:6878/ace/manifest.m3u8?id=d303febb67e4152a4a953a7dd2b60bb80ab6a984. 25-cnn-international.html
GET
XHR
http://127.0.0.1:6878/ace/manifest.m3u8 [HTTP/1.1 302 Found 228мс]
GET
http://tv-p2p.ru/skin/p2p/dleimages/marker.png [HTTP/1.1 403 Forbidden 100мс]
GET
XHR
http://127.0.0.1:6878/ace/m/d431d50ebc94c18327f7203e9a749ebb9f465f36/f528764d624db129b32c21fbca0cb8d6.m3u8 [HTTP/1.1 200 OK 3мс]
GET
XHR
http://127.0.0.1:6878/ace/c/d431d50ebc94c18327f7203e9a749ebb9f465f36/16.ts [HTTP/1.1 200 OK 75мс]
GET
XHR
http://127.0.0.1:6878/ace/c/d431d50ebc94c18327f7203e9a749ebb9f465f36/17.ts [HTTP/1.1 200 OK 12мс]
GET
XHR
http://127.0.0.1:6878/ace/c/d431d50ebc94c18327f7203e9a749ebb9f465f36/18.ts [HTTP/1.1 200 OK 517мс]
Handle complete: payback1() ego-2017.02.20.js:413:17
Timer set ego-2017.02.20.js:413:17
Ad loaded (first tick): 728×90 fixed size; Full loops: 2; Mouse: advanced ego-2017.02.20.js:413:17
Size upd: 728×90 ego-2017.02.20.js:413:17
redrawClickArea(): 728×90 ego-2017.02.20.js:413:17
Both scale: false ego-2017.02.20.js:413:17
GET
XHR
http://127.0.0.1:6878/ace/c/d431d50ebc94c18327f7203e9a749ebb9f465f36/19.ts [HTTP/1.1 200 OK 4010мс]
GET
XHR
http://127.0.0.1:6878/ace/manifest.m3u8 [HTTP/1.1 302 Found 6мс]
GET
XHR
http://127.0.0.1:6878/ace/m/d431d50ebc94c18327f7203e9a749ebb9f465f36/f528764d624db129b32c21fbca0cb8d6.m3u8 [HTTP/1.1 200 OK 4мс]
GET
XHR
http://127.0.0.1:6878/ace/c/d431d50ebc94c18327f7203e9a749ebb9f465f36/20.ts [HTTP/1.1 200 OK 5022мс]
GET
XHR
http://tv-p2p.ru/includes/jsXml/editnews.php [HTTP/1.1 200 OK 139мс]
Full loops: 1; Time passed: 10.5 sec. Jump to: round_jump ego-2017.02.20.js:413:17
GET
http://tv-p2p.ru/includes/data/emoticons/bowtie.gif [HTTP/1.1 404 Not Found 102мс]
GET
XHR
http://127.0.0.1:6878/ace/manifest.m3u8 [HTTP/1.1 302 Found 133мс]
GET
XHR
http://127.0.0.1:6878/ace/m/d431d50ebc94c18327f7203e9a749ebb9f465f36/f528764d624db129b32c21fbca0cb8d6.m3u8 [HTTP/1.1 200 OK 3мс]
GET
XHR
http://127.0.0.1:6878/ace/c/d431d50ebc94c18327f7203e9a749ebb9f465f36/21.ts [HTTP/1.1 200 OK 2017мс]
GET
XHR
http://127.0.0.1:6878/ace/manifest.m3u8 [HTTP/1.1 302 Found 27мс]
GET
XHR
http://127.0.0.1:6878/ace/m/d431d50ebc94c18327f7203e9a749ebb9f465f36/f528764d624db129b32c21fbca0cb8d6.m3u8 [HTTP/1.1 200 OK 4мс]
GET
XHR
http://127.0.0.1:6878/ace/c/d431d50ebc94c18327f7203e9a749ebb9f465f36/22.ts [HTTP/1.1 200 OK 1016мс]
Full loops: 2; Time passed: 21.44 sec. Jump to: round_jump ego-2017.02.20.js:413:17
GET
XHR
http://127.0.0.1:6878/ace/manifest.m3u8 [HTTP/1.1 302 Found 14мс]
GET
XHR
http://127.0.0.1:6878/ace/m/d431d50ebc94c18327f7203e9a749ebb9f465f36/f528764d624db129b32c21fbca0cb8d6.m3u8 [HTTP/1.1 200 OK 4мс]
GET
XHR
http://127.0.0.1:6878/ace/c/d431d50ebc94c18327f7203e9a749ebb9f465f36/23.ts [HTTP/1.1 200 OK 1015мс]
Stop. Time: 26.71 sec. Loops passed: 2 ego-2017.02.20.js:413:17
GET
XHR
http://127.0.0.1:6878/ace/manifest.m3u8 [HTTP/1.1 302 Found 227мс]
GET
XHR
http://127.0.0.1:6878/ace/m/d431d50ebc94c18327f7203e9a749ebb9f465f36/f528764d624db129b32c21fbca0cb8d6.m3u8 [HTTP/1.1 200 OK 7011мс]
GET
XHR
http://127.0.0.1:6878/ace/c/d431d50ebc94c18327f7203e9a749ebb9f465f36/6.ts [HTTP/1.1 200 OK 38мс]
GET
XHR
http://127.0.0.1:6878/ace/c/d431d50ebc94c18327f7203e9a749ebb9f465f36/7.ts [HTTP/1.1 200 OK 11мс]
GET
XHR
http://127.0.0.1:6878/ace/c/d431d50ebc94c18327f7203e9a749ebb9f465f36/8.ts [HTTP/1.1 200 OK 18мс]
GET
XHR
http://127.0.0.1:6878/ace/c/d431d50ebc94c18327f7203e9a749ebb9f465f36/9.ts [HTTP/1.1 200 OK 19мс]
[/details]

Два раза вижу “этот же”, но ни разу не вижу собственно проблемный ID.

slva2000, в чем смысл простыни под спойлером, если там не видно ошибок?
Нужно как минимум два лога:
(1) фрагмент дебажно/информативного лога js-плеера, на котором видно - “вот, споткнулся “на этом ID”, движок отдал 500 в ответ”;
(2) фрагмент лога (желательно, с расширенным логированием) движка в это же время.

ContentID: 0432655a827f555a1a84b867ee256f86a726e80d

Вот фрагмент лога браузера, который вероятно вызывает сбой.

[details=Spoiler]TypeError: e[i] is undefined[Подробнее] videojs-contrib-hls.min.js:7:18051
value/e< https://cdnjs.cloudflare.com/ajax/libs/videojs-contrib-hls/5.10.1/videojs-contrib-hls.min.js:7:18051
reduce self-hosted:364:27
value https://cdnjs.cloudflare.com/ajax/libs/videojs-contrib-hls/5.10.1/videojs-contrib-hls.min.js:7:17964
value https://cdnjs.cloudflare.com/ajax/libs/videojs-contrib-hls/5.10.1/videojs-contrib-hls.min.js:7:16327
t/this.transmuxer_.onmessage https://cdnjs.cloudflare.com/ajax/libs/videojs-contrib-hls/5.10.1/videojs-contrib-hls.min.js:7:14193[/details]

Вот весь лог с начала:

[details=Spoiler]GET
http://site.ru/2.html [HTTP/1.1 200 OK 203мс]
GET
https://cdnjs.cloudflare.com/ajax/libs/video.js/6.2.8/alt/video-js-cdn.min.css [HTTP/2.0 200 OK 286мс]
GET
https://cdnjs.cloudflare.com/ajax/libs/video.js/6.2.8/video.min.js [HTTP/2.0 200 OK 142мс]
GET
https://cdnjs.cloudflare.com/ajax/libs/videojs-contrib-hls/5.10.1/videojs-contrib-hls.min.js [HTTP/2.0 200 OK 70мс]
GET
http://cdn.sc.gl/videojs-hotkeys/latest/videojs.hotkeys.min.js [HTTP/1.1 200 OK 125мс]
GET
XHR
http://127.0.0.1:6878/webui/api/service [HTTP/1.1 200 OK 2мс]
HTML-документ не содержит объявления кодировки символов. Если документ содержит символы, не входящие в диапазон US-ASCII, то в некоторых конфигурациях браузера в документе будет отображён искажённый текст. Кодировка символов страницы должна быть объявлена в документе или в протоколе передачи. 2.html
«application/x-mpegURL» — неподдерживаемое значение атрибута «type». Не удалось загрузить медиаресурс http://127.0.0.1:6878/ace/manifest.m3u8?id=0432655a827f555a1a84b867ee256f86a726e80d. 2.html
GET
XHR
http://127.0.0.1:6878/ace/manifest.m3u8 [HTTP/1.1 200 OK 256мс]
GET
XHR
http://127.0.0.1:6878/hls/m/593337884d5d8223f01c3a891ef8dac00a073a08/f528764d624db129b32c21fbca0cb8d6/0/index.m3u8 [HTTP/1.1 200 OK 215мс]
GET
XHR
http://127.0.0.1:6878/hls/c/593337884d5d8223f01c3a891ef8dac00a073a08/f528764d624db129b32c21fbca0cb8d6/0/266730.ts [HTTP/1.1 200 OK 41мс]
TypeError: e[i] is undefined[Подробнее] videojs-contrib-hls.min.js:7:18051
GET
XHR
http://127.0.0.1:6878/hls/m/593337884d5d8223f01c3a891ef8dac00a073a08/f528764d624db129b32c21fbca0cb8d6/0/index.m3u8 [HTTP/1.1 200 OK 207мс]
GET
XHR
http://127.0.0.1:6878/hls/m/593337884d5d8223f01c3a891ef8dac00a073a08/f528764d624db129b32c21fbca0cb8d6/0/index.m3u8 [HTTP/1.1 200 OK 207мс]
GET
XHR
http://127.0.0.1:6878/hls/m/593337884d5d8223f01c3a891ef8dac00a073a08/f528764d624db129b32c21fbca0cb8d6/0/index.m3u8 [HTTP/1.1 200 OK 210мс]
GET
XHR
http://127.0.0.1:6878/hls/m/593337884d5d8223f01c3a891ef8dac00a073a08/f528764d624db129b32c21fbca0cb8d6/0/index.m3u8 [HTTP/1.1 200 OK 45мс]
GET
XHR
http://127.0.0.1:6878/hls/m/593337884d5d8223f01c3a891ef8dac00a073a08/f528764d624db129b32c21fbca0cb8d6/0/index.m3u8 [HTTP/1.1 200 OK 214мс]
GET
XHR
http://127.0.0.1:6878/hls/m/593337884d5d8223f01c3a891ef8dac00a073a08/f528764d624db129b32c21fbca0cb8d6/0/index.m3u8 [HTTP/1.1 200 OK 212мс]
GET
XHR
http://127.0.0.1:6878/hls/m/593337884d5d8223f01c3a891ef8dac00a073a08/f528764d624db129b32c21fbca0cb8d6/0/index.m3u8 [HTTP/1.1 200 OK 210мс]
GET
XHR
http://127.0.0.1:6878/hls/m/593337884d5d8223f01c3a891ef8dac00a073a08/f528764d624db129b32c21fbca0cb8d6/0/index.m3u8 [HTTP/1.1 200 OK 215мс]
GET
XHR
http://127.0.0.1:6878/hls/m/593337884d5d8223f01c3a891ef8dac00a073a08/f528764d624db129b32c21fbca0cb8d6/0/index.m3u8 [HTTP/1.1 200 OK 211мс]
GET
XHR
http://127.0.0.1:6878/hls/m/593337884d5d8223f01c3a891ef8dac00a073a08/f528764d624db129b32c21fbca0cb8d6/0/index.m3u8 [HTTP/1.1 200 OK 210мс][/details]

500 ошибки пока не вижу (не могу наткнуться на ИД), но указанный ContentID воспроизводиться в VLC, а двух js плеерах hlsJS и videoJS - ни в какую…

slva2000, “воспроизводимость” потока в JS плеерах зависит от того, какие аудио и видео кодеки они поддерживают.
Т.е этот вопрос нужно задавать не нам, а авторам этих библиотек - смотрим в том же VLC “свойства потока/кодека”, копируем их, и отправляем вопрос типа “а такой поток ваши библиотека поддерживает”?

См. аттач по этому CID - лично я вижу три проблемных места (если исходить из нашего опыта с капризными девайсами вроде хромкаста) (1) видео кодек (MPEG2), (2) чересстрочное изображение, (3) - аудиокодек (MPEG2a). Т.е как минимум нужно сначала транскодировать аудио в ААС, не поможет - значит нужно транскодировать и видео в Н264. С учетом того, что транскод видео в разы более “дорогая” операция - проще будет либо отказаться от такого потока, либо найти “правильный” или уже транскодированный вариант.


Спасибо большое!

Как я сам не догадался, помню времена, когда скаченное видео сложно воспроизвести… начинается возня с кодеками и т.д.

А по JS - здесь разве не системные кодеки декодирует, а JS всего лишь передаёт данные?

Cкорее всего, браузер их не использует, т.к в целом вся идея HTML5 в плане медиа - обходиться только браузером, без плагинов/внешних кодеков.

Проблема усугубляется тем, что разные браузеры поддерживают разное множество этих самых кодеков, см. здесь, например.