Разработать приложение с использованием GStreamer
Требования к кандидату
- Уверенные знания языка C
- Отличное понимание основных концепций GStreamer'а: pipeline, element, bin, state, pad
- Опыт разработки плагинов для GStreamer
- Опыт использования сторонних плагинов для GStreamer
- Опыт разработки приложений для Android NDK
- Опыт использования Git
- Отображать видео
- Стримить по UDP
- Записывать видео
- Поддержка платформ OSX/Windows (на выбор)
- Поддержка >= Android 4.0
- Gst 1.8.+
- В качестве источника видео можно использовать videotestsrc
- Использование любых готовых плагинов (с подходящей лицензией) только приветствуется
- Первая Activity для отображения fullscreen видео
- Вторая Activity для настроек плейера
- Single window
- Настройки должны быть в диалоговом окне
- Для реализации UI использовать один из кросс-платформенных фреймворков Qt или GTK+
- Fullscreen видео можно использовать GLSurfaceView - андроид, и обычное окно для Desktop
- play/stop через ToggleButton
- start/stop через ToggleButton
- start/stop через ToggleButton
- Разбивать записываемое видео на части
- Ротация файлов (перезаписывать более старые файлы более новыми)
- Настройка записи должна включать: размер одного файла, максимально количество файлов, директория для записи
- поддержка записи на external storage в >= Android 4.4 (используя SAF)
- кодек - h264, контейнер - mp4
- в случае прерывания записи, данные не должны теряться