хочу стать клиентом

Nikitos

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

тогда подскажите пожалуйста, что я делал не так?
подскажите, как грамотно реализовать шаринг экрана в виде html кода на сайт, что бы пользователь просто нажал на кнопку плей и смотрел?
для этого нужно создавать 1 поток? или же разбивать на несколько?

смоделируйте пожалуйста, как сделали бы вы

Подойдет ли мне вот такой сценарий?
1) публикую поток Screen Sharning
2) добавляю на сайт HLS плеер в двух версиях для мобильных, и для ПК по вот этой ссылке
3) 1300 человек смотрят мой поток суммарно как с ПК так и с мобильных?
 
Last edited:

Max

Administrator
Staff member
тогда подскажите пожалуйста, что я делал не так?
Сложно сказать. Сервер тестировался на тех настройках, которые вы сделали. В настройки изменения не вносились.

нужно создавать 1 поток? или же разбивать на несколько?
Один скриншаринг - один исходящий поток.


Подойдет ли мне вот такой сценарий?
Да такой сценарий будет хорошим решением. Более универсальным будет первый вариант внедрения с этой страницы (Использование плеера Video.js)

PS: В прошлом сообщении писал, что у вас на сервере закончилось место для корневой директории.
Несколько советов по очистке места:
1. Почистите кэш APT
Code:
sudo apt-get clean
2. Удалите старые ядра
Code:
sudo apt-get autoremove --purge
 

Nikitos

Member
Большое спасибо за ответ
Возможно вы правы, дело было в диске, когда вы проводили тест свободное место на нем закончилось, по ошибке когда устанавливал убунту неправильно разбил разделы, переустановил, выделил 100GB

Для дальнейшей работы рекомендуем включить ZGC.
посмотрел презентацию, честно говоря мало что понял, но судя по всему этот скрипт снизит нагрузку на мой цп ?
 

Max

Administrator
Staff member
ZGC (Z Garbage Collector) позволяет уменьшить паузы в работе JVM (виртуальной машины Java), для которой каждая полная сборка мусора Full GC означает полную же остановку.
За счет этого Java приложение, для конечного пользователя, работает более плавно, а нагрузка на сервер меньше, т.к. меньше длительность работы garbage collector.
 

Nikitos

Member
Спасибо большое за разъяснения...
Постом выше вы рекомендовали установить мне ZGC
Правильно ли я понимаю, что из этой ссылки, мне нужно выполнить только пункты
Настройка Z Garbage Collector (ZGC)
Все кроме п.8


Настройка оперативной памяти
Настройка сборщика мусора

Настройка Concurrent Mark Sweep (CMS) Collector
а вот эти пункты я не трогаю?
 

Max

Administrator
Staff member
Правильно ли я понимаю, что из этой ссылки, мне нужно выполнить только пункты
Настройка Z Garbage Collector (ZGC)
Все кроме п.8
Поскольку у Вас уже установлен WCS, и установлена подходящая версия JDK, Вы можете выполнить только пункты 6 и 7.
6. Если WCS был установлен ранее, комментируем или удаляем следующие строки в файле wcs-core.properties

-XX:+UseConcMarkSweepGC
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=70
-XX:+PrintGCDateStamps
-XX:+PrintGCDetails
Заменяем строку

-Xloggc:/usr/local/FlashphonerWebCallServer/logs/gc-core-
на

-Xlog:gc*:/usr/local/FlashphonerWebCallServer/logs/gc-core-:time
7. Добавляем настройки в wcs-core.properties (например, выделяем 24G под heap):

# ZGC
-XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xms24g -Xmx24g -XX:+UseLargePages -XX:ZPath=/hugepages

# Log
-Xlog:gc*:/usr/local/FlashphonerWebCallServer/logs/gc-core.log
-XX:ErrorFile=/usr/local/FlashphonerWebCallServer/logs/error%p.log
Отметим, что значение 24G приведено в документации как пример. Обычно. рекомендуется выделять под Java heap до 1/2 физической памяти сервера.
 

Nikitos

Member
помогите пожалуйста разобраться
мой поток сейчас активен
wss://video.ufc-ppv.ru:8443/6a258584
создаю плеер по инструкции как вы советовали первый, а он принимает вот такой вид и соответственно не работает
 

Attachments

Max

Administrator
Staff member
У вас видимо не хватает video-js.css. Его можно скачать с официального сайта проекта https://videojs.com/
Или ищите в архиве, который прикреплен к этому сообщению.
 

Attachments

Nikitos

Member
разместил все файлы js на своем сервере веб сайта в корневом каталоге
вот код моего плеера в html

<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://ufc-ppv.ru/video-js.css">
<script src="https://ufc-ppv.ru/video.js"></script>
<script src="https://ufc-ppv.ru/videojs-hls.min.js"></script>
<script type="text/javascript" src="https://flashphoner.com/downloads/builds/flashphoner_client/wcs_api-2.0/current/flashphoner.js"></script>
<script type="text/javascript" src="https://ufc-ppv.ru/hls-player-min.js"></script>
</head>
<body onload="initPage()">
<video id="remoteVideo" width="320" height="240" class="video-js vjs-default-skin"
controls="controls"
type="application/vnd.apple.mpegurl">
</video>
<button id="applyBtn" type="button">Play</button>
</body>
</html>


