Я использую Red5pro html SDK для создания однорангового соединения между сервером и клиентом, видео и аудио чат работают как шарм с getUserMedia () .
Проблема в том, что я хочу выполнять потоковую передачу с элемента DOM (Canvas), а не с камеры пользователя, используя captureStream () .
Red5Pro имеет метод с именем " OnGetUserMedia " со следующими инструкциями:
Метод onGetUserMedia - когда он определен в конфигурации, предоставляемой издателю на основе WebRTC - переопределяет внутренний вызов getUserMedia в HTML-SDK Red5 Pro.
Вы можете предоставить свою собственную логику того, как вызывается getUserMedia и достигается поток мультимедиа, задав для атрибута onGetUserMedia метод, соответствующий следующим рекомендациям:
Входные аргументы для onGetUserMedia не предоставляются.
Ожидается, что объект Promise будет возвращен.
Объект MediaStream должен быть указан в разрешении Обещания.
Когда я провел исследование и спросил команду поддержки Red5pro, они сказали
Внутри возвращенного обещания вы можете получить MediaStream из captureStream.
Ссылка: Документация Red5Pro
Я просто понятия не имею, что делать или что менять.
Вот пример onGetUserMedia Метод:
{
host: "localhost",
protocol: 8083,
port: 8081,
streamName: "mystream",
iceServers: [{urls: 'stun:stun2.l.google.com:19302'}],
onGetUserMedia: function () {
return navigator.mediaDevices.getUserMedia({
audio: true,
video: {
width: {
max: 1920,
ideal: 1280,
min: 640
},
width: {
max: 1080,
ideal: 720,
min: 360
}
}
})
}
}
Любая помощь?