VLC 媒体播放器如何通过 TCP 流实现 RTSP?
我知道,VLC 媒体播放器既可以用作流媒体服务器,也可以用作流媒体客户端。
我的要求是使用 TCP(通过 RTSP)将数据从服务器流式传输到客户端,而我对 C/C++ 代码不满意。我对 C# 很满意。有人可以指出我在 C# 中实现 TCP 流的示例吗?
P.S- 是否有其他播放器支持通过 TCP/UDP 使用 RTSP 进行实时流式传输?
最佳答案
回答您最初的问题:“VLC 媒体播放器如何通过 TCP 流实现 RTSP?”简单的答案是,实现一个好的 RTSP 客户端是非常非常复杂的——即使是一个不完整的客户端。除非您有大量的时间和资源来致力于此任务,否则您不应尝试此任务。
但是,您可以在不了解 C/C++ 的情况下使用 VLC。您只需要通过 C# 互操作与 libvlc 进行交互。对此有一个很好的介绍: George Heylar's blog 。此外,对于更详细实现的优秀代码示例,您可以查看 NVLC project 。
如果您决心创建自己的 RTSP 解决方案,您可以查看 JFriedman in pure C# 已经完成的工作。当我今年早些时候尝试使用它时,它仍然存在重大缺陷。
务实的现实是,RTSP 不是一个可爱的协议(protocol),而且很难使用。许多服务器实现是非标准的,因此需要做大量工作才能使客户端能够与所有 RTSP 流一起使用。
更新:最初我建议 VLC 的 RTSP 服务器是由 Live555 开发的。实际上,RTSP 客户端本身似乎是由 Live555 开发的。
关于c# - 使用 TCP 上的 RTSP 进行流式传输,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21039651/