13 лет назад 2 августа 2005 в 14:37 58

Быстрый безлимитный (или, по крайней мере, очень дешевый) интернет доступен сейчас практически в каждом крупном городе. Однако используется он крайне неэффективно. Все феерические возможности, которые могут предоставить современные технологии, остаются невостребованными.

Где видеочаты и видеоконференции? Где телевидение по требованию? Интерактив где? “Везде!” – отвечаем мы. Разве нет платформ для создания мультимедийных сетевых приложений? Есть! Одна из лучших – Macromedia Flash Communication Server MX (FCS).

ФАНТАСТИЧЕСКИЕ ВОЗМОЖНОСТИ
FCS – законченное решение для создания и развертывания интерактивных интернет-приложений, работающих с потоковым медиаконтентом. Продукт включает в себя мощное серверное программное обеспечение для трансляции аудиовидеопотоков и профессиональный набор инструментов для разработки и отладки приложений. Доступ к этим инструментам осуществляется через обычный Flash Player, установленный, по данным Macromedia на март 2005 года, на 98,3% машин в Сети.

В сознании обывателя Flash-технология ассоциируется в основном с мультиками. Между тем ее возможности куда богаче. Вы не замечали, что в свойствах почти любого Flash-приложения можно найти опции для настройки микрофона и камеры? А означает это то, что Flash Player умеет захватывать звук и видео. Что же он будет делать с ними дальше? Логично было бы предположить, что куда-нибудь отсылать. Куда? Конечно же, на Flash Communication Server.

А дальше начинается самое интересное. По вашему желанию, точнее, под управлением написанного вами сценария FCS как угодно преобразует поток, при необходимости добавит к нему разнообразные данные, синхронизирует с другими аудио-, видео- или мультимедийными потоками и перешлет другим пользователям или сохранит в одном из аудио/видеоформатов.

Итак, чего изволите? Телевидение по требованию? Пожалуйста! С глубокой интерактивностью, поддержкой плейлистов и возможностью собирать подробнейшую статистику о предпочтениях пользователей – продавцам медиаконтента на радость. Вы можете собрать на своем ресурсе все крупные радио- и телестанции мира. Вы спросите, а захотят ли они отдавать вам свой контент? Ведь уже сейчас на сайте любой более-менее крупной вещательной компании можно посмотреть или послушать эфир. Зачем же им нужны вы? А вот зачем. Во-первых, формат, в котором обычно идет трансляция, подразумевает наличие у пользователя какого-нибудь плагина к браузеру. Если такового нет в наличии, придется скачать. Flash Player же, как уже упоминалось выше, есть у всех и каждого. Один-ноль в пользу FCS.

Во-вторых, нагрузка на сервер поставщика контента и, соответственно, объем исходящего трафика пропорциональны количеству подключившихся пользователей. Аудитория в несколько тысяч зрителей запросто загнет сервер просто потому, что применяемая система не рассчитана на широковещательную работу. А FCS рассчитан. И отдавать вам радио- или телестанция будет только один поток вне зависимости от числа конечных зрителей, то есть у бухгалтера не случится инфаркт при взгляде на счета от хостинг-провайдера за исходящий трафик. Ведь бесплатный-то он только при малых объемах. Два-ноль.

И в-третьих, – нокаутирующий удар – возможность вычислять рейтинги с точностью до одного зрителя, вместо того чтобы довольствоваться весьма приблизительными данными рейтинговых агентств, основанными на вкусах ста семей. Мечта любого программного директора. Бой закончился убедительной победой FCS. А если принять во внимание всякие приятные мелочи, необходимые для комфортного просмотра/прослушивания передач (возможность проигрывать предварительно записанный аудиовидеоматериал с любого момента по желанию пользователя, управлять скоростью воспроизведения, делать скриншоты и контролировать уровень громкости), то тут FCS оставляет всех возможных конкурентов далеко позади.

Жаждете общения? Нет ничего проще! Всевозможные видео- и аудиочаты, видео- и аудиоконференции, системы push-to-talk конструируются на раз. Плюс расширенные средства для обмена традиционными текстовыми сообщениями – для тех, кто привык общаться по старинке, выстукивая свои реплики на клавиатуре. Продвинутые возможности хранения разнообразных данных позволят создать, например, систему видеопочты, наподобие тех, что все больше набирают популярность, особенно в странах Юго-Восточной Азии.

