
rtmp
文章平均质量分 53
ddr77
我就是ddr77,知道的人自然知道啦。
展开
-
rtmp协议(1)--消息语法
学过很多的协议。看过很多的文档。基本都看完就忘记。今天尝试下新方法,看看能不能彻底理解这些消息 信息。rtmp的基本结构有两种:message 和chunk ,一系列的交互,一系列的语法,都基于这两种消息。下面看着两种结构的具体语法和关系message:chunk二者之间的关系这个关系就像我们说话都有间隔,写文字都原创 2016-08-29 11:04:21 · 818 阅读 · 0 评论 -
对理解rtmp协议有用的几篇文章
点击打开链接 设置chunk size的作用。tranction id 的作用点击打开链接 比较完整的rtmp协议描述点击打开链接 理解不同逻辑连接的作用,包括chunk channel 。stream channel原创 2017-01-13 16:54:44 · 702 阅读 · 0 评论 -
rtmp 视频包中的大小端问题
最近在公司碰到一个问题。手机软编码上传,流可以正常播放。硬编就不行。tcpdump对比抓包,如下硬编 软编码一个字节一个字节对比。参考几片说rtmp对视频封装的文章点击打开链接发现在软编中。描述数据包产度的是00 17,换算成十字就是23个字节而硬编码中是 0e 00 ,换算过来是3584个字节。因为这是上传的第一个包,是传输sps和pps 的,通过原创 2016-12-10 11:46:30 · 812 阅读 · 0 评论 -
rtmp和rtp协议转换中需要注意的一个问题。
原文地址 点击打开链接其中重点的是这样一段: 唯一值得注意的一点是,在RTMP协议中,音频数据的间隔是用时间做单位的,而RTP中的时间戳(timestamp),是sample数量。故当RTMP中两包音频包相差20MS时,RTP的时间戳就应该加上320(加320是因为恒采用16khz编码采样率)。这是个细节。记录下。转载 2016-09-29 14:09:57 · 5382 阅读 · 1 评论 -
rmtp流中对音频数据头的解析。
rtmp 对消息的封装是通过chunk地方式来确定的。其中在msg id == 0x08表示音频,就是说后面带的消息是音频数据。那么,这个音频数据是什么格式呢?今天也是第一次碰到这个问题。记录下有下面的数据00000000 04 00 02 80 00 00 76 08 01 00 00 00 80 79 1b 00000010 78 29 ed 98 29 2原创 2016-09-27 14:58:30 · 2069 阅读 · 1 评论 -
从流程上对rtmp协议经行总结
分析的基本清晰。原文地址 从流程上对rtmp协议经行总结拷贝黏贴一、握手:1、C0:C—>S2、S0: S—>C 名称:C0 S0 长度:1字节 对于版本号的定义:当前rtmp协议的版本号一致为“3”,0、1、2是旧版本号,已经弃用。4-31被保留为rtmp协议的未来实现版本使用;32-255不允许使用。如果转载 2016-10-11 09:30:09 · 762 阅读 · 0 评论 -
rtmp协议(2)-握手过程
rmtp连接的第一个协议是握手协议。名字叫handshake.handshake的作用只有一个同步版本号和timestamp。和tcp握手的作用基本差不多。rtmp的握手协议双方一共要发留个包,各自发三个。分别如下c0 s0只有8个字节,双方通过这个命令来同步版本号,现在版本是03.c2 s2这个命令主要是双方各自发出自己这段的tim原创 2016-08-29 15:24:50 · 3013 阅读 · 0 评论 -
rtmp的消息类型
原文地址:http://blog.chinaunix.net/uid-26000296-id-3365019.html拷贝黏贴AbstractThis document describes the different types of messages and commandsthat are exchanged between the server and the c转载 2016-09-01 11:24:54 · 1870 阅读 · 0 评论 -
amf数据格式
原文地址为 http://blog.youkuaiyun.com/yeyumin89/article/details/7932585复制黏贴下这里有一个连接,amf0和amf3的库,我下了看了下,还是自己写吧,哎。http://wooce.iteye.com/blog/1396278参考crtmpserver的代码写的,其中有amf.h文件。 AMF数转载 2016-08-29 17:59:20 · 5140 阅读 · 0 评论 -
rtmp中数字的转换
在rtmp中,afm=0x00,表示的是数字,这个数字是用大端表示的,就是最重要的数放在了最低位上。wireshark截图如下00 表示数字4008000000000000 double类型的值,8个字节05 表示空符号null怎么翻译这个数为int类型呢?double的内存模型为最高位是0,表示正数。然后是11位的指数最后是52位的尾数。原创 2017-01-11 21:34:35 · 424 阅读 · 0 评论