Воспроизведение нескольких видео используя WSPlayer

Torquemada71

New Member
Используя WebRTC плеер, можно вызвать session.createStream несколько раз, таким образом, можно проигрывать сразу несколько WebRTC потоков. Использование WSPlayer подразумевает использование 1 ws подключения для каждого видео, таким образом, открытие 2ого видео вызывает остановку первого т.к ws подключение первого видео рвется. Каким-нибудь образом возможно через одно ws подключение получать бинарные данные сразу нескольких потоков (или просто иметь сразу несколько ws подключений единовременно)?
 

Max

Administrator
Staff member
WSPlayer не расчитан на проигрывание нескольких потоков.
Даже если удастся их проиграть, начнутся проблемы с производительностью, т.к видеопотоки на WSPlayer декодируются на JavaScript, а это очень ресурсоемкий процесс.
 

Torquemada71

New Member
WSPlayer не расчитан на проигрывание нескольких потоков.
Даже если удастся их проиграть, начнутся проблемы с производительностью, т.к видеопотоки на WSPlayer декодируются на JavaScript, а это очень ресурсоемкий процесс.
А если мы готовы смириться с тем, что это очень ресурсоемко, можем ли мы сами внести изменения в код Вашей библиотеки (у проекта https://github.com/flashphoner/flashphoner_client не указана лицензия), чтобы добавить поддержку просмотра нескольких трансляций через WebSocket? Могут ли быть какие-либо проблемы кроме ресурсоемкости, в случае получения от Вас разрешения на внесения изменений в код библиотеки?
 

Max

Administrator
Staff member
А если мы готовы смириться с тем, что это очень ресурсоемко
Ресурсоемкость - это не просто повышенный расход CPU, памяти и батареи.
Это значит что при увеличении размера картинки (а вы планируете увеличить ее в два раза), резко вырастет сложность декодирования, что сразу же повлияет на качество видео на мобильных устройствах, в частности на iOS Safari, т.е. видео начнет фризить, сильно терять FPS вплоть до слайдов или давать большую задержку. Поэтому чтобы получить два и более потоков на WSPlayer, потребуется серьезная оптимизация кода с многопоточной обработкой в браузере и подключением Web GL. И не факт что эта оптимизация даст желаемый результат. И не факт что iOS Safari сможет играть два аудио (audioContext) одновременно и не потребуется микшироваие аудио на стороне сервера.

можем ли мы сами внести изменения в код Вашей библиотеки
В настоящий момент открыто только API к WSPlayer
https://github.com/flashphoner/flashphoner_client/blob/wcs_api-2.0/src/websocket-media-provider.js
Сам плеер обфусцирован и недоступен для изменений.
  • WSPlayer.js
  • WSReceiver2.js
  • video-worker2.js
 
Top