Страница 1 из 9

Нужен GStreamer под iOS и Android

СообщениеДобавлено: 09 окт 2013, 11:05
Gol
Есть тут кто-нить кто шарит в программировании под iOS и/или Android?

Вкратце суть проблемы: чтоб на планшете/смартфоне шустро работала управлялка для ездящих девайсов - управлялку надо делать нативным приложением, а не на чём-то кроссплатформенном типа Adobe AIR.

Самая первая и основная задача - полноэкранное видео. Так как самая оптимальная передача видео - через Gstreamer по RTP (h.264 кодек), то, предположительно, приложение может быть сделано на базе гстримера. На оф сайте есть куча мануалов и туториалов на эту тему, которые наверняка помогут.

Ссылки по теме:
Installing for Android development http://docs.gstreamer.com/display/GstSDK/Installing+for+Android+development
Installing for iOS development http://docs.gstreamer.com/display/GstSDK/Installing+for+iOS+development

Android tutorials http://docs.gstreamer.com/display/GstSDK/Android+tutorials
iOS tutorials http://docs.gstreamer.com/display/GstSDK/iOS+tutorials

Итак, задача: сделать приложение под одну из платформ (iOS, Android) или под обе сразу, неважно. Приложение должно показывать в полноэкранном режиме видео с Виртурилки, переданное гстримером по RTP с кодеком H264. В идеале, задержка должна быть не хуже чем при просмотре на десктопе (200-300 мс максимум). При этом было бы очень хорошо, если бы была возможность накладывать поверх видео управляющие компоненты - джойстики, кнопки, дополнительную информацию. Насколько мы понимаем, это совсем не проблема. Приложение должно быть опенсурсным, все исходники - на гитхаб.

Одна засада - такая работа подразумевает оплату, а у нас сейчас нечем платить, все бабки ушли на тираж. Так что платить сможем только натурой. В смысле, железом :-) В общем, всё обсуждаемо. Главное - сделать приложения для дальнейших испытаний.

Если вдруг кто-то может сделать всё вышеописаное но не обладает железкой - можем устроить тестовый видеопоток на нужный ip:port Если предварительные результаты будут положительные то и железку бесплатно отправим вслед за потоком.

Re: Нужен GStreamer под iOS и Android

СообщениеДобавлено: 09 окт 2013, 11:14
akira
Я не прочь поиграться на выходных с GStreamer или с ffmpeg. Как получить ip:port?

Re: Нужен GStreamer под iOS и Android

СообщениеДобавлено: 09 окт 2013, 11:21
krupoderov
ну все таки логичнее наверно не в2р должна пихать видео на телефон, а телефон коннектится к в2р и принимать видео.
разве не так?

Re: Нужен GStreamer под iOS и Android

СообщениеДобавлено: 09 окт 2013, 11:23
akira
Надо смотреть какие хар-ки у кодека будут, возможно вообще не нужен ndk и можно будет встроенным кодеком проигрывать.

Re: Нужен GStreamer под iOS и Android

СообщениеДобавлено: 09 окт 2013, 11:35
COBECTb
Пример под ios на сайте GStreamer тупо не собирается. ;(
Может новый xcode нужен (у меня 4.6.3)? Если бы он собрался проблема бы на 80% была бы решена.

А это прикольная библиотека контроллеров под ios - типа аналоговый джойстик, кнопки и прочее. Собирается и даже работает. https://github.com/jasarien/JSController

Re: Нужен GStreamer под iOS и Android

СообщениеДобавлено: 09 окт 2013, 11:42
COBECTb
Джойстики и кнопки - это половина дела.
Нужно сделать сервер на в2р, который будет принимать команды от этих элементов управления.
Причем под конкретную конфигурацию оборудования должны быть разные элементы управления на экране, а сервер в зависимости от конфигурации должен по разному команды обрабатывать.

Re: Нужен GStreamer под iOS и Android

СообщениеДобавлено: 09 окт 2013, 11:59
Gol
COBECTb писал(а):Джойстики и кнопки - это половина дела.
Нужно сделать сервер на в2р, который будет принимать команды от этих элементов управления.
Причем под конкретную конфигурацию оборудования должны быть разные элементы управления на экране, а сервер в зависимости от конфигурации должен по разному команды обрабатывать.

Вот с сервером команд - меньшее из бед, это уже сто раз делал на той же ноде (NodeJS). Ещё не публиковал ибо сначала с видео надо разобраться. По хорошему да, мобильный девайс будет подключаться к виртурилке и получать поток. Так как при подключении будет известен ip подключившегося, то на него прекрасно можно гнать поток. Так что это, опять же, не проблема. Проблема пока только в том чтоб поток вообще отобразить на экране смартфона/планшета, а дальше уж доведём до удобства.

Re: Нужен GStreamer под iOS и Android

СообщениеДобавлено: 09 окт 2013, 12:00
Gol
COBECTb писал(а):Причем под конкретную конфигурацию оборудования должны быть разные элементы управления на экране, а сервер в зависимости от конфигурации должен по разному команды обрабатывать.

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

Re: Нужен GStreamer под iOS и Android

СообщениеДобавлено: 09 окт 2013, 12:56
orangeudav
Я бы добавил следующим шагом после элементов управления на экране - вывод инфы датчиков/телеметрии в видео поток по типу OSD. Тут два варианта есть - делать это на стороне виртурилки (в спеках на проц написано что это можно, умел бы драйвер) либо уже на стороне планшета - дописывать телеметрию поверх видеокартинки. Второй вариант конечно более простой, зато первый - более ламповый и теплый так сказать, элементы OSD жмуться вместе с видео и картинка получается цельной

Re: Нужен GStreamer под iOS и Android

СообщениеДобавлено: 09 окт 2013, 12:58
COBECTb
Gol писал(а):Вот с сервером команд - меньшее из бед, это уже сто раз делал на той же ноде (NodeJS). Ещё не публиковал ибо сначала с видео надо разобраться. По хорошему да, мобильный девайс будет подключаться к виртурилке и получать поток. Так как при подключении будет известен ip подключившегося, то на него прекрасно можно гнать поток. Так что это, опять же, не проблема. Проблема пока только в том чтоб поток вообще отобразить на экране смартфона/планшета, а дальше уж доведём до удобства.


Если сервер на NodeJS то клиент в браузере телефона - так ведь? NodeJS генерит страницу с элементами управления и областью видео.
Нужен аналог флеш плеера на html5.