Не работает публикация видеозаписи после завершения

Oleh N.

New Member
Добрый день. В какой-то момент перестала работать публикация. После завершения стрима (в том числе и в демо) не возвращается ссылка для скачивания. В логах ошибка 12:00:56,615 ERROR HandlerUtils - API-ASYNC-pool-13-thread-35 Failed to invoke method unPublishStream for client WSClient. Сами видеозаписи на файловой появляются.
 

Max

Administrator
Staff member
Добрый день.
Уточните, пожалуйста, следующее:
- версия WCS и WebSDK
- воспроизводится ли проблема в примере на нашем демо сервере https://demo.flashphoner.com/client2/examples/demo/streaming/stream_recording/recording.html
- если не воспроизводится, уточните, не используете ли вы кастомный бэкенд, и, если да, определен ли для него REST hook метод /unPublishStream
Также предоставьте, пожалуйста, SSH доступ к серверу при помощи этой формы
 

Oleh N.

New Member
Добрый день.
WCS 5.2.854 (использовалась эта инструкция)
WebSDK не установлен
На вашем демо сервере проблема не воспроизводится
Кастомный бэкенд не используется

Есть ли возможность решить проблему без предоставления SSH доступа?
 

Max

Administrator
Staff member
WebSDK не установлен
В таком случае, как именно Вы публикуете поток для записи: Android SDK, iOS SDK? Воспроизводится ли проблема в стандартных примерах на Вашем сервере? Какой кодек используется для публикации: H264 или VP8?
Есть ли возможность решить проблему без предоставления SSH доступа?
Для того, чтобы решить проблему, необходимо ее воспроизведение. Поскольку проблема воспроизводится только в Вашем окружении, необходим доступ.
Также Вы можете собрать отчет по этой инструкции, включая клиентские дебаговые логи и дамп трафика на стороне сервера. Сбор дампа необходимо стартовать до публикации потока и завершить после публикации. Отчет отправьте. используя эту форму. Если данных в отчете окажется достаточно. чтобы диагностировать проблему, доступ не понадобится.
 

Oleh N.

New Member
Выяснили что WebSDK все таки используется через сторонний сервер. Версия 0.5.28.2747.24. Архив с дампом трафика и отчетом report.sh отправили через форму.
 

Max

Administrator
Staff member
Выяснили что WebSDK все таки используется через сторонний сервер. Версия 0.5.28.2747.24. Архив с дампом трафика и отчетом report.sh отправили через форму.
Похоже, дело в том, что с добавлением новых элементов шаблона имени записи (время начала и окончания, длительность) имя записанного файла становится известно только после завершения записи, поэтому Stream.getRecordInfo() возвращает валидное значение только после получения события STREAM_STATUS.UNPUBLISHED. Скорее всего, проблема появилась после того, как Вы обновили WCS до 5.2.854 (эта сборка выпущена значительно позже изменений в логике формирования имени записи)
Пожалуйста, обновите WebSDK до последней сборки с этой страницы, либо до той сборки, которая идет в комплекте с Вашей установкой WCS /usr/local/FlashphonerWebCallServer/client2, а также получайте имя записи только после завершения публикации потока:
Code:
...
}).on(STREAM_STATUS.UNPUBLISHED, function (stream) {
    setStatus(stream.status());
    showDownloadLink(stream.getRecordInfo());
    onStopped();
})
...
 
Top