Потоковое медиа в мобильных устройствах
Автор статьи: Дашкевич Виктор
По материалам сайта www.mobi.ru
Опубликовано: ноябрь 2007 г.
Прием потокового видео и аудио для пользователя настольного компьютера - событие обыденное. Не 1998 год на календаре, чай. В сети можно отыскать массу ссылок на каналы, ведущие практически круглосуточную трансляцию. Для приема такого вещания вам не потребуется никаких экзотических программ - в дополнение к обычному Windows Media Player достаточно установить плеер от RealOne. Щелкнул на ссылку - и смотри в свое удовольствие. Даже DVD-плеер и тот включить сложнее. Красота. А что, если вместо ПК воспользоваться смартфоном или коммуникатором?
Часть первая. Следственный эксперимент
О поддержке потокового вещания штатными программными средствами заявляют многие производители мобильных устройств. В подробности они при этом, правда, углубляются редко. Напишут что-нибудь вроде "Проигрывание мультимедийных файлов с совместимых мультимедийных порталов" (цитата с официального сайта Nokia), - вот и понимай как хочешь. Подозрительно, не так ли? Ох, не обойтись тут без следственного эксперимента!
Но для начала давайте разберемся с терминологией. Итак, что такое поток? Если звуковой или видеофайл лежит на локальном носителе, то при его воспроизведении плеер первоначально загружает этот файл в оперативную память компьютера. А если нужно принимать данные из эфира или интернета в реальном времени? Их на жесткий диск или флэшку не сохранишь. Вот умные люди и придумали формат, позволяющий транслировать эти данные непрерывно, в виде потока аналогового сигнала или байтов. А плеер при этом на лету трансформирует эти данные в звуки или видео. По сути то же самое, только данные непрерывно поступают не из оперативной памяти компьютера, а из внешней среды.
Другими словами, потоковое мультимедиа - это такое видео или аудио, к которому можно получить доступ, подключившись к Сети.
Положив в карманы коммуникатор Qtek 9100 (Windows Mobile 5.0) и смартфон Nokia N80 Internet Edition (Symbian S60 третьей редакции), я отправился на поиски ближайшей Wi-Fi точки доступа. Можно было, конечно, обойтись и обычными GPRS или EDGE, но очень хотелось выжать из этих устройств максимум возможного.
Точка доступа обнаружилась в ближайшем кафе, а в качестве платы за доступ к беспроводной сети пришлось сделать заказ. И пока мне несут чашку кофе, я расскажу вам об устройствах и программах, которые примут участие в нашем эксперименте.
Who is who
Смартфон N80 IE компания Nokia предпочитает называть "мультимедийным компьютером". Qtek 9100 является славным представителем выводка коммуникаторов от HTC. Оба аппарата оборудованы беспроводным сетевым контроллером Wi-Fi, так что никаких претензий к качеству принимаемого сигнала быть не должно.
Список каналов, ведущих вещание через интернет, был определен заранее. Кстати, ссылки на них можно найти на сайтах http://beelinetv.com, http://wwitv.com/portal.htm, http://aproject.narod.ru/stream.html и www.zoovision.com.
Вещание на таких сайтах ведется в разных форматах - присутствуют ссылки для проигрывания как при помощи Windows Media Player, так и Real-плеера.
Первый является штатным проигрывателем мультимедийных файлов для устройств на основе WM, второй - для Symbian. Различия между ними заключаются в типе используемого протокола и порта (это может быть HTTP, MMS или RSTP, причем начало ссылки является инструкцией для браузера).
Источником данных для трансляции в сеть в первом случае служат чаще всего файлы потоковых форматов WMA/WMV (Windows Media Audio/Video), во втором - различные файлы проигрывателя от RealOne (RM, RAM, 3GP и другие). На сайтах со ссылками они чаще всего помечены как Media и Real соответственно. Работоспособность всех ссылок предварительно была проверена на настольном компьютере.
При последовательной загрузке найденных ссылок в проигрыватели устройств, участвующих в тесте, выяснилось вот что.
Ныряем в поток
Коммуникатор Qtek 9100 сумел обработать и воспроизвести большую часть ссылок на потоковое видео из массива Media. Ссылки на IP-радиостанции вообще открывались на ура. Причем ссылки можно открывать как непосредственно в плеере через опцию Загрузить URL, так и через штатный браузер. Во втором случае ссылка из браузера автоматически перенаправлялась в плеер, в котором и начиналась трансляция.
Одновременно с этим Qtek 9100 не сумел справиться с воспроизведением ни одной потоковой ссылки из массива Real. В принципе, ничего удивительного в этом не было - и на настольном компьютере стандартный Windows Media Player ссылки из массива Real открывать отказывается.
Поэтому на коммуникаторе предварительно был установлен проигрыватель RealOne. Но даже с его помощью ни одну из ссылок из массива Real запустить не удалось. Причем проверялись самые различные типы файлов - RM, RAM, 3GP.
Затем наступила очередь Nokia N80 IE. Оказалось, что ситуация с воспроизведением потокового сигнала на устройствах под управлением Symbian еще более плачевна. RealOne Player не сумел справиться с обработкой ссылок из массива Media - в этом, я, впрочем, и не сомневался. Они оптимизированы под другую операционную систему и другой проигрыватель. Но невозможность воспроизводить видеопоток в "родных" форматах Real, если они передаются по протоколу RTSP (Real-Time Streaming Protocol), свидетельствует о серьезных недоработках программного обеспечения. Не справился с обработкой этих потоков и Helix Player, возможности которого существенно превосходят функциональность штатного проигрывателя. Чуть лучше обстояло дело с приемом радиостанций, передающих сигнал в Глобальную сеть. Несколько работоспособных ссылок все же удалось отыскать.
"Глубина-глубина, я не твой"
Ситуация с платформой Windows Mobile в общем виде ясна - мобильный вариант мультимедийного проигрывателя способен справляться с воспроизведением потокового сигнала в большинстве случаев. При этом качество воспроизведения прямо пропорционально скорости передаваемых данных.
Ситуация же с устройствами на основе Symbian неоднозначна. Оказалось, что воспроизводить транслируемый поток непосредственно по ссылкам из сети они не умеют - сказываются ограничения текущего программного обеспечения и аппаратной платформы. Плеер, установленный в смартфонах S60, не может преобразовывать поступающий сигнал под разрешение экрана или использовать поток с высоким показателем битрейта (битрейт определяет количество килобит в секунду, поступающих на процессор для последующей обработки). В итоге процессор просто "захлебывается", а мы вместо изображения видим сообщение об ошибке.
Поэтому в реальном времени штатный проигрыватель умеет обрабатывать лишь сигнал, кодированный специальным образом. Для приема телевизионных трансляций при помощи телефона исходный сигнал необходимо преобразовать в потоковый формат с низким битрейтом и размером кадра, соответствующим разрешению экрана мобильного аппарата.
Аппаратный комплекс для кодирования сигнала выпускается многими компаниями. На практике хорошо себя зарекомендовала аппаратура Siemens и Ericsson.
В то же время организовать такую трансляцию при желании может любой оператор сотовой связи. Ему нужно лишь использовать существующие программно-аппаратные решения. Проще говоря, принять эфирный сигнал, преобразовать его нужным образом, запустить в сеть и открыть к нему доступ с мобильных устройств. Решение подобной задачи может создать (и уже создает) многочисленные дополнительные сервисы. Это может быть и видео по запросу в виде новостного блока или фильма, и составление собственного листа из музыкальных композиций, которые не нужно будет записывать на карту памяти, а получать непосредственно из эфира.
Для приема такого потокового сигнала может быть создана уникальная точка доступа с отдельной тарификацией. Это весьма важно, так как потоковый сигнал требует большого количества GPRS-трафика, который в сетях сотовых операторов нельзя назвать дешевым. О возможности решения этой задачи говорит и сервис "Мобильное телевидение", который уже в течение нескольких лет достаточно успешно предлагает "МегаФон".
О том, что потоковое телевещание может представлять интерес для пользователей, говорит и опыт компании Vimio. C сайта разработчика можно загрузить программу Live TV, предназначенную для смартфонов Symbian третьей редакции. Она позволяет просматривать телетрансляции нескольких каналов. В зависимости от времени суток их число колеблется от одного до четырех.
Для воспроизведения через интернет FM-радиостанций тоже существует соответствующая программа под названием S60 Internet Radio. Разработана она программистами компании Nokia. Утилита представляет собой мультимедийный проигрыватель с возможностью приема станций, транслирующих сигнал в интернет. Помимо потоковых ссылок, программа поддерживает форматы MP3, AAC, eAAC+, MP4, M4A, WMA, 3GPP, AMR, WAV и может использоваться в качестве альтернативного проигрывателя. В текущей версии отсутствует возможность самостоятельно добавлять ссылки для воспроизведения - приходится довольствоваться лишь теми, которые имеются изначально.
В ожидании чуда
Наш небольшой эксперимент показал, что считать современные мобильные устройства полноценными мультимедийными компьютерами еще рано. У обеих платформ есть проблемы с приемом потокового медиа. Каждая из них способна воспроизводить лишь отдельные протоколы, то есть ни о какой универсальности говорить пока не приходится. И вполне вероятно, что именно необходимость расширения возможностей обработки мультимедийного контента станет одним из факторов разработки в компании Nokia устройства на основе Windows Mobile.
Кроме того, серьезной доработке должен подвергнуться и устанавливаемый на смартфоны S60 Real Player. Если ранее его возможности воспроизведения потоковых форматов можно было считать не обязательными, то сегодня они просто обязаны входить в минимальный джентльменский набор. Иначе - зачем тогда 3G и Wi-Fi?
Я расплатился и пошел домой смотреть трансляцию кубка Большого Шлема из Монреаля. Потоковую Интернет-трансляцию. С настольного компьютера, подключенного через старый добрый ADSL-модем.
Мне очень хочется получить ответ от представителей компаний Microsoft и Nokia. Уважаемые господа! Когда ваши устройства смогут работать с потоковым вещанием так же просто, как сейчас это умеют делать настольные компьютеры? Пора бы уже, господа. Пора бы уже.
| Настройка соединения WLAN на смартфоне Symbian OS S60 3rd Edition |
|
Часть вторая. Приручение потока
Ну а пока светила IT заняты решением этой проблемы в глобальных масштабах, мы попытаемся сделать то же самое, но в пределах отдельно взятой квартиры. Давайте попробуем превратить наш домашний ПК в ретранслятор цифрового звука. Смартфон же будет выступать в роли приемника. Любой приемник хорош тем, что он не связан с передающей станцией проводами, поэтому для начала создадим беспроводную сеть. Она может быть основана на протоколе Bluetooth или использовать Wi-Fi - принципиальной разницы в данном случае нет.
Для создания Wi-Fi сети нам потребуется точка доступа. Я использовал роутер Asus AAM6020-T4, присоединенный к настольному компьютеру через сетевую карту.
Настроить соединение проще простого. В свойствах сетевого подключения назначаем точке доступа сетевой адрес 192.168.0.1. Теперь придумаем этой сети собственное имя. Пусть это будет . Все, можно подключать смартфон.
Для смартфонов на S60 можно воспользоваться менеджером беспроводных подключений.
Запускаем поиск сетей и определяем найденную точку доступа на смартфоне в качестве текущей. Убедиться в том, что подключение произошло, можно из пункта меню смартфона Connectivity > Connection Manager > Act. Data Conn. При этом на главном экране устройства появится соответствующий значок подключения к беспроводной сети.
Теперь на компьютер нужно установить сервер, который будет транслировать аудиопоток на указанный сетевой адрес. Мы будем использовать программу SHOUTCast, которую можно взять с нашего диска. Еще нам потребуется плагин для Winamp, который также находится на диске.
Сначала устанавливаем сервер. После инсталляции приложения необходимо вручную подправить файл инициализации. Он находится в той же папке, в которую была установлена программа. Открываем файл sc_serv.ini при помощи блокнота и ищем параграф Password. Внизу видим строчку Password=changeme. Ее можно не менять, а можно ввести и другое значение (мы использовали 123). Главное - запомнить пароль и затем ввести его по запросу. Сохраняем файл и закрываем его. И вновь запускаем сервер.
В настоящий момент сервер неактивен, подключенных устройств нет, но он готов к дальнейшей работе.
Следующий шаг - подключение плагина к Winamp. Запускаем программу shoutcast-dsp-1-8-2b-windows.exe. Затем запускаем Winamp, открываем Свойства (комбинация клавиш CTRL-P) и выбираем закладку DSP/Effect. В правом окне выбираем плагин Nullsoft SHOUTsast Source DSP (с указанием текущей версии). Закрываем окно опций и видим, что к окошку программы Winamp добавилось дополнительное окно подключенного плагина. В нем находится четыре закладки.
| Конфигурация SHOUTcast, плагина к Winamp |
|
Нам потребуются закладки Output и Encoder. На закладке "Output" нужно отметить пункты Connect at Startup и Automatic Reconnection on Connection Failure. При этом плагин будет автоматически соединяться с сервером при каждом подключении, и восстанавливать соединение при каждом обрыве связи. В строке Address необходимо указать сетевой адрес, который вы указали для вашей точки доступа. В данном случае это 192.168.0.1. Строку порта менять не нужно (если вы не изменяли этот параметр в файле инициализации). Внимательно отнеситесь к строке "Password". Там должно стоять значение, которое вы внесли в файл sc_serv.ini (мы с вами вводили туда <123> без кавычек). Остальные параметры в этом окне можно не менять. На закладке Encoder нужно выбрать параметры, которые будут определять качество передаваемого сигнала. Здесь можно попробовать изменить значения, приведенные на рисунке, и подобрать наиболее оптимальные для своей сети. На этом настройка плагина завершена. Выбираем звуковой файл из медиагалереи на жестком диске или вводим ссылку.
Обратите внимание, что в окне сервера началась передача данных во внешнюю сеть. Осталось настроить прием передаваемого медиа на смартфоне.
В качестве плеера, принимающего потоковое вещание, мы будем использовать проигрыватель LCG Jukebox от команды <Одиноких котов>.
| Утилита LCG Jukebox, которая принимает трансляцию потокового аудио с персонального компьютера |
|
Добавление нашей станции производится через меню Playlist > Station Manager. Необходимо ввести название станции (пусть это будет та же "Home"), ввести значения сетевого адреса и порта (в виде 192.168.0.1:8000) и указать битрейт потока. Он может быть равен значению, указанному на закладке плагина для Winamp, или превышать его. После завершения ввода параметров осталось нажать на кнопку <ОК>, и на смартфоне зазвучит музыка, транслируемая на него через беспроводную сеть с настольного компьютера. Аналогично происходит и трансляция видео.
Возможно, кому-либо идея слушать музыку или смотреть видео на смартфоне в режиме трансляции покажется спорной. Конечно, проще записать нужные файлы на карту памяти, благо их цена в последнее время стремительно падает. Но с точки зрения технологии этот метод имеет свои неоспоримые преимущества. Нет необходимости возиться с перекодировкой контента в нужный формат и забивать память устройства громоздкими файлами. Можно, например, смотреть видео на экране смартфона, расположившись на диване - да еще и в другой комнате.
|