[fmspy]: http://fmspy.org/ "FMSPy"
[rtmp]: http://ru.wikipedia.org/RTMP "RTMP"
[netconnection]: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/NetConnection.html "NetConnection"
[python]: http://www.python.org/ "Python"
[so]: http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary648.html "Shared Object"
[twisted]: http://twistedmatrix.com/ "Twisted"
[memcached]: http://www.smira.ru/tag/memcached "Memcached"
[doc-install]: http://fmspy.org/manual/en/userguide.html#installation "FMSPy установка"
[docs]: http://fmspy.org/wiki/Documentation
[Flash Media Server written in Python][fmspy] ([FMSPy][fmspy]) - это *еще один* RTMP-сервер для приложений на Adobe Flash/Flex/Air. FMSPy является аналогом Adobe Flash Media Server, с гораздо меньшими возможностями, однако FMSPy - совершенно бесплатный проект с открытым исходным кодом. Проект находится на ранней стадии развития, но в активной разработке.
Итак, что есть на сегодняшний день:
* Реализация [RTMP][rtmp]-протокола: кодирование/декодирование пакетов, разрезание и склеивание из chunks и т.п.
* Поддержка базового RPC (Invoke) клиент-сервер и сервер-клиент. То есть из Flash-приложения можно вызывать с помощью класса [NetConnection][netconnection] методы приложения на стороне сервера, и наоборот со стороны сервера вызывать методы приложения.
* Инфраструктура для написания приложений (в качестве плагинов к FMSPy) со своим API на [Python][python].
В ближайших релизах:
* Стриминг (вещание) с вебкамеры, стриминг видео/аудио с сервера (FLV, MP4, MP3).
* Поддержка серверных [Shared Object][so].
* Анализ загрузки, полуавтоматическая кластеризация для распределения нагрузки.
[FMSPy][fmspy] написан на [Python][python] с использованием [Twisted Framework][twisted], приложения на FMSPy реализуются также на Python и им доступны все возможности, которые есть в Twisted: асинхронная сетевая модель, соединения с БД, [memcached][memcached], различные сервисы и т.п.
## Запуск и установка
Если у Вас уже установлен Python и setuptools (чаще всего на Unix/Linux это так), достаточно выполнить от имени root:
easy_install fmspy
Easy_install автоматически установит все необходимые зависимости (если они еще не установлены). Более подробно об установке можно почитать в [документации][doc-install].
После установки запуск в отладочном режиме (на консоли) осуществляется следующим образом:
twistd -n fmspy
Для окончания работы сервера достаточно нажать Ctrl+C.
## Примеры
Вместе с FMSPy устанавливается два примера: эхотест и простенький чат. После запуска откройте страницу [http://localhost:3000/examples/](http://localhost:3000/examples/) и выберите интересующий вас.
## Вместо заключения
Пробуйте, тестируйте, присоединяйтесь к разработке. Любая помощь приветствуется: написание документации, патчи, идеи новых фич, графические материалы! Все это лучше всего отправить в [трекер][fmspy].
Впереди новые релизы, также в ближайшее время статья о написании приложений для FMSPy.
Ссылки:
* [Сайт проекта, трекер][fmspy]
* [Документация][docs]