jrtplibのコンパイルと使用方法
JRTPLIBはRTP(リアルタイムトランスポートプロトコル)を実装するオープンソースのC++ライブラリです。以下は、JRTPLIBのコンパイルと使用方法の手順です。
翻訳:
- JRTPLIBのソースコードをダウンロードしてディレクトリに展開します。
- ターミナルを開いて、JRTPLIBのソースコードがあるディレクトリに移動します。
- JRTPLIBのコンパイルには以下のコマンドを実行してください。
- makeする
- コンパイル完了後、libjrtplib.a (或いはlibjrtplib.so、システムによる) が生成され、JRTPLIBの静的(或いは動的)ライブラリとなります。
活用
- 生成されたlibjrtplib.aファイルをプロジェクトディレクトリにコピーします。
- プロジェクトにJRTPLIBへのヘッダーのインクルードを行う:
- #include <jrtplib3/rtpsession.h>
- RTPセッションオブジェクトをコード内に作成して初期化する。
- RTPSession session;
RTPUDPv4TransmissionParams transmissionParams;
RTPSessionParams sessionParams;transmissionParams.SetPortbase(1234); // RTPポート番号を設定する
sessionParams.SetOwnTimestampUnit(1.0/8000.0); // タイムスタンプ単位を設定する
sessionParams.SetAcceptOwnPackets(true); // 自分で送信したパケットを受信するint status = session.Create(sessionParams, &transmissionParams);
if (status < 0) {
// 初期化に失敗した
exit(-1);
} - RTPセッションオブジェクトを使用してパケットを送受信する:
- RTPTime delay(0.020); // データ送信遅延をミリ秒単位で設定
session.SendPacket((void*)”Hello, World!”, 13, 0, false, 0);// データ受信
session.BeginDataAccess();
if (session.GotoFirstSourceWithData()) {
do {
RTPPacket *packet;
while ((packet = session.GetNextPacket()) != NULL) {
// 受信したデータ処理
printf(“ペイロードに %s を含むパケットを受信\n”, packet->GetPayloadData());
session.DeletePacket(packet);
}
} while (session.GotoNextSourceWithData());
}
session.EndDataAccess();
以上の内容は JRTPLIB を使用するための基本的な手順であり、あなたのニーズに合わせてさらに拡張、カスタマイズすることができます。説明したコードはあくまでサンプルとして提供されるものであり、実際の使用時には状況に応じて適切に変更する必要があります。