media

Использование RTMPClient

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

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

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

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

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

Установка Red5

Итак, прежде, чем чего-то делать с Red5, его нужно установить.

Есть два способа это сделать -- установить бинарный дистрибутив или собрать из сорцов.

Установка бинарного дистрибутива

Первый способ -- скачать один из скомпилированных релизов и развернуть его. На момент написания этих строк самая новая доступная версия 0.9.1 Final.

Установка под Linux

Скачиваем Tarball red5-0.9.1.tar.gz или ZIP red5-0.9.1.zip.

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.

Профилируем 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.

Red5, FMS -- мечты и реальность

Red5, реальность

N дней назад имел удовольствие поближе познакомиться с Red5. Вообще мы давно с ним работаем, но не я лично. Все время я писал код под FMS, оставляя другому человеку удовольствие портировать этот код под Red5 и Wowza (все наши приложения прозрачно работают на любом из этих трех медиа-серверов).

FMS. Асинхронные юнит-тесты.

Новый год же, все советуют не думать о работе, праздновать :) Ну так у меня все готово, все закуплено -- подарки, продукты. Да и празднование началось -- вчера корпоратив был :) Так что можно и подумать о работе немного. Тем более, что я "случайно" оказался в офисе. И тем более, что вообще-то сегодня обычный рабочий день.

Ну не совсем обычный. И я позволил себе вольность написать этот пост в рабочее время.

Pages

Subscribe to RSS - media