Здравствуйте. Постараюсь детально описать задачи и проблемы, которые были выявлены при тестах.
Версия:
5.2.838 (тестировали на этой версии, планируется обновление)
Окружение:
1 Origin, 1 Edge (автоматическое развертывание дополнительных серверов средствами AWS). CPU, RAM периодически меняются. минимум 8 CPU, 16 GB RAM. Тип инстансов в AWS: c5a. Используем только webrtc.
Максимальное количество видеотрансляций в одном миксере - 6. (edge раздаёт микшированный поток с 6 видео и соответственно аудио)
decoder_priority=FF,OPENH264
encoder_priority=FF,OPENH264
codecs=opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,h264,vp8,flv,mpv
codecs_exclude_sip=mpeg4-generic,flv,mpv
codecs_exclude_sip_rtmp=opus,g729,g722,mpeg4-generic,telephone-event,vp8,mpv
codecs_exclude_streaming=flv,telephone-event
1. Оптимизация качества, стабилизация потока публикующий - Origin.
Столкнулись с тем, что качество каналов может быть разным:
стабильно высокий битрейт
стабильно низкий битрейт
меняющийся битрейт в одном и том же потоке.
Публикация проводилась по UDP, уже поменяли на TCP, будем перепроверять (обнаружили, что пакеты от некоторых опубликованных потоков терялись). Соответствующая настройки на origin:
ice_tcp_channel_high_water_mark=52428800
ice_tcp_channel_low_water_mark=5242880
ice_tcp_receive_buffer_size=1048576
ice_timeout=120
ice_tcp_send_buffer_size=1048576
ice_tcp_transport=true
ice_tcp_nio=true
webrtc_cc_max_bitrate=4000000
webrtc_cc_min_bitrate=60000
При таких настройках наблюдалось прерывание аудио, видео, фризы.
Разрешения экранов при публикации разные. Хотим достичь максимальной стабилизации (отсутствия прерывания видео, аудио), возможно ухудшив качество изображения.
Вопросы:
- Оптимальные значения webrtc_cc_max_bitrate, webrtc_cc_min_bitrate.
- Другие настройки для стабилизации видео/аудио
- Поможет ли занижение framerate
2. Микширование.
Как писал выше, максимальное количество потоков в миксере - 6 (может незначительно меняться).
Разрешения экранов, битрейт исходных для микширования потоков могут быть разными. Наблюдалось следующее:
Исходные для микширования потоки были доступны для проигрывания (раздел мedia devices) как с origin, так и с edge. В то же время в микшированном потоке иногда наблюдалось либо отсутствие аудио одного из потоков (было видно, что спикер говорит, но звука нет, остальные спикеры его слышат), либо зависание изображения также с потерей звука (остальные спикеры также слышат говорящего).
Вопросы:
- Как избавиться от проблемы зависания/пропадающего звука
- Посоветуйте пожалуйста оптимальные настройки для микширования с учетом разного качества каналов. Предполагается, что публиковаться потоки будут по TCP.
3. Демонстрация рабочего стола.
Здесь хотели бы выдержать максимальное качество. Желательно, чтобы совпадало с разрешением рабочего стола публикующего. Минимальная цель - читаемый текст на рабочем столе публикующего.
Вопросы:
- Посоветуйте, как оптимизировать качество/стабильность такого потока.
4. Проблемы с macOS
Несколько раз наблюдались перезагрузки, сильный нагрев и быстрый расход батареи при трансляции в MacOS.
Можно ли каким-то образом исправить эту проблему?
В целом хотели бы максимально снизить проблемы на стороне клиентов (браузеров), перенеся ёмкие по ресурсам задачи на сторону сервера.
Заранее спасибо.
Версия:
5.2.838 (тестировали на этой версии, планируется обновление)
Окружение:
1 Origin, 1 Edge (автоматическое развертывание дополнительных серверов средствами AWS). CPU, RAM периодически меняются. минимум 8 CPU, 16 GB RAM. Тип инстансов в AWS: c5a. Используем только webrtc.
Максимальное количество видеотрансляций в одном миксере - 6. (edge раздаёт микшированный поток с 6 видео и соответственно аудио)
decoder_priority=FF,OPENH264
encoder_priority=FF,OPENH264
codecs=opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,h264,vp8,flv,mpv
codecs_exclude_sip=mpeg4-generic,flv,mpv
codecs_exclude_sip_rtmp=opus,g729,g722,mpeg4-generic,telephone-event,vp8,mpv
codecs_exclude_streaming=flv,telephone-event
1. Оптимизация качества, стабилизация потока публикующий - Origin.
Столкнулись с тем, что качество каналов может быть разным:
стабильно высокий битрейт
стабильно низкий битрейт
меняющийся битрейт в одном и том же потоке.
Публикация проводилась по UDP, уже поменяли на TCP, будем перепроверять (обнаружили, что пакеты от некоторых опубликованных потоков терялись). Соответствующая настройки на origin:
ice_tcp_channel_high_water_mark=52428800
ice_tcp_channel_low_water_mark=5242880
ice_tcp_receive_buffer_size=1048576
ice_timeout=120
ice_tcp_send_buffer_size=1048576
ice_tcp_transport=true
ice_tcp_nio=true
webrtc_cc_max_bitrate=4000000
webrtc_cc_min_bitrate=60000
При таких настройках наблюдалось прерывание аудио, видео, фризы.
Разрешения экранов при публикации разные. Хотим достичь максимальной стабилизации (отсутствия прерывания видео, аудио), возможно ухудшив качество изображения.
Вопросы:
- Оптимальные значения webrtc_cc_max_bitrate, webrtc_cc_min_bitrate.
- Другие настройки для стабилизации видео/аудио
- Поможет ли занижение framerate
2. Микширование.
Как писал выше, максимальное количество потоков в миксере - 6 (может незначительно меняться).
Разрешения экранов, битрейт исходных для микширования потоков могут быть разными. Наблюдалось следующее:
Исходные для микширования потоки были доступны для проигрывания (раздел мedia devices) как с origin, так и с edge. В то же время в микшированном потоке иногда наблюдалось либо отсутствие аудио одного из потоков (было видно, что спикер говорит, но звука нет, остальные спикеры его слышат), либо зависание изображения также с потерей звука (остальные спикеры также слышат говорящего).
Вопросы:
- Как избавиться от проблемы зависания/пропадающего звука
- Посоветуйте пожалуйста оптимальные настройки для микширования с учетом разного качества каналов. Предполагается, что публиковаться потоки будут по TCP.
3. Демонстрация рабочего стола.
Здесь хотели бы выдержать максимальное качество. Желательно, чтобы совпадало с разрешением рабочего стола публикующего. Минимальная цель - читаемый текст на рабочем столе публикующего.
Вопросы:
- Посоветуйте, как оптимизировать качество/стабильность такого потока.
4. Проблемы с macOS
Несколько раз наблюдались перезагрузки, сильный нагрев и быстрый расход батареи при трансляции в MacOS.
Можно ли каким-то образом исправить эту проблему?
В целом хотели бы максимально снизить проблемы на стороне клиентов (браузеров), перенеся ёмкие по ресурсам задачи на сторону сервера.
Заранее спасибо.
Last edited: