Как переключиться с записи с камеры на запись с экрана с помощью API RecordRTC?

Я новичок в аудио / видео записи. Сценарий хорошо работает для моей камеры и аудио-рекордера. Тем не менее, я хотел бы знать, как реализовать его подобно доступному расширению, чтобы я мог записать вкладку и весь задействованный звук. Заранее спасибо. В настоящее время использую Ver.5.4.0

1 ответ

Вот расширение chrome с открытым исходным кодом, которое поддерживает как вкладку, так и экран и запись экрана любого открытого приложения:

Ты можешь использовать tabCapture API для захвата MediaStream объект; Теперь вы можете записать полученный поток, используя MediaRecorder API или RecordRTC.

RecordRTC может записывать следующие виды потоков:

  1. Поток, снятый с веб-камеры или микрофона
  2. Поток захвачен с помощью API tabCapture
  3. Поток захвачен с помощью API desktopCapture
  4. Поток захвачен из <canvas> или же <video> элементы, использующие captureStream API
  5. Потоки, созданные с помощью API WebAudio
например
var capturedStream = videoElement.captureStream();

var recorder = RecordRTC(videoElement.captureStream(), {
   type: 'video'
});

Или же:

var recorder = RecordRTC(tabCaptureStream, {
   type: 'video'
});

Просто убедитесь, что вы получаете MediaStream объект сверху API; и теперь вы можете использовать RecordRTC для записи этого потока.

Что касается "замены дорожки видео на дорожку дополнительной камеры или дорожку экрана", вы можете использовать addTrack, removeTrack так же как replaceTrack методы. Однако я не уверен, что MediaRecorder API может записывать замененный трек:

// using Firefox
theStreamYouAreRecording.replaceTrack( screenTrack );

// using Chrome or Firefox
theStreamYouAreRecording.addTrack ( screenTrack );

Таким образом, вы должны либо записать камеру или экран. Не заменяйте дорожки.

Другие вопросы по тегам