VLC Media Player如何通过TCP流实现RTSP?
我知道,VLC Media Player可用作流服务器和流客户端。
我的要求是使用TCP(通过RTSP)数据从服务器流式传输到客户端,我对C / C ++代码不满意。我对C#感到满意。有人可以指出C#中TCP流的示例实现吗?
PS-是否有其他播放器支持通过TCP / UDP使用RTSP进行实时流传输?
要回答您的原始问题:“ VLC Media Player如何通过TCP流实现RTSP?” 简单的答案是,实现一个好的RTSP客户端非常非常复杂-甚至是一个不完整的客户端。除非您有大量时间和资源来执行此任务,否则不要尝试执行此任务。
但是,您可以在不了解C / C ++的情况下使用VLC。您只需要通过C#互操作与libvlc交互即可。对此有一个很好的介绍:George Heylar的博客。另外,有关更详细实现的出色代码示例,请参见NVLC项目。
如果确定要创建自己的RTSP解决方案,则可以查看JFriedman在纯C#中所做的工作。当我今年早些时候尝试使用它时,它仍然存在很大的缺点。
务实的现实是RTSP并不是一个可爱的协议,很难使用。许多服务器实现都是非标准的,因此要使客户端能够与所有RTSP流一起使用还需要进行大量工作。
更新:最初我建议VLC的RTSP服务器是由Live555开发的。实际上,似乎RTSP客户端本身是由Live555开发的。