Привет, я использую webrtc для установки one2one видеозвонка. Я могу записывать локальное видео, но не удаленное видео. Я хочу записать удаленное видео. Пожалуйста, помогите !! ,Как записывать удаленное видео с использованием webrtc или медиапотока из тега видео
ответ
Вы можете использовать RecordRTC или MediaStreamRecorder или MediaRecorder API для записи локальных и/или удаленных видео.
Для удаленного видео, есть два варианта:
- Запись видео из
peer.onaddstream
событий - Записи видео с
<video>
тега с помощьюcaptureStream
API
Первых из них является VERY_Easy однако вы MUST имеют доступ к кодам javascript.
Второй вариант также легко через это расширение хром:
- https://chrome.google.com/webstore/detail/recordrtc/ndcljioonkecdnaaihodjgiliohngojp (Open Sourced here)
captureStream
API поддерживаются как на Chrome >=53
и Firefox.
Chrome, однако, по-прежнему требует этот флаг: chrome://flags/#enable-experimental-web-platform-features
Если включить выше флаг, перезапустите хром, и щелкните правой кнопкой мыши по любой видео (на любой веб-странице), Вы сможете записать это видео. (Будь то WebRTC видео, MP4 или WebM файл или HLS/DASH живой эфир)
Вот основная концепция выше расширения:
var streamFromVideoTag = videoTag.captureStream(15); // 15 is frame-rates
var recorder = RecordRTC(streamFromVideoTag, {type: 'video'});
Для варианта onaddstream
событий:
var recorder;
peer.onaddstream = function(event) {
var streamToBeRecorded = event.stream;
recorder = RecordRTC(streamToBeRecorded, {type: 'video'});
recorder.startRecording();
};
Существует два возможных места для записи видеоролика
- Местный: Лично я считаю, что это плохая идея из-за ограниченной емкости хранилища. Если это в порядке, то мы можем продолжить с RecordRtc ИЛИ MediaStreamRecorder
- Удаленный сервер: Это лучший вариант. Он может записывать видео участника на сервере. Есть способы сделать это. Один из способов, который я опробовал, - это Куренто. В нем реализованы примеры Java и node.js с примерами. Example
Большое вам спасибо @Mauz, что вы спасли мою жизнь .... :) – Jeccy