使用C#将视频流式传输到基于RTMP的媒体服务器(Red5)

Ste*_*son 13 c# publish red5 rtmp video-streaming

我正在编写一个基于C#.Net的应用程序,该应用程序需要将视频和音频流发布到Red 5 Media Server,并在本地网络上的另一个应用程序中检索相同的已发布流,然后再在Internet上检索.

简而言之,我打算使用Red5作为两个客户端之间视频和音频数据传输的中间或代理.

[客户端1] < - 视频和音频 - > < - 视频和音频 - > [客户端2]

我正在寻找RTMP协议的.NET实现(库),它可以帮助我将流发布到Media Server并重新生成已发布的流并在我的应用程序上播放它.

我搜索了SOF并找到了以下选项:

  • Borrocoli RTMP客户端库
  • FlourineFx.NET
  • WebORb.Net

每个都有一些限制.

  1. Borrocoli RTMP Library仅对音频/视频流提供plyback支持,但没有选择将视频/音频流发布到媒体服务器.我玩过图书馆并看过它的例子,但没有用.如果我错了,请纠正我.

  2. FlourinFx.Net表示支持NetStream.Publish(),NetStream.AttachAudio()和NetStream.AttachVideo()方法.但在最新的代码快照中,没有这样的东西.他们的产品发布也是如此.NetStream类没有所述方法和/或没有任何方法可以帮助将流内容发布到媒体服务器.

  3. WebOrb.Net:我没有对它进行过探讨,但从许可页面可以看出,免费版仅适用于IIS.企业版似乎对发布流媒体视频有所有支持......

问题:

  1. 我可以将WebOrb.Net库与Red5 Media Server结合使用吗?
  2. 免费版本是否允许我向Red5媒体服务器发布音频和视频?
  3. 如果上述问题无效,我还可以使用其他免费替代方案吗?

小智 0

您可以使用 weborb.lib 通过 RTMP 协议使用 Flex 和 .net 进行点对点视频流。您可以用于点对点流。您的过程可以按如下方式完成... 1.开发 Flex 客户端代码连接到服务器并订阅以接收带有 CPU 读数的服务器端更新。该代码还包括一个图表,用于可视化接收到的数据。2.服务器端“应用程序处理程序”插入WebORB,轮询CPU并将数据传递给客户端。尝试一下它会起作用。