Прототип (MVP) приложения на iOS (видео стриминг)

20 000 руб. за проект • безналичный расчёт
19 февраля 2019, 21:11 • 3 отклика • 57 просмотров

Ищу разработчика iOS для написания прототипа мобильного приложения.
Желателен опыт работы с камерой / файлами / live streaming.
Язык может быть Swift или Objective C. Рассмотрим предложения и на Xamarin.
В случае успеха с прототипом возможно последующее сотрудничество по развитию приложения
Прототип должен быть стабильным (не падать даже при продолжительном стриминге) Код должен быть читаемым и настройки в переменных

Далее подробное ТЗ:

Функции прототипа

1) Live Трансляция видео с камеры по протоколу RTMP

Транслирование производится на предопределенный RTMP url с стриминг ключом введенным пользователем (конкатенация url + ключ).

Следующие параметры стриминга должны быть настраиваемы в коде:
- Bitrate (например 2500 kbps)
- Framerate (например 30 fps)
- Количество кадров между keyframe (например 15)
- Разрешение (например 720p)
- Write buffer size (131072) - lower = less delay, worse throughput. Higher = better throughput, more delay

Будет плюсом если можно настроить (в коде)
- Send buffer size (настройки пакетов TCP)
- Maximum write chunk size
- adaptive bitrate (автоматическое изменение битрейта от загружености канала)
- FLV buffer cache window (например 5 s)


2) Одновременное сохранение видео в память телефона

Следующие параметры записи должны быть настраиваемы в коде:
- Resolution (например запись в 1080p при стриминге в 720p)
- Bitrate (может быть отличный от битрейта стриминг видео)
- Framerate (например 30fps)


Интерфейс приложения

- При первом запуске приложения пользователь вводит streаming ключ (например шестизначное число)
- Стриминг ключ сохраняется в приложении
- Приложение проверяет ключ по API и
- Если ключ не найден показывает ошибку и предлагает ввести еще раз
- Если ключ найден переключается на главный экран

- На главном экране 100% места занимает вид камеры (ориентация только горизонтальная)
- Поверх вида камеры расположен заголовок видео (из того же API запроса)
- Красная круглая кнопка - старт трансляции и записи
- При нажатии кнопки начинается RTMP стрим и запись в локальный файл. Кнопка становится красным квадратом - остановка записи
- При нажатии кнопки остановки останавливается RTMP стрим и заканчивается запись видео в локальный файл
- Во время трансляции поверх видео показывать время прошедшее с начала (в формате 00:00:00), fps и текущую скорость аплоуда / текущее значение bitrate (если возможно)

Настройки камеры (регулируемые в коде)
- включить / выключить возможность нажимать на экран для фокуса и яркости (если возможно)
- настройки яркости (brightness) (если возможно)

Мокап

Спасибо за внимание