RTMP服务
文章平均质量分 54
tongjing524
这个作者很懒,什么都没留下…
展开
-
LibRTMP源代码分析3:AMF编码
AMF协议是Action Message Format协议的简称,AMF协议是Adobe公司的协议,主要用于数据交互和远程过程调用,在功能上与WebService相当,但AMF与WebService中的xml不同在于AMF是二进制数据,而xml是文本数据,AMF的传输效率比xml高。AMF使用http方式传输,目前主要用于ActionScript中,实现Flex与Service之间的通信。AMF目转载 2014-07-23 11:29:22 · 1553 阅读 · 0 评论 -
LibRTMP源代码分析5:建立网络连接(NetConnection)
转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412083019646/服务器和客户端之间只能建立一个网络连接,但是基于该连接可以创建很多网络流。他们的关系如图所示: 网络连接的基本步骤在第一篇文章中有所介绍,此处不再重复。源代码中的 RTMP_Connect(...) 用于建立RTMP网络连转载 2014-07-23 11:32:27 · 1042 阅读 · 0 评论 -
RTMP 规范中文版
原文地址:http://blog.csdn.net/defonds/article/details/17534903转载 2014-07-15 08:47:46 · 1450 阅读 · 0 评论 -
LibRTMP源代码分析7:发送消息(Send Message)
转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412152749650/前面介绍了建立网络连接(NetConnection)和建立网络流(NetStream),这些命令数据是怎么发送出去的呢?在底层是怎么实现的呢?接下来就要详细分析各种消息的发送过程。 首先大致列举一下消息命令:发送connect命令转载 2014-07-23 11:34:00 · 1977 阅读 · 0 评论 -
LibRTMP源代码分析9:接收消息(Receive Message)
在这里在研究接收消息(Message)的源代码,接收消息最典型的应用就是接收视音频数据了,因为视频和音频分别都属于RTMP协议规范中的一种消息。在这里主要分析接收视音频数据。LibRTMP中完成视音频数据的接收的函数是:RTMP_Read()。// Flv文件头static const char flvHeader[] = { 'F', 'L', 'V', 0x01, 0x00,转载 2014-07-23 11:32:49 · 706 阅读 · 0 评论 -
LibRTMP源代码分析8:发送消息(Send RTMPPacket)
转载自:http://nkwavelet.blog.163.com/blog/static/2277560382014124101925373/在详细分析函数RTMP_SendPacket()之前,让我们来看看RTMPPacket结构体的定义:typedef struct RTMPPacket{ uint8_t m_headerType;// Chun转载 2014-07-23 11:32:07 · 1550 阅读 · 0 评论 -
LibRTMP源代码分析2:解释RTMP地址
获取RTMP流媒体数据很重要的前提是RTMP的URL的解析,首先回顾一下RTMP的URL的格式: url = “rtmp://pub1.guoshi.com:1935/pushstation/ 291?wsSecret=2b8 &wsTime=5302 协议名 :RTMP_PROTOCOL_RTMP = 0; 主机名 :"pub1.guo转载 2014-07-23 11:28:12 · 980 阅读 · 2 评论 -
LibRTMP源代码分析4:握手(HandShake)
转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412052439295/在RTMP客户端和服务器端网络层连接成功之后,第一件事情就是RTMP的握手。至于为什么要握手,协议本身没有太多的描述,我理解的握手目的:握手的主要目的就是让客户端和服务器端互相打个招呼,其主要内容应该包括看看两者是否同时理解RTMP协议本身(至少理解握手转载 2014-07-23 11:31:41 · 1654 阅读 · 0 评论 -
LibRTMP源代码分析10:处理消息(Handle Message)
转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412473745809/转载 2014-07-23 11:34:19 · 1975 阅读 · 0 评论 -
LibRTMP源代码分析1:概述
此系列文章主要总结一下我在学习RTMP协议以及LibRTMP源代码过程中积累的经验。 详细分析了RTMP源代码是如何与RTMP协议对应起来的,使得代码与协议有明确的对应关系,便于理解协议和使用LibRTMP。最后给出一个实例,利用libRTMP推送H264和AAC编码的音视频直播流。 有关源代码分析的内容及系列文章的结构参考了网上牛人雷霄骅的blog,但对代码分析的详细程度远超过他的b转载 2014-07-23 11:26:06 · 996 阅读 · 0 评论 -
LibRTMP源代码分析6:建立网络流(NetStream)
转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412124828594/建立了RTMP网络连接之后,客户端发送createStream 命令到服务器端为消息连接创建一个逻辑通道。 NetStream 定义了这个传输逻辑通道,通过这个通道,音频流、视频流以及数据消息流可以通过连接客户端和服务端的 NetConnection 传转载 2014-07-23 11:33:15 · 2961 阅读 · 0 评论 -
rtmp NetConnection 状态
"NetConnection.Connect.Success" //服务器连接成功 "NetConnection.Connect.Closed" //连接中断 "NetConnection.Connect.Failed" //连接失败" "NetConnection.Connect.Rejected" //没有权限" "NetStream.Play.Reset"原创 2016-06-03 16:58:38 · 2221 阅读 · 0 评论