fms

Content Delivery Network

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

Краткий обзор возможностей медиа серверов

Медиа сервера, как это ни странно, несколько отличаются друг от друга. Отличаются производительностью, надежностью, количеством поддерживаемых форматов видео, способностью объединяться в сети. Ну и, конечно, ценой.

Их существует не так уж и мало, но мы рассмотрим только 4. Это будет широко известная тройка -- FMS, Wowza, Red5, и пока мало известный новичок -- Erlyvideo.

Проблема дисконнекта

При работе с медиа серверами (да и вообще с TCP соединением) нужно решить одну важную, но не очевидную проблему. И проблема эта -- нестабильное соединение. Увы, соединение клиента с сервером иногда рвется. Это случается относительно редко, но в крупном проекте с большим числом пользователей вы будете регулярно получать жалобы от них.

FMS Tools. Часть 1. Core.asc -- загрузка модулей и создание объектов.

Итак, я начинаю (или продолжаю) выкладывать тулы, полезные для разработки под FMS. Оные тулы я собрал в отдельном проекте, который назвал FMS Tools и выложил на github.

И теперь начинаю по очереди описывать, чего полезного там есть.

Один из главных классов FMS Tools (или даже самый главный класс, как видно из его названия) -- это Core.asc. Он выполняет две задачи: отвечает за создание объектов и загружает asc-модули.

Profiling FMS application

Lets start from offtopic. There is no wide choice of tools and libraries that can be used in FMS applications development. I can even say there is no any applicable tool or library :)

This fact can be easily explained. Nobody writes a large FMS applications, but, from other side, small ones could be written without any frameworks and libraries. The main purpose of FMS is video streaming, but not supporting applications with complex business logic. I am one of those rare developer who develop such applications for FMS.

RtmpServiceInvoker Mate Extension

Hello World. For a long time I have been developing flash projects which use Flash Media Server as server side. As you know Flex framework has several classes such as RemoteObject, WebService, HttpService, which simplifies data exchange for different server sides. And if you use Mate framework, you should be familiar with RemoteObjectInvoker, WebServiceInvoker or HttpServiceInvoker classes that can be used in Mate event map.

Профилируем FMS приложение

Начнем с оффтопика. Надо сказать, что для разработки под FMS есть довольно мало тулов и библиотек. Практически ничего нет.

Это, в общем-то, понятно -- мало кто пишет какую-то серьезную серверную логику под FMS. Это, все таки, медиа сервер, а не сервер приложений. И мы сейчас тоже уходим от того, чтобы писать много кода под FMS.

Тем не менее, кое что полезное у меня накопилось, и я буду понемногу выбрасывать это сюда. Я не буду у вас спрашивать, нужно вам это или нет (знаю что не нужно :), а буду просто пихать все в блог.

Передача типизированных объектов на Red5 и на FMS

Передача типизированных объектов с использованием AMF сериализации -- вещь обыденная. От разработчика требуется немногое. И в случае работы с Red5 тут все стандартно. Но вот при работе с FMS это делается не совсем стандартно, есть парочка подводных камней.

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

Red5

Допустим мы хотим передать с клиента на сервер типизированный объект Message. А потом аналогичный объект передать обратно на клиент.

Описываем на стороне клиента класс Message и не забываем вызвать registerClassAlias:

Расширение для Mate RtmpServiceInvoker.

Привет мир. Задумал я упростить взаимодействие флэш-клиента с FMS и другими медиа-серверами, да написать расширение для Mate, дабы работало это взаимодействие прямо из карты событий, аналогично как работают в Mate HttpServiceInvoker, RemoteObjectInvoker, WebServiceInvoker.

Ну написал и выложил на github. Там помимо расширения есть еще и небольшой проект для примера (примитивный чат), в котором оное расширение юзается. Так что разобраться будет не сложно.

Разработка под медиа сервера

Здесь собраны материалы, касающиеся разработки под медиа сервера.

Изначально я писал только про Flash Media Server, но теперь начал расширять сферу деятельности, и здесь будут появляться материалы и по другим медиа-серверам, как по привычным Red5 и Wowza, так и по более экзотичным ErlyVideo и haxeVideo.

Pages

Subscribe to RSS - fms