質問

次の要件でマルチキャスト (ビデオ ストリーム) ルーターを実行する方法を探しています。

  • 3 ~ 30Mbps でのマルチキャスト ストリームの送受信 (VLAN 転送)
  • ネットワークの輻輳を補うための、RAM (またはストレージ) 内の遅延
  • TCP トンネリング (UDP から TCP、またはその逆)
  • 最大 1 秒のジッターによる出力 UDP ストリームのレート シェーピング
  • TCPトンネリング、マルチホームネットワークサポート用
  • 3 ~ 30M ビットで数百のストリーム

広範な調査を行いましたが、実際にこれらの要件を満たすネットワーク製品やビデオ ブロードキャスト製品は見つかりませんでした。

単一ストリームに対して上記の処理を実行する C linux アプリを実装しましたが、Web インターフェイス、複数ストリームのサポートなどを追加する必要があるため、適切な品質と信頼性で上記を達成できる何かがあるかどうか疑問に思っていました。ビデオブロードキャストは、ある種の製品のようなものですか?これを C で行うのは簡単ではないので、パフォーマンスに匹敵する高レベルの言語はあるだろうかと考えていました。Perl、Python、Java が良い選択でしょうか?

この種のソフトウェアはどのように設計すればよいでしょうか?現在、コマンドラインインターフェイスとシングルストリームサポートを備えたRTカーネルでRedhatを実行しているCアプリケーションを使用しています。

100のストリームを年中無休で実行し(64GB RAMを備えた8または16コアシステムを使用)、コマンドラインまたはWebインターフェイスを使用してオンザフライで簡単に構成できるアプリケーションを実行したいと考えています。

現在の Redhat RT カーネルとシンプルな C ユーザースペース アプリよりも優れたオプションは見つかりません。それが最良かつ簡単な選択肢のようです。

役に立ちましたか?

解決

このようなアプリケーションを設計する際の通常の分け方は、高パフォーマンスの部分を C コードで実行させ、構成用のユーザー インターフェイスなどの低パフォーマンスのコンポーネントを Python や Ruby などの高レベル言語で記述することです。高級言語でパフォーマンス要件を達成するのは難しいですが、Web 構成システムを C で記述するのは必要以上に自虐的です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top