Как переключиться с записи с камеры на запись с экрана с помощью API RecordRTC?
Я новичок в аудио / видео записи. Сценарий хорошо работает для моей камеры и аудио-рекордера. Тем не менее, я хотел бы знать, как реализовать его подобно доступному расширению, чтобы я мог записать вкладку и весь задействованный звук. Заранее спасибо. В настоящее время использую Ver.5.4.0
1 ответ
Вот расширение chrome с открытым исходным кодом, которое поддерживает как вкладку, так и экран и запись экрана любого открытого приложения:
Ты можешь использовать tabCapture
API для захвата MediaStream
объект; Теперь вы можете записать полученный поток, используя MediaRecorder API или RecordRTC.
RecordRTC может записывать следующие виды потоков:
- Поток, снятый с веб-камеры или микрофона
- Поток захвачен с помощью API tabCapture
- Поток захвачен с помощью API desktopCapture
- Поток захвачен из
<canvas>
или же<video>
элементы, использующиеcaptureStream
API - Потоки, созданные с помощью 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 );
Таким образом, вы должны либо записать камеру или экран. Не заменяйте дорожки.