Может быть, у вас огромная коллекция музыки и клипов и вы хотите попробовать себя в роли ди- или виджея? Flash вам в руки. Такой уровень обратной связи со слушателями и зрителями не снился ни одной традиционной студии вещания. Если же вы являетесь начальником службы безопасности какого-нибудь серьезного учреждения, то, безусловно, знаете, в какую сумму вам обойдется профессиональная система видеонаблюдения. Специальные видеокамеры, средства регистрации и хранения, пульт управления – все это будет стоить не один десяток тысяч долларов. А системы на основе FCS обойдутся на порядок дешевле, поскольку специализированное оборудование для них не требуется. Кроме того, контроль системы может осуществляться с удаленных терминалов из любой точки мира, а средства шифрования и безопасности, встроенные в сервер, удовлетворят любого эксперта в этой области.

Руководителей учебных заведений наверняка заинтересует возможность создавать системы дистанционного обучения. Лекции могут быть подкреплены текстовыми пояснениями и мультимедийными материалами. Занятия могут проводиться в реальном времени или быть записанными заранее. Преподаватель способен контролировать выполнение заданий учениками, каждый из которых может рассчитывать на индивидуальную консультацию.

А то, что в документации, прилагаемой к FCS, называется “Collaboration”, то есть “сотрудничество”, вообще отдельная песня. Разделяемые объекты предоставляют простой и мощный механизм синхронизации распределенных данных между множеством пользователей, что позволяет создавать приложения для совместной работы территориально рассредоточенного коллектива над мультимедийными документами в составе какого-нибудь проекта. Такие приложения пригодны и для работы в режиме офлайн. После подключения к Сети все данные будут синхронизированы. Что мы, таким образом, получаем? Правильно, виртуальный офис. В общем, в применении FCS вы ограниченны только собственной фантазией.

ВОПРОСЫ РЕАЛИЗАЦИИ
Перейдем теперь к вопросам, интересным непосредственно разработчикам. Средой разработки клиентской части приложений является Macromedia Flash MX. В принципе, процесс проектирования и создания приложения для FCS ничем не отличается от работы над обычным Flash-приложением. Использование готовых компонентов (таких как “Аудиокоференция” или “Чат”) намного облегчит и ускорит построение необходимой системы. Стандартный графический объект Macromedia Flash под названием “объект управления видео” даст возможность применять альфа-каналы, слои и маски, преобразовывать цвета, вращать картинку – и все это на лету, на стороне клиента.

На стороне же сервера используются сценарии, написанные на серверном варианте ActionScript, разобраться в котором не составит труда, если вы знакомы с обычной версией этого языка. Но даже если и нет, на его изучение у вас уйдет не больше часа, ведь ActionScript базируется на стандартном JavaScript (ECMA-262), а дистрибутив FCS снабжен множеством примеров скриптов. Скрипты эти, кстати, полностью рабочие.

Используя технологию Flash Remoting, FCS может подключаться к серверам приложений, базам данных и XML веб-сервисам, что позволяет легко интегрировать вашу систему с уже существующими приложениями и данными. Macromedia Flash Player автоматически распознает установленные микрофоны и USB- или FireWire-камеры (поддерживаются как обычные веб-, так и DV-камеры), так что пользователи могут приступить к работе без выполнения сложных процедур установки и настройки оборудования. Микрофонов и камер может быть даже несколько.

При захвате видео регулировке поддаются частота кадров, размер и качество картинки. А чтобы попусту не тратить трафик и уменьшить нагрузку на канал, можно использовать встроенный программный датчик движения для определения моментов начала и завершения трансляции. Компрессия видеопотока осуществляется с помощью компактного и эффективного кодека Sorenson, основанного на промышленном стандарте H.263.

