音声・映像配信プロトコル(RTP)の開発
音声・映像配信の基盤技術
ネットワークを介した音声、映像配信(ビデオ会議やインターネット放送)において、その中心部分で使用されているのがReal-Time Transfer Protocol(RTP: RFC1889)です。
音声や映像のような連続したデータを扱う上で問題となる、ネットワーク途中経路でのデータ欠落、配送遅延への対策が盛り込まれています。
また、扱うデータの形式は問わないという特徴も備えています。RTP を使用するアプリケーションはRTP パケットのヘッダ中のペイロード・タイプで判断できます。
受信状況(配信遅延などの情報)は、RTP とは別のReal-Time Transfer Control Protocol(RTCP)によってレポートされます。
定期的に送られてくる情報をモニターしてパラメーターを変更することで、音声の途切れを低減するような配信システムを構築することも可能です。
本ソフトウェアはRTPを使用した配信システムのサーバ用(送信側:図中の青枠部分)に用意された製品です。
主な特徴
基本的に、BSD TCP/IP ソケット・インターフェイスが利用できれば、動作・移植することは可能です。
現在、サポートしているOS としてはeCos、μ ITRON があります。
その他のOS への対応については、弊社までお気軽にお問い合わせください。
なお、オークのソフトウェア部品には、全て、製品ソースコードが付属します。
製品詳細
本製品は、RTP による音声・映像配信システムの中で、データ・パケット送信部分を担当するソフトウェア部品です。
エンコードされたデータをRTPのパケットに載せ、配信するのが主な機能です。
以下のような処理は別途用意していただく必要があります。
-
個別のフォーマットに応じた音声、映像データのエンコード処理
デバイスから入力されたデータをソフトウェア的/ハードウェア的に圧縮・エンコード処理し、本ソフトウェアに渡す必要があります。
-
例えば、インターネット放送であれば、番組表の配布や受信開始手続きといった仕組み
データ配信に使用するIP アドレス、ポート番号といった情報の配布は、RTPが規定する範囲に含まれていません。
ポート番号の場合、連続する2つポートを1 組として、データ送信用に偶数番号を持つポート、RTCP 用に奇数番号を持つポートを使用すること以外は決まっていません。 クライアント・ソフトウェア
-
RTCP を利用した受信状況のモニタリング、フィードバック・システム
API
C言語用のプログラミング・インターフェイスとして、以下の関数が用意されています。
-
RTPセッションのオープン
宛先IP アドレス(通常はマルチキャスト・アドレス)、ポート番号、使用するデータ・タイプ(エンコード方式, RTP ペイロード・タイプ)を指定して、RTP を使用できるようにします。
-
RTPデータ配送
エンコードされたデータをRTP パケットにパックして送信します。
指定されたRTP ペイロード・タイプに従って、個別のペイロードに応じたヘッダ、RTP パケットのヘッダを追加して配信します。
現在、JPEG映像:RTP ペイロード・タイプ26 RFC2345 、音声にのみ対応しています。
最新の対応状況についてはお問い合わせ下さい。 -
RTPセッションのクローズ
オープンしたセッションの使用終了を通知します。
御社のご希望に基づきカスタマイズなども可能です。
まずはお気軽にお問い合わせください。