WebRTC - запись медиапотока видеоконференции в одном файле

Я пытаюсь сделать приложение для видеоконференций с помощью функции записи конференции, используя WebRTC, Я очень плохо знаком с вещами видеоконференций и сценариями соединения клиент-сервер.

Я создал демонстрационное приложение для видеоконференций с использованием однорангового соединения. который работает отлично. но мне также нужно записать всю конференцию (видео + аудио обеих сторон) в один файл.

Во что я заглянул WebRTC Демо, у меня не было такого способа сделать это. Я не уверен, смогу ли я сделать это путем слияния WebRTC с любым другим инструментом или просто используя WebRTC с некоторой пользовательской логикой.

Пожалуйста, помогите мне в этом, я также открыт для использования любого другого инструмента с открытым исходным кодом, если они предоставляют такую ​​функциональность.

2 ответа

Полный отказ от ответственности: я работаю на SightCall

Мы предлагаем SDK для видеоконференций (инструментарий), построенный на WebRTC. Одна из функций, которую мы имеем - это запись. Чтобы использовать это с WebRTC, вы должны создать приложение для вызова нашего JS API, а не напрямую WebRTC. Наше облако устанавливает вызов и использует WebRTC непосредственно в браузере. Когда вы записываете конференцию (два или более пользователей), мы создаем для вас файл фильма на S3. Создание фильма требует обработки и транскодирования, а настройка программного обеспечения самостоятельно не проста. Вот почему мы предлагаем его как облачный сервис.

Другой браузер сейчас работает по-другому.

Я думаю, что только Firefox позволяет создавать единую запись в файл прямо из потока WebRTC в данный момент.

Chrome разделит аудио- и видеодорожку, поэтому вам нужно объединить их самостоятельно, используя ffmpeg, например https://www.webrtc-experiment.com/ffmpeg/ в браузере... НЕ РЕКОМЕНДУЕМ, или отправить их на сервер и объединить он использует полноформатный ffmpeg в качестве фоновой задачи.

Не слишком опытный эксперт по ffmpeg, но я думаю, что вам нужно сместить звук примерно на 1 секунду раньше или на 1 секунду позже, чтобы правильно синхронизировать аудио- и видеопоток с моей попытки сделать подобное в прошлый раз. Забыл, в какую сторону.

По сути, вам нужно подать видео и аудио поток, выбрать что-то вроде webm-кодирования или mp4-кодирования и aac audio или mp3 и т. Д. И вывести его в один файл. Все, что я могу сказать, - у вас будет много проб и ошибок, чтобы получить правильный результат. Удачи:)

https://ffmpeg.org/ffmpeg.html

или, возможно, попробуйте что-то вроде http://www.kurento.org/ которое, я думаю, сделает это для вас.

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