私はVoIPで新しいです。私はRTPを使用してクライアント/サーバーアーキテクチャを使用してオーディオをストリームするアプリケーションを作成することを考えていました。異なるAPIが利用可能ですしかし私はコアレベルで理解を得る必要があります。私はRFCを学んだ。誰も私にどのようにオーディオRTPパケットを作成し、パケットの開梱と一緒にそれをJAVAに送信する方法を提案することができます。 ありがとうございます。RTPパケットの送信とアンパックと同時にAPIを使用せずに音声RTPパケットを作成する方法
答えて
空のJavaクラスを作成します。
RTPヘッダーのすべてのフィールドにメンバーを追加します。単一ビットフィールドにはboolを使用します。数値フィールドの場合、SSRCにはint、タイムスタンプ、シーケンスのshort、ペイロードタイプのバイトなど、必要なビット数に注意する必要があります。CSRCはintの配列(またはarrayListなど)でなければなりません。オーディオペイロードはバイト配列でなければなりません。
パケットは単なるバイト配列なので、パケットバイト[]を出力するToBytes()メソッドと、パラメータとしてbyte []をとるコンストラクタが必要です。パケットを送信するには、ToBytes()を呼び出してその結果をUDPパケットに入れます。
ToBytes()メソッドでは、12バイトのバイト配列に加えて、CSRCごとに4バイト追加しますが、オーディオペイロードには多くのバイトが含まれます。
ビット単位のOR演算子を使用して設定する必要がある単一のビット値。例えば、マーカービットが第二のバイトの最初のビットがあるので、それを設定します
if(marker)
{
bytes[1] = bytes[1] | 0x80; //0x80 is 1000 0000
}
はint型やショートパンツである値を設定するには、ネットワークの順に値を変換する必要があります( bigendian)バイト配列を作成し、arraycopyを使用してバッファに設定します。ネットワークオーダーのバイト配列を作成する方法については、あなたにお伝えします。
バイト[]を受け取るコンストラクタでは、上記の処理を逆に行う必要があります。単一ビットの値を確認するには、AND演算子を使用する例:
このクラスか、パケット数とサンプリングレートに基づいたタイムスタンプを設定するのに役立つ方法を必要とするだろうよヘルパークラスでmarker = bytes[1] & 0x80 == 1;
どちらか。たとえば、ペイロードがG.711の場合、8000サンプル/秒です。つまり、パケットが160バイトのペイロードで20ミリ秒ごとに送信されるため、タイムスタンプはパケットごとに160ずつ増加します。
- 1. RTPテストツール - ファイルからRTPパケットを送信する
- 2. RTPパケット - c#コード
- 3. RTPを使用して音声ストリームを送受信する方法
- 4. FFMPEGへのストリームRTPパケット
- 5. H264 RTPパケットのデコード(レンダリング)
- 6. RTPパケットがmjsipを使用して送受信されていません
- 7. PythonはRTPパケットを送受信します
- 8. scipyを使ってsip/rtpパケットを分析する方法は?
- 9. XugglerでRTPパケットにメディアファイルをエンコードする方法
- 10. iOS:オーディオユニットを使用してRTPパケットを再生する
- 11. rtpパケットを受信してバイナリファイルに書き込む
- 12. jlibrtpでJavaのRTPを使用してパケットのレートを減らす方法
- 13. RTPパケットからIPアドレスとポートを取得する
- 14. Rtpパケットから、または他の方法でストリームタイプを取得
- 15. ASF RTPパケットをビデオデータに変換するRTSP
- 16. RTSPプロトコルを使用するRTPパケットには、オーディオとビデオの両方が含まれていますか?
- 17. RTPパケットからPCMオーディオデータを解析する
- 18. PCMUを搭載したRTPパケットからサンプルを取得する方法は?
- 19. pingパケットの送信方法
- 20. ループバックネットワークを使用せずに同じホストのサービスにパケットを転送する
- 21. パケットをネットワークカードに送信する前にパケットを変更する方法
- 22. Java/Android:到着時にパケットを受信している間にパケットを送信する方法
- 23. アンドロイドRTP送受信プログラム
- 24. AndroidでS音声パケットを判別/取得する方法
- 25. Androidで音声パケットを処理するAPI
- 26. RTPでMP3ファイルを送信する
- 27. パケット送信/受信の処理方法
- 28. パケット再送信
- 29. ミュート時のrtpの送信を停止します
- 30. rtpストリームでAndroid h264キャプチャを送信
私はそれをうまく実装しました。誰かが私のコードを望むなら、私に電子メールで連絡するのをためらってはいけません。 [email protected] –