IT科技

當前位置 /首頁/IT科技 > /列表

rtp,java

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java rtp是什麼?讓我們一起來了解一下吧!

java rtp是Java程序中的一個協議。rtp協議,也被叫作實時傳輸協議,它是一個網絡傳輸協議。rtp協議的內容是關於在網絡上載輸音視頻的標準數據包格式。

java rtp

RTP協議包含了兩個子協議,分別是RTP和RTCP。

1.數據傳輸協議RTP,功能是傳輸數據。該協議提供的信息有:時間戳(用於同步)、序列號(用於丟包和重排序檢測)和負載格式(用於説明數據的編碼格式)。

2.控制協議RTCP,它的作用是QoS反饋和同步媒體流。與RTP比較,RTCP佔用的帶寬很小,通常只有5%。

RTP協議結構如下:
1 2 3 8 9 16bit
V P X CSRC Count M Payload Type
Sequence number Timestamp
SSRC CSRC (variable 0 – 15 items 32bits each)
V ― 版本。
P ― 間隙(Padding)。
X ― 擴展位。
CSRC Count ― 包含 CSRC 標識符(在固定頭後)的編號。
M ― 標記。
Payload Type ― 識別 RTP 有效載荷的格式,並通過應用程序決定其解釋。
Sequence Number ― 每發送一個 RTP 數據包,序列號增加1。
Timestamp ― 反映 RTP 數據包中的第一個八位組的採樣時間。

SSRC ― 同步源。

CSRC ― 貢獻源標識符。

實戰演練,具體步驟如下:

import org.jnetpcap.protocol.voip.Rtp; //導入依賴的package包/類 @Test public void testRTP() { boolean foundRtp = false;for (JPacket packet : TestUtils.getIterable(FILE)) {if (packet.hasHeader(Rtp.ID)) {foundRtp = true; out.println(packet.getState().toDebugString());out.printf("#%d - RTP%n", packet.getFrameNumber()); }}TestCase.assertTrue("RTP not found", foundRtp); }

TAG標籤:rtp java #