Для отладки приложений используется встроенный набор инструментов, способный удовлетворить нужды любого программиста. В его состав входят средства для трассировки кода, выявления ошибок и отслеживания активных подключений. Вся информация отображается в простом и удобном виде.
В дистрибутив FCS входят административная консоль и менеджер приложений. Доступ к ним осуществляется через веб-браузер. Административная консоль предоставляет средства диагностики и сбора статистики, управления пользователями и лицензиями, а также виртуальными хостами. Возможность создавать виртуальные хосты очень пригодится при развертывании широкомасштабных проектов с множественными URL. Средства репликации потоков и разделяемые объекты позволяют создавать масштабируемые кластеры серверов.

То есть несколько серверов могут работать в связке, автоматически распределяя нагрузку между собой. А если серверы еще и территориально разнесены, для работы с каждым конкретным пользователем система сама выберет ближайший к нему узел. Кроме того, сервер умеет автоматически преобразовывать качество транслируемого потока в соответствии с шириной канала пользователя, что обеспечивает комфортное восприятие информации даже в гетерогенной по применяемым способам подключения среде. Например, если один из узлов с быстрым интернетом ведет трансляцию видео в хорошем качестве, смотреть ее сможет и пользователь на модемном подключении, причем картинка будет вполне сносной. Удовольствие от просмотра в таком качестве художественного фильма, напичканного спецэффектами, конечно, сомнительное, но для видеоконференции – в самый раз.

Сервером ведется мониторинг пользовательской активности, результаты которого сохраняются в лог-файлах – их содержимое можно просмотреть прямо из административной консоли. Так вы узнаете, сколько клиентов использовали каждое из ваших приложений в тот или иной момент времени, как долго они это делали и даже объем переданного им или полученного от них трафика.
Назначение менеджера приложений ясно из его названия. Добавить к этому особо нечего – загружаем приложения, запускаем, при необходимости останавливаем и выгружаем.

Для размещения вашего проекта можно воспользоваться либо предоставляемой фирмой Macromedia за совсем небольшую плату площадкой с уже настроенным FCS, либо собственным сервером. FCS может быть установлен на машине под управлением Widows или Linux и поставляется в нескольких вариантах. Версия для разработчиков бесплатна, однако имеет ограничения по количеству одновременных подключений (не более пяти) и по пиковой загрузке канала (не более 250 кб/с). Предназначена она для ознакомления с возможностями FCS. Вы вполне можете разрабатывать и отлаживать полнофункциональные приложения, однако для реального их применения придется приобрести персональную или профессиональную лицензию.

Первая позволяет создавать до пятидесяти одновременных подключений при пиковой загрузке канала в 1 Мб/с и обойдется вам в 499 долларов. В профессиональной редакции рамки ограничений на количество одновременных подключений раздвинуты до 2500, а ширина канала увеличена до 10 Мб/с. Но и стоить это удовольствие будет уже 4500 долларов. Кроме того, FCS позволяет линейно наращивать мощности – можно, например, купить две лицензии и удвоить количество подключений и ширину канала. Вы можете легко подобрать устраивающее вас и по цене, и по возможностям решение. Если же вы собираетесь открыть очень серьезный ресурс и вам не хочется платить, например, за десять профессиональных лицензий, имеет смысл воспользоваться специальным предложением от Macromedia: приобретите за 7500 у. е. специальный Capacity Pack, который снимет все ограничения на 90 дней. Тогда все будет зависеть только от возможностей вашего физического сервера и канала, на котором он сидит.

Альтернативные решения
А есть ли альтернатива FCS? Как вам сказать… Безусловно, существуют системы для передачи аудио- и видеопотоков от сервера клиентам, например WMA Server или Winamp Server. Есть и программы для создания “видеотелефона” – тот же NetMeeting, в конце концов. Но преимущество FCS в том, что он объединяет возможности, до сих пор не встречавшиеся вместе ни в одном продукте. Проще говоря, FCS = Winamp Server + NetMeeting + интерактив + много чего еще, в том числе и то, что можно описать английским словечком “fun”. Таким образом, мы получаем в свое распоряжение инструмент для создания коммуникационных решений, которые было бы трудно или даже невозможно построить на других платформах. А если совместно с FCS использовать еще и уникальную технологию Macromedia Flex, то можно получить приложения, поражающие воображение своими возможностями.