java rtp

作者:原创时间:2022-04-19
文档

java rtp是什么?让我们一起来了解一下吧!

java rtp是Java程序中的一个协议。rtp协议,也被叫作实时传输协议,它是一个网络传输协议。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);
 }

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java runnable java runtime.exec java rxjava java sandbox java script java selector java selenium java semaphore java separator java sequence java serializable java serializable接口 java serialversionuid java setlayout java platform java settimeout java plug-in java sftp java plugin java pojo java rsa私钥加密 java rsa公钥加密 java pipeline java ping java phoenix java paypal java path java rsa加密 java rotate java reverse java reverse() java retrofit java resume java resultset java result java rest java requests java partial java request java parser