Мобильное приложение корпоративного телевидения на 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!

Подключаем ZFS over iSCSI на Oracle Linux 8 (CentOS) в Proxmox

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