【问题标题】:Multicast / UDP Router组播/UDP 路由器
【发布时间】:2012-02-24 23:36:55
【问题描述】:

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

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

我进行了广泛的研究,但找不到任何真正符合这些要求的网络或视频广播产品。

我已经实现了 C linux 应用程序,它对单个流执行上述操作,但现在我需要添加 Web 界面、多流支持等,所以我想知道是否有什么东西可以实现上述质量和适合视频播放的可靠性,比如某种产品? 在 C 中做到这一点并不容易,所以我想知道是否有任何更高级别的语言可以匹配性能? perl、python、java会是一个不错的选择吗?

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

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

我只是找不到比当前的 Redhat RT 内核和简单的 C 用户空间应用程序更好的选择。这似乎是最好和最简单的选择。

【问题讨论】:

    标签: c streaming real-time forwarding tunneling


    【解决方案1】:

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

    【讨论】:

    • 所以方法是运行用 C 语言编写的实时优先级后端进程,以及使用 PHP/Perl/Python/Ruby 正常优先级的 apache。这样我觉得会很容易。
    猜你喜欢
    • 1970-01-01
    • 2015-06-04
    • 2012-03-24
    • 1970-01-01
    • 2016-10-08
    • 2015-07-30
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    相关资源
    最近更新 更多