2016-11-18 2 views

ответ

0

Вы можете использовать RecordRTC или MediaStreamRecorder или MediaRecorder API для записи локальных и/или удаленных видео.

Для удаленного видео, есть два варианта:

  1. Запись видео из peer.onaddstream событий
  2. Записи видео с <video> тега с помощью captureStream API

Первых из них является VERY_Easy однако вы MUST имеют доступ к кодам javascript.

Второй вариант также легко через это расширение хром:

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(); 
}; 
+0

Большое вам спасибо @Mauz, что вы спасли мою жизнь .... :) – Jeccy

0

Существует два возможных места для записи видеоролика

  1. Местный: Лично я считаю, что это плохая идея из-за ограниченной емкости хранилища. Если это в порядке, то мы можем продолжить с RecordRtc ИЛИ MediaStreamRecorder
  2. Удаленный сервер: Это лучший вариант. Он может записывать видео участника на сервере. Есть способы сделать это. Один из способов, который я опробовал, - это Куренто. В нем реализованы примеры Java и node.js с примерами. Example