Мобильное приложение корпоративного телевидения на Android

Опубликовал свое первое приложение в Google Play Market. Приложение довольно простое, но и в своем роде пока первое в России: корпоративное телевидение на Android. В статье будут дано несколько советов для тех, кто собирается написать аналогичное приложение.

Приложение просто показывает живое видео корпоративного телевидения (само телевидение я написал на HTML5 два года назад) во весь экран планшета. Никаких настроек нет: ни звука, ни паузы, ни выбор сервера с которого идет трансляция, ни даже кнопки закрытия. Почему нет? Приложение довольно сильно нагружает процессор, активно разряжая аккумулятор и обычный пользователь его долго смотреть не будет, а если приложение подключить к телевизору вместо компьютера и так навсегда и оставить, то никаких кнопок настроек и подавно не нужно (кому кнопки все равно надо, может воспользоваться StrobeMediaPlayback, тогда приложение будет вообще в 5 строк кода).

Такого рода приложения могут работать по двум схемам: у всех в одно и тоже время показывается одинаковое видео (как эфирное ТВ) или независимый показ на каждом устройстве.

Вариант 1: все видят одинаковую картинку

Процедура создания видео у меня очень простая: надо захватить изображение с уже существующего веб-портала при помощи Flash Media Live Encoder, опубликовать его на RTMP-сервере и, затем, на Adobe AIR написать плеер. Почему такие сложности и нельзя просто открыть мобильный браузер веб-портала корпоративного ТВ? Проигрывание видео в мобильных браузерах требует активного действия пользователя, так как проигрывается оно внешним плеером. По крайней мере пока. Вторая причина: использование RTMP является хоть какой-то защитой от скачивания, это если захочется возможности работы мобильного приложения через интернет.

На планшете 800х600 видео выглядит (кликабельно) так:


Обратите внимание на плохую читаемость текста. Все из-за того, что оригинальное видео веб-портала в разрешении 1920х1080. Если разрешение планшета будет 1280х800, качество сразу станет лучше:


Теперь еще раз обратите внимание на рис 2: снизу черная полоса для управления Android осталась. Чтобы ее убрать, надо выбрать планшет с аппаратными кнопками навигации (как на рис 1).

Итак, если захочется написать свое приложение на Android и подключить его вместо PC к панели корпоративного телевидения, надо выбирать планшет с аппаратными кнопками управления, HDMI-выходом, разрешением не менее 1280х720 и отношением горизонтального числа пикселов к вертикальному как 16:9. Возможно, подойдет нечто такое. Еще можно поискать модели телевизоров на основе Google TV, т.е. сразу работающих на Android.

Достаточно ли разрешения устройства в 1280х720? Это зависит от размера текста, в моем случае вполне достаточно.

Вариант 2: на каждом устройстве проигрывается свое видео

Спустя некоторое время я написал уже нативное приложение с использованием Android SDK. В нем я пока сделал только случайное отображение видео без новостных блоков и RSS. Возможно их прикручу позднее.

Здесь процесс работы такой:
1) Приложение посылает json-запрос на сервер с просьбой дать http-ссылку на следующее видео.
2) Сервер случайным образом (но с учетом веса видео), выбирает видео и отдает mp4 ссылку на него.
3) Приложение проигрывает в полноэкранном режиме видео в стандартном видеоплеере.
4) По окончанию показа или сбое в показе видео, приложение запрашивает следующий видеофайл. Т.е. попадает снова в п.1.

Преимуществом нативного приложения является возможность сокрытия той самой полоски управления Android. Скрывается, правда, не на всех устройствах.

Это скриншот видео 1280x720 с устройства с разрешением экрана 1280x800:


Нативное приложение на Android SDK потребляет меньше электроэнергии и имеет оригинальное качество картинки (нет перекодирования).

Комментарии

Популярные сообщения из этого блога

Архитектура катастрофоустойчивого сервиса

Обзор почтового клиента Pronto Pro!

Использование USB 3.0 UVC платы захвата ezcap 261 для захвата HDMI видео в FullHD 60 fps.