запись удаленного потока webrtc с помощью RecordRTC
Я использую библиотеку Opentok JavaScript WebRTC для размещения видеочата 1-к-1 (одноранговый). Я могу видеть видео моего сверстника и слышать звук безупречно.
мое желание-записывать аудио / видео других чатов (удаленных). Для этой цели я использую RecordRTC. Мне удалось записать видео другого участника чата (видео выводится в HTML video element), но, до сих пор, мне не удалось записать аудио (мертвая тишина .wav-файл, насколько я мог получить.) Использование Chrome Canary (30.0.1554.0). Вот мой метод:--4-->
var clientVideo = $('#peerdiv video')[0];//peer's video (html element)
var serverVideo = $('#myselfdiv video')[0];//my video (html element)
var context = new webkitAudioContext();
var clientStream = context.createMediaStreamSource(clientVideo.webRTCStream);
var serverStream = context.createMediaStreamSource(serverVideo.webRTCStream);
webRTCStream-это пользовательское свойство, которое я назначил объекту HTMLVideoElement, изменив источник библиотеки opentok js. Он содержит объект MediaStream, связанный с соответствующим элементом .
var recorder = RecordRTC({
video: clientVideo,
stream: clientStream
});
recorder.recordAudio();
recorder.recordVideo();
видео записывается. Аудиофайл также создается, он имеет длину, близкую к длине видео, однако он полностью бесшумный (и да, было много шума, производимого с другой стороны во время запись)
Я проверил это с помощью видеоэлемента, который отображает видеопоток моей веб-камеры (и аудио), и он работал: как аудио, так и видео были записаны:
...
var recorder = RecordRTC({
video: serverVideo,
stream: serverStream
});
...
есть ли что-то особенное в потоках, происходящих из удаленного места? Любые рекомендации по этому вопросу были бы весьма полезны.
3 ответов
эта же проблема возникает в следующих ситуациях...
- Если не стерео аудио (двухканальное аудио)...т. е. это моно аудио
- Если входные аудиоканалы не равны выходным аудиоканалам
- Если устройство ввода звука не является устройством по умолчанию, выбранным в chrome
Я все еще пытаюсь найти реальный вопрос.
Я добавил этот эксперимент для тестирования цели... видеть приставка...
https://webrtc-experiment.appspot.com/demos/remote-stream-recording.html
Обновлено: Суббота, 1 февраля 2014, 09:22:04 ПКТ
удаленная запись звука не поддерживается; и эта проблема рассматривается как wontfix с низким приоритетом:
- поддержка подачи удаленного выхода WebRTC MediaStreamTrack в WebAudio
- подключение вывода WebRTC MediaStreamTrack к сети Аудио API
обновлено 28 марта 2016
пульт ДУ аудио+видео запись теперь поддерживаются в RecordRTC, так как Chrome версии 49+.
Firefox, с другой стороны, может просто записывать удаленное аудио.
Если Chrome / WebRTC / Opus выводит моно-аудио по умолчанию, и если это проблема здесь, я вижу два варианта в этом случае:
- сделав Opus выход стерео-не уверен, как.
- , сделав код RecordRTC / Recorderjs работать с mono
или кто-нибудь знает любую другую библиотеку записей, которая работает?
это на самом деле теперь отлично работает в Firefox. Я использую FireFox 29.0.1
и AudioAPI теперь может работать с источниками аудиопотоков, захваченных с удаленных сторон из однорангового соединения.
для проверки перейдите в страница эксперимента Муаз Хана. Я не уверен, с какой версией Firefox это развернулось, но я хотел бы поблагодарить команду за его проворачивание!
ошибка chrome была перемещена в команду AudioAPI cr ошибка для отслеживания прогресса