При использовании движка под 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: *
Benny
05.Октябрь.2017 12:02:37
2
В любом браузере, или в конкретном (вплоть до версии)?
Если по данному 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]
Benny
06.Октябрь.2017 19:43:46
4
Два раза вижу “этот же”, но ни разу не вижу собственно проблемный ID.
slva2000 , в чем смысл простыни под спойлером, если там не видно ошибок?
Нужно как минимум два лога:
(1) фрагмент дебажно/информативного лога js-плеера, на котором видно - “вот, споткнулся “на этом ID”, движок отдал 500 в ответ”;
(2) фрагмент лога (желательно, с расширенным логированием) движка в это же время.
Benny
09.Октябрь.2017 12:26:07
6
slva2000 , “воспроизводимость” потока в JS плеерах зависит от того, какие аудио и видео кодеки они поддерживают.
Т.е этот вопрос нужно задавать не нам, а авторам этих библиотек - смотрим в том же VLC “свойства потока/кодека”, копируем их, и отправляем вопрос типа “а такой поток ваши библиотека поддерживает”?
См. аттач по этому CID - лично я вижу три проблемных места (если исходить из нашего опыта с капризными девайсами вроде хромкаста) (1) видео кодек (MPEG2), (2) чересстрочное изображение, (3) - аудиокодек (MPEG2a). Т.е как минимум нужно сначала транскодировать аудио в ААС, не поможет - значит нужно транскодировать и видео в Н264. С учетом того, что транскод видео в разы более “дорогая” операция - проще будет либо отказаться от такого потока, либо найти “правильный” или уже транскодированный вариант.
Спасибо большое!
Как я сам не догадался, помню времена, когда скаченное видео сложно воспроизвести… начинается возня с кодеками и т.д.
А по JS - здесь разве не системные кодеки декодирует, а JS всего лишь передаёт данные?
Benny
13.Октябрь.2017 09:52:16
8
Cкорее всего, браузер их не использует, т.к в целом вся идея HTML5 в плане медиа - обходиться только браузером, без плагинов/внешних кодеков.
Проблема усугубляется тем, что разные браузеры поддерживают разное множество этих самых кодеков, см. здесь , например.