当前位置: 首页 > news >正文

珠海网络公司网站建设app后端用什么开发

珠海网络公司网站建设,app后端用什么开发,网站开发用什么语言最好,黄岩建设局网站RTSP场景下RTP协议详解及音视频打包全流程 一、RTSP与RTP的关系 RTSP:负责媒体会话控制(DESCRIBE、SETUP、PLAY、PAUSE),通过SDP协商传输参数(端口、编码格式、封装模式)。RTP:实际传输音视频数…

RTSP场景下RTP协议详解及音视频打包全流程


一、RTSP与RTP的关系
  • RTSP:负责媒体会话控制(DESCRIBESETUPPLAYPAUSE),通过SDP协商传输参数(端口、编码格式、封装模式)。
  • RTP:实际传输音视频数据,基于UDP/TCP,与RTCP配合实现同步和网络状态反馈。

二、RTP头字段详解(RFC 3550)

RTP头固定12字节,字段含义及填写规则如下:

字段名位宽取值说明
Version (V)2 bits固定为2(0x80),表示RTP版本。
Padding §1 bit载荷末尾是否有填充字节(如加密对齐)。RTSP场景通常为0
Extension (X)1 bit是否启用头部扩展(如RFC 5285定义)。默认0,启用时需在SDP中声明。
CSRC Count (CC)4 bits贡献源(CSRC)数量。单路流通常为0
Marker (M)1 bit关键帧结束标记:视频的最后一个分片包设为1;音频包通常为0。
Payload Type (PT)7 bits载荷类型,SDP中动态映射(如96=H.264, 97=H.265, 8=PCMA, 14=MPEG Audio)。
Sequence Number16 bits包序列号,每发送一个RTP包自增1(用于检测丢包和乱序)。
Timestamp32 bits时间戳,基于编码时钟频率:<br>- 视频:90000 Hz(每帧增量=90000/fps)<br>- 音频:按采样率(如AAC=44100 Hz)。
SSRC32 bits同步源标识符,随机生成,同一流中唯一。

示例:H.264视频包头(时间戳增量=3000,30fps):

80 60 00 01   // V=2, P=0, X=0, CC=0, M=0, PT=96 (H.264)
00 01          // Sequence Number = 1
00 00 0B B8    // Timestamp = 3000
DE AD BE EF    // SSRC=0xDEADBEEF

三、视频打包实现
1. H.264视频打包(RFC 6184)
  • NALU结构
  +---------------+---------------+|F|NRI| Type    | Payload Data  |+---------------+---------------+
  • 封装模式:由SDP参数packetization-mode定义。
    • Mode 0(单NALU) :直接封装小NALU(如SPS/PPS)。
    RTP头 | NALU头(1B) | 数据
  • Mode 1(FU-A分片) :大NALU分片传输,添加FU头和标记位。
    RTP头 | FU Indicator(1B) | FU Header(1B) | 分片数据
  • FU IndicatorF|NRI|Type=28(0x7C)。

  • FU HeaderS|E|R|Type(S/E标志分片起止,Type为原始NALU类型)。

    • Mode 2(STAP-A组合) :聚合多个小NALU。
    RTP头 | STAP头(1B) | NALU1长度(2B) | NALU1数据 | NALU2长度(2B) | NALU2数据
  • 关键帧分片示例
  // 第一个分片RTP头(M=0) | 0x7C | 0x85(S=1, Type=5) | 分片数据// 最后一个分片RTP头(M=1) | 0x7C | 0x45(E=1, Type=5) | 分片数据
2. H.265视频打包(RFC 7798)
  • NALU头扩展:2字节,包含层次标识(LayerID)和时域层级(TID)。
  +---------------+---------------+---------------+|F| Type(6b) | LayerID(6b) | TID(3b)     |+---------------+---------------+---------------+
  • 分片模式(FU-A)
  RTP头 | FU Indicator(2B) | FU Header(1B) | 分片数据
  • FU Indicator:Type=49(0x62)。

  • FU Header:同H.264的S/E标志,Type为原始NALU类型(如32=IDR)。

  • 示例

  // 第一个分片RTP头 | 0x62 0x80(LayerID=0, TID=1) | 0x80(S=1, Type=32) | 分片数据
3. SDP配置示例
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z0LAH9kAUAW6EAAAAwAQAAADA8PFRQ=,aM48gA==

四、音频打包实现
1. G.711(PCMU/PCMA)
  • 静态PT:0(PCMU)、8(PCMA)。
  • 封装:直接填充裸数据,时间戳按样本数递增。
  RTP头(PT=0/8) | 音频样本(每样本1字节)
2. AAC(RFC 3640)
  • 动态PT:通过SDP协商(如96)。
  • 封装:添加AU头声明数据长度。
  RTP头 | AU头长度(2b) | AU头(16b长度) | AAC数据
3. Opus(RFC 7587)
  • 封装:直接填充Opus帧,支持分片。
  RTP头 | TOC字段(配置参数) | Opus数据

五、音视频同步机制
  1. 时间戳对齐
    • 音频时间戳增量 = 采样数(如AAC每帧1024样本 → 增量=1024)。
    • 视频时间戳增量 = 90000 / 帧率(如30fps → 增量=3000)。
  2. RTCP同步
    • 发送端通过SR包传递NTP时间与RTP时间戳的映射。
    • 接收端计算播放时序偏差,动态调整缓冲区。
http://www.yayakq.cn/news/760377/

相关文章:

  • 重庆企业网站定制asp net mvc做网站
  • 网站首页英文厦门做网站的
  • 2003访问网站提示输入用户名密码集团网站设计案例
  • 重庆的汽车网站建设wordpress二级目录安装
  • 重庆网站建设方案现代教育网站开发项目的研究
  • 做微网站的第三方登录seo短视频网页入口引流动漫
  • 网站建设的实训报告网站的服务有哪些
  • 中国建设银行官网网站敏捷模型是软件开发模型吗
  • 网站建设题库及答案网站外链建设记住5种外链方式不可用
  • 深喉咙企业网站生成系统企业所得税优惠税率
  • 广州网站优化方案深圳建设集团有限公司工资
  • 网站做外链好嘛西宁 网站建设
  • 广西做网站公司有哪些微平台推广自己怎么做
  • 魏县专业做网站做网站用phpcms还是
  • 霍邱网站建设个人网站咋推广啥叫流量
  • 网站开发数据库课程设计网站建设广告词
  • 咸阳网站建设公司国内做服装的网站有哪些方面
  • 安庆哪里做网站品牌网站建设荐选蝌蚪
  • 建设 网站工作汇报wordpress收不到
  • 崇明区建设镇网站wordpress看不到图片
  • 有了域名后怎么完成网站建设企业电子商城网站建设
  • 人们做网站怎么赚钱win7 发布asp网站
  • 唐山做网站的制作一个网站平台吗
  • 软文推广模板网站页面关键词优化
  • 开发网站需要多少钱建网站的公司时
  • 餐厅网站设计模板下载wordpress自动采集软件
  • 绵阳集团网站建设动易门户网站价格
  • 如何建设淘宝网站首页免费茶叶网站建设
  • 常州市城投建设工程招标有限公司网站广州网站模板建站
  • 企业网站推广的收获与启示做旅游销售网站平台ppt