Трансляция экрана телефона в браузер

mozger

New Member
Огромное спасибо получилось установить сервер. А подскажите пожалуйста мне также нужно подключиться к видеопотоку с помощью библиотеки opencv. куда копать?
 

mozger

New Member
Мне необходимо передать кадры уже с web call server в opencv как мне подключится opencv к видеопотоку?
 

Max

Administrator
Staff member
На стороне сервера можно получить декодированные картинки видеопотока следующим образом: Перехват и обработка декодированных кадров. Потребуется написать код на Java. Также требуется, чтобы на сервере работал транскодинг: Транскодинг потока, что. в свою очередь, требует ресурсов со стороны сервера (1 ядро CPU для кодирования 2 потоков 720p, или 2 ядра CPU для кодирования 1 потока 1080p).
Еще один вариант: забрать поток с WCS сервера по RTMP или RTSP на сторонний сервер и обработать кадры там, в этом случае возможна дополнительная задержка до 1-3 секунд, т.к. оба протокола базируются на TCP.
 

mozger

New Member
Огромное спасибо. еще такой вопрос в каком качестве передается видео с андроид устройства при помощи стандартного Shared Screen? и можно как то сделать меньше качество?
 

Max

Administrator
Staff member
Огромное спасибо. еще такой вопрос в каком качестве передается видео с андроид устройства при помощи стандартного Shared Screen? и можно как то сделать меньше качество?
По умолчанию, поток публикуется в размер экрана (код на GitHub):
Code:
                                    StreamOptions streamOptions = new StreamOptions(streamName);
                                    VideoConstraints videoConstraints = new VideoConstraints();
                                    DisplayMetrics metrics = getResources().getDisplayMetrics();
                                    videoConstraints.setResolution(metrics.widthPixels, metrics.heightPixels);
                                    videoConstraints.setVideoFps(metrics.densityDpi);
                                    streamOptions.getConstraints().setVideoConstraints(videoConstraints);
                                    streamOptions.getConstraints().updateAudio(mMicCheckBox.isChecked());

                                    /**
                                     * Stream is created with method Session.createStream().
                                     */
                                    publishStream = session.createStream(streamOptions);
Можно пытаться выставить уменьшенное разрешение и FPS, например
Code:
                                    videoConstraints.setResolution(720, 1280);
                                    videoConstraints.setVideoFps(15);
 
Top