путь к файлам js абсолютный, читаемый, но плеер не хочет запускаться, подскажите пожалуйста, в чем может быть причина
 

Max

Administrator
Staff member
Поместили Ваш HTML код на веб сервер без изменений, плеер работает
1597909162740.png
Проверьте, что Вы открываете тестовую страницу с плеером по HTTPS (все ссылки, включая HLS URL, у Вас в HTTPS
Проверьте также, что пишет браузер в консоли.
 

Nikitos

Member
Спасибо, видимо дело в CMS сайта, вставил содержимое страницы в тег iframe, работает да и ладно

по поводу памяти:


Заменяем строку

-Xloggc:/usr/local/FlashphonerWebCallServer/logs/gc-core-
на

-Xlog:gc*:/usr/local/FlashphonerWebCallServer/logs/gc-core-:time

менять строку мне не пришлось, она была второго типа


7. Добавляем настройки в wcs-core.properties (например, выделяем 24G под heap):

# ZGC
-XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xms24g -Xmx24g -XX:+UseLargePages -XX:ZPath=/hugepages

# Log
-Xlog:gc*:/usr/local/FlashphonerWebCallServer/logs/gc-core.log
-XX:ErrorFile=/usr/local/FlashphonerWebCallServer/logs/error%p.log

один из логов уже был, добавил второй
но вот после добавления -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xms24g -Xmx24g -XX:+UseLargePages -XX:ZPath=/hugepages
веб сервер перестает работать ( не запускается из браузера) причем специально попробовал добавлять\удалять разные строки по очередно из вашего мануала - все работает до того, как вставляю ZGC

Попробовал вставить
Настройка Concurrent Mark Sweep (CMS) Collector
-XX:+UseConcMarkSweepGC -Xms24g -Xmx24g -XX:NewSize=6144m -XX:MaxNewSize=6144m
Все работает без нареканий, подскажите пожалуйста, велика ли разница между ZGC и CMS?

Java стоит 12 версии, производил установку по вашему гайду, версию через убунту проверяет, пишет - 12
WCS сервер устанавливается после java
 

Max

Administrator
Staff member
Пожалуйста, уберите параметры
Code:
-XX:+UseLargePages -XX:ZPath=/hugepages
работу с большими страницами памяти имеет смысл настраивать при большой частоте подключений (т.е. пользователи быстро подключаются и сразу отключаются, например, листают потоки). В Вашем случае это пока не нужно.
Все работает без нареканий, подскажите пожалуйста, велика ли разница между ZGC и CMS?
Мы писали об этом ранее, почитайте этот пост.
Каждая сборка мусора останавливает работу Java машины, и ZGC проводит эту операцию быстрее. Остановка означает, в том числе, паузу в передаче медиаданных. Чем меньше пауза, тем более плавно будет играть поток у зрителей, если позволяет канал.
 

Nikitos

Member
сборщик мусора заработал
подскажите пожалуйста еще, может в этой стязи тоже не так что-то делаю
The media could not be loaded, either because the server or network failed or because the format is not supported.
выдает мне когда пытаюсь открыть видео через свой сайт
может я как то не так подключаю джава скрипты?
 

Nikitos

Member
Решил проблему самостоятельно
Оказывается браузер любезно сохраняет все файлы js в историю, а ключи потоков меняются, соответственно, видео не загружается
проблема решилась с первого раза чисткой истории, может кому пригодится
 

Nikitos

Member
Пожалуйста, уберите параметры
Code:
-XX:+UseLargePages -XX:ZPath=/hugepages
работу с большими страницами памяти имеет смысл настраивать при большой частоте подключений (т.е. пользователи быстро подключаются и сразу отключаются, например, листают потоки). В Вашем случае это пока не нужно.

Мы писали об этом ранее, почитайте этот пост.
Каждая сборка мусора останавливает работу Java машины, и ZGC проводит эту операцию быстрее. Остановка означает, в том числе, паузу в передаче медиаданных. Чем меньше пауза, тем более плавно будет играть поток у зрителей, если позволяет канал.
Если вам интересно - ZGC "заставил" работать мою память на полную мощность, а нагрузка на процессор упала с 14 % до 0-1%
 

Max

Administrator
Staff member
Если вам интересно - ZGC "заставил" работать мою память на полную мощность, а нагрузка на процессор упала с 14 % до 0-1%
Именно поэтому мы его рекомендовали. Если на сервере памяти мало в принципе, и под Java heap выделено 1-2 Гб, разницы между CMS и ZGC не будет, но если памяти много, ZGC значительно обходит CMS по производительности.
 

Nikitos

Member
Добрый день! хотелось бы вернуться к теме со звуком
Как вы ранее писали, для улучшения качества звука необходимо было указать значения битрейда по выше
Но к сожалению, это помогает слабо, звук получается очень искаженным, и 20% слов просто не разобрать
Подскажите пожалуйста, может есть еще какие нибудь способы поправить это дело?
Трансляция ведется методом screen sharning HLS плеером вкладки Гугл Хрома
 

Max

Administrator
Staff member
Добрый день!

К сожалению, на наших серверах не удалось воспроизвести проблему с искажением звука.

Для более детальной диагностики нужен SSH доступ к вашему WCS серверу.
Пожалуйста, отправьте доступы с помощью приватной формы. Мы проанализируем настройки и проведем тесты.
 
Top