HLS сегменты большого размера

mrinner

Member
CDN: Origin, Transcoder, Edge
Входящий поток: RTMP
Выходящие потоки: несколько HLS через transcoding, webrtc, rtmp

На одном стриме заметили проблему, сегмент 2 секунды 854x480 размером ~90Mb, на другом HLS стриме 640x360 ~ 60Mb
Скриншот отправили в support, доступы на сервер также в support отправлены ранее.
Повторить проблему не можем, но стрим пока-что присутствует этот проблемный.
 

Max

Administrator
Staff member
Проверили нарезку HLS при транскодинге в CDN с входящим RTMP-потоком - проблема не воспроизводится.
Если подобное повторится, сохраните и вышлите, пожалуйста, hls-файлы (директорию WCS_HOME/hls/<имя потока>).
Есть старые доступы (не действуют); вышлите, пожалуйста, новые.
 

Oleg.D

New Member
прислал примеры больших TS файлов в конце прошлой недели.
-
в принцепе я могу настроить автоматическую сборку и вылавливать подобные битые файлы,
если это принесет пользу, скажите вам мужны эти примеры файлов?
 

Max

Administrator
Staff member
Добрый день.
если это принесет пользу, скажите вам мужны эти примеры файлов?
Если проблема стабильно воспроизводится, файлы нужны. Также желательно получить доступы к серверу, чтобы иметь возможность воспроизводить проблему в Вашем окружении.
 

Max

Administrator
Staff member
Для более подробного рассмотрения вопроса от вас, в случае повторного сбоя, необходимы дополнительные данные:

1. Находим sessionId потока к клиенту на сервере, с которого идёт HLS-трансляцию:
Code:
curl -s -H "Content-Type: application/json" http://127.0.0.1:8081/rest-api/stream/find_all | python -m json.tool | grep sessionId

"sessionId": "72746d703a2f2f666d732e3130352e6e65742f6c6976652f726d6331-HLS",
Если трансляций много и необходима дополнительная информация для её выбора, смотрим все трансляции без сокращения вывода данных:
Code:
curl -s -H "Content-Type: application/json" http://127.0.0.1:8081/rest-api/stream/find_all | python -m json.tool
2. Файлы трансляции (HLS-сегменты) можно увидеть в директории, включающую sessionId (без символов -HLS) в своё имя:
Code:
/usr/local/FlashphonerWebCallServer/hls/72746d703a2f2f666d732e3130352e6e65742f6c6976652f726d6331
3. Включаем DEBUG логи необходимой нам сессии, использую имя sessionId:
Code:
curl -H "Content-Type: application/json" -d '{"sessionId":"72746d703a2f2f666d732e3130352e6e65742f6c6976652f726d6331-HLS"}' http://127.0.0.1:8081/rest-api/logger/enable_client_log
4. Узнаем идентификатор сессии:
Code:
curl -s -H "Content-Type: application/json" -d '{"sessionId":"72746d703a2f2f666d732e3130352e6e65742f6c6976652f726d6331-HLS"}' http://127.0.0.1:8081/rest-api/logger/enable_client_log | grep ClientLogProvider /usr/local/FlashphonerWebCallServer/logs/server_logs/flashphoner.log | tail -1 | awk '{print $NF}'

u4vul37g3o4bd85b4680tql4iu
5. Зная идентификатор сессии, с полученным логами HLS-сессии можно будет ознакомиться в директории (приведено для примера):
Code:
/usr/local/FlashphonerWebCallServer/logs/client_logs/2019-05-24/u4vul37g3o4bd85b4680tql4iu-13-56-37
2019-05-24 - необходимая нам дата
u4vul37g3o4bd85b4680tql4iu - идентификатор сессии
13-56-37 - часы-минуты-секунды соединения с сервером web-клиента для просмотра HLS-трансляции
Для рассмотрения вашей ситуации нам необходимы все файлы из этой директории

6. Отключаем логирование событий данной web-сессии:
Code:
curl -s -H "Content-Type: application/json" -d '{"sessionId":"72746d703a2f2f666d732e3130352e6e65742f6c6976652f726d6331-HLS"}' http://127.0.0.1:8081/rest-api/logger/disable_client_log
 
Last edited:
Top