RTP头部封装的实现

简介: RTP头部封装的实现

说明

  • 本内容是建立在“1.RTSP协议介绍.md”基础之上的
  • 本内容仅实现RTP头部封装
  • 本内容对应的代码无法测试

源码

  • "test/002/test_rtp.c"
  • "test/002/test_rtp.h"
  • 参考“1.RTSP协议介绍.md”中“RTP协议封装示意图”
// RTP头部结构体类型
typedef struct
{
    /* byte 0 */
   uint8_t csrcLen:4;     // 第一个字节的bit0~bit3
   uint8_t extension:1;   // 第一个字节的bit4
   uint8_t padding:1;     // 第一个字节的bit5
   uint8_t version:2;     // 第一个字节的bit6~bit7
   /* byte 1 */
   uint8_t payloadType:7;
   uint8_t marker:1;
   /* bytes 2,3 */
   uint16_t seq;
   /* bytes 4-7 */
   uint32_t timestamp;
   /* bytes 8-11 */
   uint32_t ssrc;
} RTP_HEADER_S;
目录
相关文章
|
8月前
|
编解码 监控 网络协议
GB/T28181-2016基于RTP的视音频数据封装和技术实现
首先我们先回顾下相关技术规范,看看基于RTP的音视频数据PS封装。
GB/T28181-2016基于RTP的视音频数据封装和技术实现
|
编解码
如何使用RTP封装H264视频数据
RTP的第一个字节是消息类型,如果是FU-A,第二个字节用来指示是否是I帧,是否I帧的开始或结束。
如何使用RTP封装H264视频数据
为什么发出去的2833 RTP流不能收号
为什么发出去的2833 RTP流不能收号
为什么发出去的2833 RTP流不能收号
|
数据安全/隐私保护
SIP响应消息和头字段
SIP响应消息和头字段
|
安全 网络协议 算法
RTP、RTCP、RTSP 概念
<p style="line-height: 28px; margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px; color: rgb(51, 51, 51); font-family: 'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helve
6667 0
|
数据采集 传感器 编解码
【Android RTMP】RTMPDump 封装 RTMPPacket 数据包 ( 关键帧数据格式 | 非关键帧数据格式 | x264 编码后的数据处理 | 封装 H.264 视频数据帧 )
【Android RTMP】RTMPDump 封装 RTMPPacket 数据包 ( 关键帧数据格式 | 非关键帧数据格式 | x264 编码后的数据处理 | 封装 H.264 视频数据帧 )
219 0
|
网络协议 大数据
|
搜索推荐 语音技术 数据安全/隐私保护
RTP协议之Header结构解析
实时传输协议 RTP,RTP 提供带有实时特性的端对端数据传输服务,传输的数据如:交互式的音频和视频。那些服务包括有效载荷类型定义,序列号,时间戳和传输监测控制。应用程序在 UDP 上运行 RTP 来使用它的多路技术和 checksum 服务。
1209 0
|
编解码
H265(HEVC) nal 单元头介绍及rtp发送中的fu分组发送详解
首先来介绍下h265(HEVC)nal单元头,与h264的nal层相比,h265的nal unit header有两个字节构成,如下图所示: 从图中可以看出hHEVC的nal包结构与h264有明显的不同,hevc加入了nal所在的时间层的ID,取去除了nal_ref_idc,此信息合并到了naltype中,通常情况下F为0,layerid为0,TID为1。
3338 0