多媒体协议
文章平均质量分 85
mandagod
这个作者很懒,什么都没留下…
展开
-
RTSP协议简介
实时流协议RTSP是一个应用层协议,用于控制具有实时特性的数据(例如多媒体流)的传送。RTSP协议一般与RTP/RTCP和RSVP等底层协议一起协同工作,提供基于Internet的整套的流服务。它可以选择发送通道(例如:UDP、组播UDP和TCP)和基于RTP的发送机制。它可以应用于组播和点播。RTP, RTCP,RSVP 定义如下: 1. 实时传输协议RTP(Real-time Transp转载 2015-07-31 23:56:56 · 1101 阅读 · 0 评论 -
RTMPdump源码分析: HandShake(4)
函数调用结构图RTMPDump (libRTMP)的整体的函数调用结构图如下图所示。单击查看大图详细分析在这里分析一下RTMPdump(libRTMP)连接到支持RTMP协议的服务器的第一步:握手(Hand Shake)。RTMP连接的过程曾经分析过:RTMP流媒体播放过程在这里不再细说,分析一下位于han原创 2016-12-06 23:09:52 · 443 阅读 · 0 评论 -
RTMPdump源码分析: NetConnection(5)
函数调用结构图RTMPDump (libRTMP)的整体的函数调用结构图如下图所示。RTMP_Connect()函数用于建立RTMP中的NetConnection;[cpp] view plain copy//连接 int RTMP_Connect(RTMP *r, RTMPPacket *cp原创 2016-12-06 23:22:12 · 364 阅读 · 0 评论 -
RTMPdump源码分析: NetStream1(6)
函数调用结构图RTMPDump (libRTMP)的整体的函数调用结构图如下图所示。RTMP_ConnectStream()[cpp] view plain copy//创建流 int RTMP_ConnectStream(RTMP *r, int seekTime) {原创 2016-12-06 23:41:49 · 291 阅读 · 0 评论 -
RTMPdump源码分析: NetStream1(7)
函数调用结构图RTMPDump (libRTMP)的整体的函数调用结构图如下图所示。详细分析上回说到,有两个函数尤为重要:RTMP_ReadPacket()RTMP_ClientPacket()而且分析了第一个函数。现在我们再来看看第二个函数吧。第二个函数的主要作用是:处理消息(Message),并做出响应原创 2016-12-06 23:44:39 · 365 阅读 · 0 评论 -
RTMPdump源码分析: 发送消息(Message)(8)
函数调用结构图RTMPDump (libRTMP)的整体的函数调用结构图如下图所示。详细分析之前写了一系列的文章介绍RTMPDump各种函数。比如怎么建立网络连接(NetConnection),怎么建立网络流(NetStream)之类的,唯独没有介绍这些发送或接收的数据,在底层到底是怎么实现的。本文就是要剖析一下其内部的实现。即这些消息(Mess转载 2016-12-06 23:48:31 · 313 阅读 · 0 评论 -
RTMPdump源码分析: 接收消息(Message)(接收视音频数据)(9)
函数调用结构图RTMPDump (libRTMP)的整体的函数调用结构图如下图所示。详细分析在这里在研究研究接收消息(Message)的源代码,接收消息最典型的应用就是接收视音频数据了,因为视频和音频分别都属于RTMP协议规范中的一种消息。在这里主要分析接收视音频数据。RTMPdump中完成视音频数据的接收(也可以说是视音频数据的下载)的函数是:转载 2016-12-06 23:57:54 · 461 阅读 · 0 评论 -
RTMPdump源码分析: 处理各种消息(Message)(10)
函数调用结构图RTMPDump (libRTMP)的整体的函数调用结构图如下图所示。详细分析已经连续写了一系列的博客了,其实大部分内容都是去年搞RTMP研究的时候积累的经验,回顾一下过去的知识,其实RTMPdump(libRTMP)主要的功能也都分析的差不多了,现在感觉还需要一些查漏补缺。主要就是它是如何处理各种消息(Message)的这方面还没转载 2016-12-07 00:01:11 · 500 阅读 · 0 评论 -
使用FEC改善UDP(RTP)音视频传输效果
实时音视频领域UDP才是王道 在 Internet 上进行音视频实时互动采用的传输层方案有TCP(如:RTMP)和UDP(如:RTP)两种。TCP协议能为两个端点间的数据传输提供相对可靠的保障,这种保障是通过一个握手机制实现的。当数据传给接收者时,接收者要检查数据的正确性。发送者只有接到接收者的正确性认可才能发送下一个数据块。如果没有接到确认报文,这个数据块就得重转载 2016-12-21 11:10:04 · 980 阅读 · 0 评论 -
视频参数(流媒体系统,封装格式,视频编码,音频编码,播放器)对比
发现了几个视频参数对比的资源,是Wikipedia上的,总结的非常好:流媒体系统对比:http://en.wikipedia.org/wiki/Comparison_of_streaming_media_systems封装格式对比:http://en.wikipedia.org/wiki/Comparison_of_container_formats视频编码器对比:http://en.wikiped转载 2016-08-05 15:36:47 · 777 阅读 · 0 评论 -
RTP Media Congestion Avoidance Techniques (rmcat)
RTP多媒体传输避免拥塞控制的一些标准文档:https://datatracker.ietf.org/wg/rmcat/documents/原创 2017-03-02 11:24:38 · 609 阅读 · 0 评论 -
链路断开造成RTP拥塞控制的标准措施Circuit Breakers
https://tools.ietf.org/pdf/draft-ietf-avtcore-rtp-circuit-breakers-10.pdf原创 2017-03-02 11:27:43 · 681 阅读 · 0 评论 -
Error Resilience Mechanisms for WebRTC Video Communications
Error Resilience Mechanisms for WebRTC Video CommunicationsBY: LASSE LUMIAHO, MARCIN NAGY, 30 OCTOBER 2015Road and network traffic bear lots of similarities. Just like vehicles on the road转载 2017-03-02 15:14:02 · 365 阅读 · 0 评论 -
一篇Opus Audio在Mozilla浏览器上打开FEC Audio FEC Experimentation
Audio FEC ExperimentationContributed by dminor@mozilla.com,We recently enabled Forward Error Correction (FEC) for audio streams in Firefox’s WebRTC implementation using the built in support provid转载 2017-03-02 15:20:47 · 555 阅读 · 0 评论 -
Android IOS WebRTC 音视频开发总结(五五)-- 音视频通讯中的抗丢包与带宽自适应原理
本文主要分析webrtc中的抗丢包与带宽自适应原理,文章来自博客园RTC.Blacker,欢迎关注微信公众号blacker,更多详见www.rtc.help 文章内容主要来自中国电信北京研究院丁博士在上周六的技术交流会上的演讲内容,之前我们有在公众号上介绍过这个技术交流会,详见:http://mp.weixin.qq.com/s?__biz=MzA5ODMzMjE1NQ==&mid=401转载 2017-03-02 15:27:57 · 1143 阅读 · 0 评论 -
RTMPdump源代码分析: AMF编码(amf.c)(3)
=====================================================RTMPdump(libRTMP) 源代码分析系列文章:RTMPdump 源代码分析 1: main()函数RTMPDump (libRTMP) 源代码分析2:解析RTMP地址——RTMP_ParseURL()RTMPdump (libRTMP) 源代码分析3:转载 2016-12-06 16:54:33 · 1158 阅读 · 2 评论 -
Amf3协议
--Flash默认支持AMF3二进制协议,而Java服务端可以使用Adobe开源项目BlazeDS里提供的flex-messaging-common.jar和flex-messaging-core.jar来支持AMF3协议。1.AMF3编码分析 http://www.68design.net/Web-Guide/Flash/40939-1.htmlAMF转载 2016-12-06 16:27:03 · 896 阅读 · 0 评论 -
流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
RTP 参考文档 RFC3550/RFC3551 Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP)转载 2015-08-27 13:41:05 · 890 阅读 · 0 评论 -
关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
1. AMF AMF(是Action Message Format的缩写)是在flash和flex中与远程服务端交换数据的一种格式.它是二进制格式,Flash应用与服务端或数据库通过RPC交换数据时,通常都采用这种格式。AMF 1 诞生于Flash Player6,发展到现在已经变成了了AMF32. RTMP RTMP是Real-Time Messaging Protoco原创 2015-11-13 14:46:13 · 4958 阅读 · 0 评论 -
RTMP流媒体使用中的服务器和客户端
RTMP被Adobe开发出来,就是用于在其Flash平台的流媒体系统之间传递数据的。因此想要了解RTMP,需要首先了解Flash流媒体系统。最简单的Flash流媒体系统由两部分组成:客户端:Flash Player(一般只有这一种)注:支持RTMP的基于Flash的播放器除了可以自己开发之外,还有现成的,比如说jwplayer,flowplayer等等。原创 2016-11-02 22:52:23 · 4766 阅读 · 3 评论 -
RTMPdump 使用说明
RTMPDump v2.42012-07-24RTMPDUMP(1)名称rtmpdump - (RTMP流媒体客户端)RTMP streaming media client使用参数rtmpdump -r url [-n hostname] [-c port] [-l protocol] [-S host:port] [-a app] [-t tcUrl] [-p pag转载 2016-11-03 00:39:16 · 1320 阅读 · 0 评论 -
RTMPdump VS工程
一个windows下可以编译通过的RTMPdump工程:rtmpdump vs2005版本 (当然,linux下会方便很多,因为RTMPdump就是在linux下开发完成的)转自雷神的工程!原创 2016-11-03 14:43:49 · 835 阅读 · 0 评论 -
RTMP中英文标准
RTMP中英文标准对照http://download.csdn.net/detail/mandagod/9671069最详细介绍RTMP规范的在这里了。原创 2016-11-02 15:38:29 · 392 阅读 · 0 评论 -
RTMPDump开源工程
RTMPDump开源工程:http://rtmpdump.mplayerhq.hu/可以下载最新的源代码:git clone git://git.ffmpeg.org/rtmpdump开启所有功能的编译的时候,可以结合用zlib, 还有默认用的OpenSSL, 也可以代替用GnuTLS 或者是 PolarSSL。rtmpdump主页:http://rtmpdump.mplayerhq.hu/rtm原创 2016-11-05 11:31:16 · 1320 阅读 · 0 评论 -
RTMP规范简单分析
RTMP协议是一个互联网TCP/IP五层体系结构中应用层的协议。RTMP协议中基本的数据单元称为消息(Message)。当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(Chunk)。1 消息消息是RTMP协议中基本的数据单元。不同种类的消息包含不同的Message Type ID,代表不同的功能。RTMP协议中一共规定了十多种消息类型,分别发挥着不同的作用。例转载 2016-11-02 15:25:06 · 328 阅读 · 0 评论 -
RTMP流媒体播放过程
本文描述了从打开一个RTMP流媒体到视音频数据开始播放的全过程。注意:RTMP中的逻辑结构RTMP协议规定,播放一个流媒体有两个前提步骤:第一步,建立一个网络连接(NetConnection);第二步,建立一个网络流(NetStream)。其中,网络连接代表服务器端应用程序和客户端之间基础的连通关系。网络流代表了发送多媒体数据的通道。服务器和客户端之间只能建立一个网络连接,但是基于该连接可转载 2016-11-02 15:28:29 · 366 阅读 · 0 评论 -
RTMPDump源码分析-主要函数调用(0)
RTMPDump可以认为是利用librtmp实现的一个RTMP客户端, 其主页为:http://rtmpdump.mplayerhq.hu/rtmpdump.1.html其中在librtmp的主页当中介绍librtmp的API的时候介绍了RTMPdump, 详细http://rtmpdump.mplayerhq.hu/librtmp.3.html。The RTMPD原创 2016-12-05 17:28:20 · 374 阅读 · 0 评论 -
RTMPDump源码分析-main函数(1)
RTMPDump.c源代码中的main函数主要是:InitSockets();//初始化Socket RTMP_Init();//初始化结构体 RTMP_ParseURL();//解析输入URL RTMP_SetupStream();//一些设置 fopen();//打开文件,准备写入 RTMP_Connect();//建立NetConnection RTMP_Conn原创 2016-12-06 15:08:27 · 515 阅读 · 0 评论 -
RTMPDump源码分析-RTMP_ParseURL函数(2)
int RTMP_ParseURL(const char *url, int *protocol, AVal *host, unsigned int *port, AVal *playpath, AVal *app){ char *p, *end, *col, *ques, *slash; RTMP_Log(RTMP_LOGDEBUG, "Parsing..."); *protoco转载 2016-12-06 15:25:43 · 289 阅读 · 0 评论 -
使用FEC改善UDP(RTP)音视频传输效果
From: http://blog.csdn.net/mediapro/article/details/50393685实时音视频领域UDP才是王道 在 Internet 上进行音视频实时互动采用的传输层方案有TCP(如:RTMP)和UDP(如:RTP)两种。TCP协议能为两个端点间的数据传输提供相对可靠的保障,这种保障是通过一个握手机制实现的转载 2017-03-08 16:58:09 · 719 阅读 · 0 评论