Нужен C++ разработчик чтобы доработать WebRTC framework

70 000 руб. за проект
06 августа 2022, 16:07 • 3 отклика • 85 просмотров
Цель:
Доработать WebRTC Фреймворк для поддержки записи видео и аудио для iOS устройств.

Детальней:
Ссылка на фреймворк - https://webrtc.googlesource.com/src

WebRTC не поддерживает запись аудио видео звонков из коробки. Нужно доработать фреймворк чтобы он мог передавать сырые фреймы на клиент откуда и будет происходить запись.

Аудио:
  • Фреймворк производит аудио оптимизации (удаляет думы и эхо). В какой-то момент фреймворк соединят два аудио в одно и проигрывает его. Получить аудио стрим нужно после их склеивания.
  • В идеале этот аудио стрим нужно прокинуть дальше на клиент и привести в нужный формат (см ниже)
Видео:
  • Так как на видео аудио звонке может быть несколько человек, нужно понять кого именно нужно показывать в каждый данный момент.
  • В таких случаях показывать (и записывать) нужно только тот кадр чьё аудио самое громкое (как это происходит в зуме)
  • Далее данные нужно прокинуть дальше на клиент по аналогии с аудио.
Общее
  • Аудио и видео стримы нужно привести к типу CMSampleBuffer. Тут про этот тип подробнее
https://developer.apple.com/documentation/coremedia/cmsamplebuffer-u71

ТЗ:
https://webrtc.googlesource.com/src
Изменить фреймворк чтобы была возможность
  1. Начать запись аудио видео звонок.
  2. Закончить запись аудио видео звонок.
  3. Замапить новые методы в Objective-C интероп.
Собрать framework:
Инструкция
https://webrtc.github.io/webrtc-org/native-code/ios/
(Начиная с Deploying to Device)

Протестировать:
Если у вас нет опыта с iOS и Xcode не волнуйтесь всё ок, я помогу (могу сделать сам):

Далее используем этот репо чтобы проверить вообще решение.
https://github.com/stasel/WebRTC-iOS

  1. Добавить кнопку для записи звонка
  2. По нажатию начать запись
  3. По вторичному клику завершить запись
  4. Открыть получившийся результат в новом окне плеера
Если у вас есть какие-то вопросы я с радостью вам на них отвечу)