Search code examples
androidmediartspmultimedia

RTSP Media Server Solutions


After carrying out a lot of research I have come to the conclusion that Java and the Java Media Framework (JMF) is not suitable for developing a streaming server that supports the RTSP protocol on the server side for streaming video and audio. I have read very good things about Live555 media server and the testOnDemandRTSPServer source code for a basis of design. My only worry is that this is written in C++ and I am a predominantly Java programmer. This server is a large portion of my final year project at university so my degree kind of hangs on its successful implementation and I am running out of time. If any one has any experience with implementing a RTSP server that can stream to an android handset or belive they can point me in the right direction to learn how to do it, please let me know. Thanks in advance.


Solution

  • The live555 RTSP server is a fully fledged RTSP server that implements most payloads (H.263, H.264, MPEG2, PCM, AMR, AAC, etc. You can read up on the website whether it already supports the media types you want to stream. It also features an RTSP client. With respect to streaming to an android handset: that is the whole point of RTSP: it doesn't matter what type of client you're streaming to, and as for the server side development, there isn't really much dev to do, unless you need to implement an unsupported media type. The code can be quite complex if you're not well versed in c++, but it sounds like your goal is more related to setting up streaming to android as opposed to implementing the RTSP server and client? So check if live555 supports your media types and if it does, I wouldn't bother writing one in JAVA, that can be quite involved. If you do choose to go that route, your best friend is of course the RFC (http://tools.ietf.org/html/rfc2326).

    As for the client, I'm not sure if android already has an RTSP library/client. The one other thing you have to consider is which media types are supported by android.