H264与H265协议详解
RTP载荷H264(实战细节)

RTP载荷H265(实战细节)

RTP包的结构:

RTP头在 “RTP载荷H264(实战细节)”讲的很清楚了,不了解的可以从上面链接进入查看,H265中RTP头的使用方法和H264一样,下面直接说下RTP载荷H265的载荷结构,及与载荷H264的区别:

RTP载荷H265

载荷和H264的载荷方式是一样的,根据帧数据的大小分为:单包,分片包,聚合包。具体的解释请参考“RTP载荷H264(实战细节)”。

载荷H265和载荷H264的单包,聚合包都是一样的,但是分片包有所区别,下面说一下载荷H265的分片包数据结构:

其中payloadhdr的结构如下:

|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|
|F|   Type      |  LayerId   | TID |

H265封装为RTP包的时候Type=49, F layerid TID都和H265 NAL head的F layerid TID相同,H265 NAL head结构如下具体的H264 H265协议参考上面的链接博客:

nal_unit_head{forbidden_zero_bit(1bit):    禁止位 == Fnal_unit_type(6bit):        NALU类型nuh_reserved_zero_6bits(6bit): == layeridnuh_temporal_id_plis1(3bit): == TID
};

可以看出NAL head的结构和RTP载荷的payloadhdr是一样的,除了Type。

FU header结构如下:

|0 |1|2|3|4|5|6|7|

|S|E| FuType   |

S:第一个RTP分片包该位置1,其他置0;

E:最后一个RTP分片该位置1,其他置0;

FuType:与NAL head的6bitNALU 类型是一样的。

有此可知,H265的NAL head信息已经分别保存在了RTP的payloadhdr和 FU header中所以在封装RTP包时去除掉H265的起始码和NAL head信息:

H265数据:

00 00 00 01 0c 64 XX XX XX XX........

封装RTP包后:

RTP头 payloadhdr FU header XX XX XX XX......(去掉了起始码(00 00 00 01)和NAL head( 0c 64))

DONL字段平时的用法中可以不进行填充封装。

RTP载荷H265(实战细节)相关推荐

  1. H.264 视频的 RTP 载荷格式

    本文是 IETF 的规范 RFC 6184 的一部分的翻译,该规范 地址.翻译这份文档,主要是为了编写一段用 RTP 传输 H.264 流的代码.本想在网上找一些文章完成任务了事的,但由于个人之前音视 ...

  2. RTP载荷PS流全面分析

    1.PS流封包格式 视频关键帧的封装:    RTP|PS header|PS system header|PS system Map|PES header|H264 data 视频非关键帧的封装:R ...

  3. rtp发送 h265

    自己写的select 做TCP服务端,把tcp数据按照RTSP协议解析,掉函数直接获取一帧音频,一帧视频这种,分包成RTP发送 用ffmpeg 转载于:https://www.cnblogs.com/ ...

  4. 开发实战细节之——关于整型转换为字符串类型的性能与实现分析

    细节决定成败,开发中往往从一些细节就可以看出一个程序员的开发水准,下面我就给大家分享一下开发中最最常见的int转换为String类型的方法及其性能解析. 一般大家最常用的方法有 方法一:String ...

  5. RTP载荷G711A/G711U/PCM/G726音频

    <音视频应用开发系列文章目录> 编码RTP over G711A/G711U/PCM音频的大致过程 1.添加RTP12字节的头 2.添加payload(G711A/G711U/PCM/G7 ...

  6. Dropout 理论基础与实战细节

    Dropout: A Simple Way to Prevent Neural Networks from Overfitting 对于 dropout 层,在训练时节点保留率(keep probab ...

  7. 机器学习、深度学习实战细节(batch norm、relu、dropout 等的相对顺序)

    cost function,一般得到的是一个 scalar-value,标量值: 执行 SGD 时,是最终的 cost function 获得的 scalar-value,关于模型的参数得到的: 1. ...

  8. RTP协议封装H264/H265/AAC

    <RTSP实时音视频传输介绍> 目录 一.前言 二.RTP基本格式介绍 1.RTP 固定头 2.RTP 扩展头 3.RTP 载荷 三.RTP封装H264 1.封装包类型 四.RTP封装H2 ...

  9. H265码流RTP封装方式详解

    文章目录 H265码流RTP封装方式详解 1 H265编码方式介绍 2 H265码流RTP封装方式 2.1 单一帧封装模式 2.2 组合帧封装方式 2.3 分片封装模式 2.4 代码片段解析 H265 ...

最新文章

  1. C语言单向链表的实现
  2. 网页文字对齐(CSS)
  3. Solr 搭建搜索服务器
  4. Java并发——线程安全
  5. js html模板生成图片不显示,网页中图片不显示问题
  6. 2018年全国多校算法寒假训练营练习比赛(第一场)G. 圆圈
  7. spring官网下载
  8. kotlin编译失败_关于应用Kotlin后的编译速度问题
  9. 第3.3节 通过GPIB控制矢量网络分析仪
  10. word一键生成ppt 分页_WORD自动生成PPT
  11. 米家推出新款石头机器人,扫拖一体,指哪去哪!
  12. 有了神经网络,带汤姆实时追踪杰瑞
  13. mysqldatareader什么意思_Mysql的MySqlDataReader对于MysqlConnection是独占式
  14. UE4随笔 —— 角色动画的骨骼重定向
  15. 一个用在手机上的简单js拖拽效果
  16. 哪个软件可以测试脸型适合什么发型,万能脸型公式,4个问题测出你的脸型和适合的发型!...
  17. o在计算机进制中,计算机里的0和1,二进制
  18. [普及] NOIP 2012 文化之旅
  19. Map集合练习题(坐公交车)
  20. safari浏览器下载中文文件名出现的乱码问题

热门文章

  1. 极客HTTP协议学习笔记破冰篇(1-7)
  2. android 按钮 onClick 五种事件写法
  3. linux查看磁盘空间大小(du)
  4. [MS Project]Project软件入门两天之旅
  5. mysql数据库修复_MySQL数据库修复方法(MyISAM/InnoDB)
  6. 【HLS教程】HLS入门与精通
  7. spring boot 配置多个Filter过滤器
  8. verilog的一些技巧,就靠他拿offer了!
  9. 雅思在线模拟测试软件,上海雅思在线模拟测试
  10. java @around_解决@Around对静态方法不生效的问题