How does VLC Media player implement RTSP over TCP Streaming?
I am aware that, VLC Media player can be used as a streaming server and also a streaming client.
My requirement is to stream using TCP(over RTSP) data from the server to clients and I am not comfortable with C/C++ code. I am comfortable with C#. Can somebody point me to example implementations of TCP Streaming in C# ?
P.S- is there any other player which supports real time streaming using RTSP over TCP/UDP?
解决方案
To answer your original question: "How does VLC Media player implement RTSP over TCP Streaming?" The simple answer is that it is very, very complex to implement a good RTSP client - even an incomplete one. You should not attempt this task unless you have significant time and resources to commit to it.
However you can use VLC without any knowledge of C/C++. You require only to interface with the libvlc via C# interop. A great introduction to this exists at: George Heylar's blog. Also, for excellent code examples of a more detailed implementation you can see the NVLC project.
If you are determined to create your own RTSP solution you could look at the work that has been done by JFriedman in pure C#. When I tried using it earlier this year it still had significant shortcomings.
The pragmatic reality is that RTSP is not a lovely protocol and it is hard to work with. Many server implementations are non-standard so there is a great deal of work to make a client that will work with all RTSP streams.
UPDATE: Originally I suggested that VLC's RTSP Server was developed by Live555. In fact, it seems the RTSP client itself was developed by Live555.