Updated 2012/06/11: The project is available on GitHub: rtmp-python
Updated 2012/03/25: Updated to work with newer version of PyAMF.
Updated 2010/10/30: Added an RTMPClient class that simplifies client applications. Also updated the assertions.
Recently I started investigating the RTMP, which is a protocol used by Adobe Flash for communication between the player and the server. The communication could involve either video, audio or plain data. Typically Abode Flash applications communicate with Adobe Flash Media Server.
The RTMP specification is available online but, unfortunatelly, it is not of high quality and does not discuss in depth how to implement a client and a server. For that reason, I started implementing a small library to support the RTMP for Python applications. Together with that, I have also developed a sample RTMP client and a sample RTMP server using this specific library. Portions of source code is taken from the RTMPy project.
Also, the library depends on the PyAMF project which provides support of the AMF binary format. AMF is a serialization format used when exchanging pieces of information over the wire. AMF is available in two versions: AMF 0 and AMF 3. This library is designed to use AMF 0, but should require minimal changes in order to use both.
You can download the RTMP library, the sample RTMP client and the sample RTMP server from GitHub: rtmp-python. They are all written in Python. Included you can find an ActionScript file accompanied by the compiled SWF that implement a sample RTMP client for testing purposes of the RTMP library.