Запись видео нестандартного размера в Electron - PullRequest
0 голосов
/ 06 января 2020

// Для записи камеры

recordCamera = () => {
    navigator.webkitGetUserMedia({
        audio: false,
        video: { mandatory: { minWidth: 1280, minHeight: 720 } }
    }, getMediaStream, this.getUserMediaError)
}




recorderOnDataAvailable = (event) => {
if (event.data && event.data.size > 0) {
    this.recordedChunks.push(event.data)
    this.numRecordedChunks += event.data.byteLength
}
}

// Для записи весь рабочий стол или конкретное окно соответствующее окно id is передано

  onAccessApproved = (id) => {
    if (!id) {
      console.log('Access rejected.')
      return
    }
    navigator.webkitGetUserMedia({
      audio: false, 
      video: { mandatory: { chromeMediaSource: 'desktop', 
                            chromeMediaSourceId: id,
                            maxWidth: window.screen.width, 
                            maxHeight: window.screen.height 
                          } 
              }

    }, getMediaStreamScreen, getUserMediaError))
  }

getMediaStream = (stream) => {
    console.log('Start recording the stream.')
    recorder = new MediaRecorder(stream)
    stream.onended = () => { console.log('Media stream ended.') }
    let videoTracks = stream.getVideoTracks()
    recorder.ondataavailable = this.recorderOnDataAvailable
    recorder.onstop = () => { console.log('recorderOnStop fired') }
    recorder.start()
}

getUserMediaError = () => {
    console.log('getUserMedia() failed.')
}

Я хочу записать экран нестандартного размера (пример: от верхнего левого (100px, 100px) до нижнего правого (500px, 500px).
Нет параметров в навигаторе .webkitGetUserMedia для достижения записи нестандартного размера.
Как это сделать в электронном режиме и реагировать js.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...