组播/ UDP路由器

时间:2012-02-24 23:36:55

标签: c streaming real-time forwarding tunneling

我正在寻找如何做多播(视频流)路由器,具有以下要求:

  • 以3-30Mbps接收和发送组播流(vlan转发)
  • in-ram(或存储)延迟以补偿网络拥塞
  • TCP隧道(UDP到TCP,反之亦然)
  • 最大1秒抖动的输出UDP流的速率整形
  • 用于TCP隧道,多宿主网络支持
  • 3-30Mbits的数百个流

我做了大量研究,找不到任何符合这些要求的网络或视频广播产品。

我已经实现了C linux应用程序,它为单个流做了以上操作,但现在我需要添加Web界面,多流支持等,所以我想知道是否有什么能够完成上述质量和适合视频广播的可靠性,就像某种产品一样? 在C中执行此操作并不容易,因此我想知道是否有更高级别的语言可以匹配性能? perl,python,java会不错?

我如何构建这种软件?我目前正在使用运行带有RT内核的Redhat的C应用程序,具有命令行界面和单流支持。

我想做的应用程序可以24/7运行100个流(使用带有64GB RAM的8或16核心系统),并且可以使用命令行或Web界面轻松配置它。

我无法看到比当前的Redhat RT内核和简单的C用户空间应用更好的选择。这似乎是最好和最简单的选择。

1 个答案:

答案 0 :(得分:2)

构建这样一个应用程序的通常划分是通过C代码完成高性能部分,并编写低性能组件,如用于配置的用户界面等,在Python或Ruby等更高级别的语言中您。在高级语言中很难达到性能要求,但在C语言中编写Web配置系统将是不必要的自虐。