10 June 2009

FMSPy, релиз Alpha (0.1)

Website development
FMSPy Flash Media Server written in Python (FMSPy) — это еще один RTMP-сервер для приложений на Adobe Flash/Flex/Air. FMSPy является аналогом Adobe Flash Media Server, с гораздо меньшими возможностями, однако FMSPy — совершенно бесплатный проект с открытым исходным кодом. Проект находится на ранней стадии развития, но в активной разработке.

Итак, что есть на сегодняшний день:
  • Реализация RTMP-протокола: кодирование/декодирование пакетов, разрезание и склеивание из chunks и т.п.
  • Поддержка базового RPC (Invoke) клиент-сервер и сервер-клиент. То есть из Flash-приложения можно вызывать с помощью класса NetConnection методы приложения на стороне сервера, и наоборот со стороны сервера вызывать методы приложения.
  • Инфраструктура для написания приложений (в качестве плагинов к FMSPy) со своим API на Python.


В ближайших релизах:
  • Стриминг (вещание) с вебкамеры, стриминг видео/аудио с сервера (FLV, MP4, MP3).
  • Поддержка серверных Shared Object.
  • Анализ загрузки, полуавтоматическая кластеризация для распределения нагрузки.

FMSPy написан на Python с использованием Twisted Framework, приложения на FMSPy реализуются также на Python и им доступны все возможности, которые есть в Twisted: асинхронная сетевая модель, соединения с БД, memcached, различные сервисы и т.п.

Запуск и установка


Если у Вас уже установлен Python и setuptools (чаще всего на Unix/Linux это так), достаточно выполнить от имени root:

easy_install fmspy

Easy_install автоматически установит все необходимые зависимости (если они еще не установлены). Более подробно об установке можно почитать в документации.

После установки запуск в отладочном режиме (на консоли) осуществляется следующим образом:

twistd -n fmspy

Для окончания работы сервера достаточно нажать Ctrl+C.

Примеры



Вместе с FMSPy устанавливается два примера: эхотест и простенький чат. После запуска откройте страницу http://localhost:3000/examples/ и выберите интересующий вас.

echotest chat

Вместо заключения



Пробуйте, тестируйте, присоединяйтесь к разработке. Любая помощь приветствуется: написание документации, патчи, идеи новых фич, графические материалы! Все это лучше всего отправить в трекер.

Впереди новые релизы, также в ближайшее время статья о написании приложений для FMSPy.

Ссылки:

Краткий FAQ:
  • Как обстоят дела с производительностью? Первое тестирование я уже делал, на микротестах на уровне Red5. Это еще совершенно не оптимизированный код, у меня есть конкретные идеи, как сделать его в 5-10 раз быстрее, так что я надеюсь, что это будет очень и очень эффективная реализация.
  • В ваших докладах на РИТ 2008, упоминалось про pyFMS, оно как-то связано с текущим проектом? Они никак не связаны, я являюсь автором pyFMS, но этот проект остался в недрах компании НетСтрим. FMSPy является реализацией “с нуля”, то есть не имеет общего кода с pyFMS. FMSPy — открытый и бесплатный проект, и он будет несомненно лучше!
Tags:flashflexairadobertmpвещаниеamfpythontwisted
Hubs: Website development
+29
1.9k 39
Comments 26