FMUSER更轻松地传输视频和音频!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->荷兰语
sq.fmuser.org ->阿尔巴尼亚人
ar.fmuser.org ->阿拉伯语
hy.fmuser.org - >亚美尼亚
az.fmuser.org ->阿塞拜疆
eu.fmuser.org ->巴斯克
be.fmuser.org ->白俄罗斯语
bg.fmuser.org - >保加利亚
ca.fmuser.org ->加泰罗尼亚语
zh-CN.fmuser.org ->中文(简体)
zh-TW.fmuser.org - >中国(繁体)
hr.fmuser.org ->克罗地亚语
cs.fmuser.org ->捷克
da.fmuser.org ->丹麦语
nl.fmuser.org - >荷兰
et.fmuser.org ->爱沙尼亚语
tl.fmuser.org ->菲律宾
fi.fmuser.org ->芬兰语
fr.fmuser.org - >法国
gl.fmuser.org ->加利西亚语
ka.fmuser.org ->乔治亚
de.fmuser.org ->德语
el.fmuser.org - >希腊
ht.fmuser.org ->海地克里奥尔语
iw.fmuser.org ->希伯来语
hi.fmuser.org ->印地语
hu.fmuser.org - >匈牙利
is.fmuser.org ->冰岛语
id.fmuser.org ->印尼语
ga.fmuser.org ->爱尔兰
it.fmuser.org - >意大利
ja.fmuser.org ->日语
ko.fmuser.org ->韩文
lv.fmuser.org ->拉脱维亚
lt.fmuser.org - >立陶宛
mk.fmuser.org ->马其顿语
ms.fmuser.org ->马来语
mt.fmuser.org ->马耳他语
no.fmuser.org - >挪威
fa.fmuser.org ->波斯语
pl.fmuser.org ->波兰语
pt.fmuser.org ->葡萄牙语
ro.fmuser.org - >罗马尼亚
ru.fmuser.org ->俄语
sr.fmuser.org ->塞尔维亚语
sk.fmuser.org ->斯洛伐克
sl.fmuser.org - >斯洛文尼亚
es.fmuser.org ->西班牙语
sw.fmuser.org ->斯瓦希里语
sv.fmuser.org ->瑞典语
th.fmuser.org - >泰国
tr.fmuser.org ->土耳其语
uk.fmuser.org ->乌克兰语
ur.fmuser.org ->乌尔都语
vi.fmuser.org - >越南
cy.fmuser.org ->威尔士语
yi.fmuser.org - >意第绪语
共同点:
1:RTSP RTMP HTTP都在应用程序层。
2:从理论上讲,RTSP rtmphttp可以用于实时广播和点播,但是RTSP RTMP通常用于实时广播,而HTTP用于点播。 SIP协议已用于视频会议,现在基本上已被RTMP取代。
区别:
复制代码
1:Http:即超文本传输协议(FTP是文件传输协议)。
Http :(实时流协议),实时流协议。
HTTP全名路由表维护协议。
2:HTTP将所有数据作为文件处理。 HTTP协议不是流协议。
RTMP和RTSP是流媒体协议。
3:RTMP协议是Adobe的私有协议,尚未完全披露。 RTSP协议和HTTP协议是通用协议,并且需要维护特殊的组织。
4:RTMP协议通常发送flv,f4v格式的流,RTSP协议通常发送ts,MP4格式的流。 HTTP没有特定的流。
5:RTSP传输通常需要2-3个通道,命令和数据通道分离,HTTP和RTMP通常在TCP的一个通道上传输命令和数据。
复制代码
RTSP,RTCP和RTP之间的区别
复制代码
1:RTSP实时流协议
作为应用层协议,RTSP提供了一个可扩展的框架,使实时控制和按需传输数据成为可能。 通常,RTSP是一种流媒体表示协议,主要用于控制具有实时特征的数据传输,但它本身并不传输数据,而必须依赖于较低层传输协议提供的某些服务。 RTSP可以为流媒体提供诸如播放,暂停,快进等操作。 它负责定义特定的控制消息,操作方法,状态代码等,并描述与RTP(rfc2326)的交互。
2:RTCP控制协议
RTCP控制协议需要与RTP数据协议一起使用。 当应用程序启动RTP会话时,它将同时占用两个端口,分别由RTP和RTCP使用。 RTP本身不能为数据包的顺序传输提供可靠的保证,也不能提供由RTCP完成的流量控制和拥塞控制。 通常,RTCP将使用与RTP相同的分发机制,并定期向会话的所有成员发送控制信息。 应用程序可以通过接收数据,获取会话参与者的相关信息以及网络状态,丢包率和其他反馈信息来控制服务质量或诊断网络状况。
RTCP协议的功能是通过不同的RTCP数据报实现的,这些数据报主要有以下几种:
SR:发送者报告是指发送RTP数据报告的应用程序或终端,发送者也可以是接收者。 (服务器固定时间发送给客户端)。
RR:接收端报告。 所谓接收端,是指只接收而不发送RTP数据报告的应用程序或终端。 (服务器接收到客户端发送的响应)。
SDE:源描述,主要功能是充当会话成员标识信息的载体,例如用户名,电子邮件地址,电话号码等,并且还具有将会话控制信息传递给会话成员的功能。
再见:通知离开。 主要功能是指示一个或多个源不再有效,即,通知会话中的其他成员将自己退出会话。
App:由应用程序本身定义,它解决了RTCP可伸缩性的问题,并为协议的实现者提供了很大的灵活性。
3:RTP数据协议
RTP数据协议负责数据包流媒体数据和媒体流的实时传输。 每个RTP数据包均由两部分组成:头部和负载。 磁头的前12个字节是固定的,而负载可以是音频或视频数据。
RTP使用的地方是游戏。 服务器使用UDP协议将数据传输到客户端。 RTP在数据传输的开头添加了一个12字节的标头(描述信息)。
RTP负载包设计网络传输基于IP协议,因此最大传输单位(MTU)为1500字节。 使用IP / UDP / RTP协议层次结构时,这至少包括20个字节的IP头,8个字节的UDP头和12个字节的RTP头。 因此,标头信息至少占用40个字节,并且RTP负载的最大大小为1460个字节。 以H264为例,如果帧数据大于1460,则需要将其打包,然后在接收器中解包,然后合并为一帧数据以进行解码和回放。
复制代码
在实时应用中,RTMP和HLS基本上可以覆盖所有客户端观看情况,
HLS主要具有较大的延迟,而RTMP具有低延迟的主要优势。
1,应用场景
低延迟的应用场景包括:
复制代码
互动式现场直播:例如2013年最受欢迎的美女主播,现场游戏等
各种主机,流媒体已分发给用户以供查看。 用户可以与文本聊天并与主机进行交互。
视频会议:如果我们有同事在野外旅行,我们将使用视频会议举行内部会议。
实际上,会议是否延迟一秒都没有关系,因为在其他人发言完毕后,其他人需要考虑一下,
思考的时间延迟也将约为1秒。 当然,如果您吵架视频会议,您就不会。
。 其他:监控和现场直播在某些地方也需要延迟,
Internet上RTMP协议的延迟基本上可以满足要求。
复制代码
2,RTMP与延迟
1. RTMP的特点如下:
复制代码
1)Adobe支持良好:
RTMP实际上是编码器输出的工业标准协议,基本上所有编码器(摄像机等)都支持RTMP输出。
原因是PC市场巨大,PC主要是Windows,而Windows浏览器基本上支持Flash,
Flash也很好地支持RTMP。
2)适合长时间玩:
由于RTMP很好地支持,因此可以长时间连续播放Flash播放RTMP流,
测试时间为一百万秒,即连续播放超过10天。
对于商业流媒体应用程序,客户端的稳定性当然是必需的,否则,最终用户看不到如何播放?
我知道有一个教育客户端,最初与播放器一起播放HTTP流,并且需要播放不同的文件,并且始终存在问题,
如果服务器端将不同的文件转换为RTMP流,则客户端可以一直播放;
客户端使用RTMP方案后,他没有听说过CDN分发该客户端后出现问题。
3)低延迟:
与YY类型的UDP专用协议相比,RTMP的延迟时间(1-3秒)大得多,
RTMP低于HTTP流延迟(通常超过10秒)。
只要一般的直播应用不是电话交谈的类型,RTMP延迟是可以接受的。
在一般的视频会议应用中,RTMP延迟是可以接受的,因为我们在别人讲话时会听别人讲话,
实际上,一秒钟的延迟并不重要,我们必须考虑一下(有些人还没有CPU处理速度这么快)。
4)累积延迟:
技术必须知道其弱点。 RTMP的弱点是累积错误,因为RTMP不会丢失基于TCP的数据包。
因此,当网络状态较差时,服务器将缓存数据包,从而导致累积延迟;
网络状况良好时,将其一起发送给客户端。
解决方案是在客户端缓冲区很大时断开重新连接。
复制代码
2. HLS低延迟
有人总是问这个问题,如何减少HLS延迟。
HLS解决了延迟问题,就像爬到枫树上抓鱼一样。 奇怪的是,仍然有人喊着,看,有鱼。
你说什么?
我只能说您正在参加谦虚,幻想的魔术表演。
如果您确实确定,请随实际测量图片一起显示,请参阅下面延迟的测量。
3. RTMP延迟的测量
如何测量延迟是一个困难的问题,
但是有一种使用手机秒表的有效方法,它可以更准确地比较延迟。
发现网络状况良好时,可以采取以下措施:
复制代码
。 RTMP延迟大约为0.8秒。
。 多级边缘节点不影响延迟(与SRS同源的CDN边缘服务器可以做到)
。 nginx RTMP延迟有点大。 估计缓存处理是由多进程通信引起的吗?
。 GOP是一个硬指标,但是SRS可以关闭GOP的缓存以避免这种影响
。 服务器性能过低,也会导致延迟变大,服务器无法发送数据。
。 客户端的缓冲区长度也会影响延迟。
例如,将Flash客户端NetStream.bufferTime设置为10秒,然后延迟至少10秒。
复制代码
4. GOP缓存
什么是GOP? 是视频流中两个I帧之间的时间距离。
共和党的影响是什么?
Flash(解码器)只能开始解码和播放,直到获得GOP。
也就是说,服务器通常首先给Flash I帧。
不幸的是,问题在于,假设GOP为10秒,即每10秒就有关键帧,
如果用户在第五秒开始播放怎么办?
第一个解决方案:等待下一帧I,
也就是说,再等待5秒钟以开始提供客户端数据。
此延迟非常低,始终是实时流。
问题是:等待的5秒将变成黑色。 现象是玩家被卡在那里,什么都没有,
一些用户可能认为他们已经死了并且刷新页面。
简而言之,有些客户会认为等待关键帧是不可原谅的错误。 延迟之间有什么关系?
我只想快速开始播放视频,最好打开并播放!
第二种解决方案:从现在开始,
你放什么
你一定知道放置上一个I帧。
也就是说,服务器需要始终缓存GOP,
因此,客户端将播放之前的I帧并快速开始。
问题是:延迟自然是很大的。
有一个好的计划吗?
是的! 至少有两种类型:
编码器降低了GOP(例如0.5秒),从而降低了延迟,并且无需等待。
缺点是编码器压缩率会降低,并且图像质量不是很好。
5.累积延迟
除了GOP缓存外,还存在累积延迟之间的关系。
服务器可以配置实时队列的长度,然后服务器会将数据放入实时队列中,
如果超过此长度,请清除至最后一个I帧:
当然,不能将其配置得太小,
例如,GOP是一秒钟,queue_ Length是一秒钟,这将导致数据在1秒钟内被清除并跳转。
有更好的办法吗? 是的我们有。
延迟基本上等于客户端的缓冲区长度。 因为延迟主要是由于低网络带宽造成的,所以服务器将在缓存后将其一起发送给客户端。 现象是客户端的缓冲区较大,
例如NetStream.BufferLength = 5秒,则缓冲区中至少有5秒的数据。
处理累积延迟的最好方法是,客户端检测到缓冲区中有很多数据,如果可以,请重新连接服务器。
当然,如果网络已经损坏,那是没有办法的。
|
输入电子邮件以获取惊喜
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->荷兰语
sq.fmuser.org ->阿尔巴尼亚人
ar.fmuser.org ->阿拉伯语
hy.fmuser.org - >亚美尼亚
az.fmuser.org ->阿塞拜疆
eu.fmuser.org ->巴斯克
be.fmuser.org ->白俄罗斯语
bg.fmuser.org - >保加利亚
ca.fmuser.org ->加泰罗尼亚语
zh-CN.fmuser.org ->中文(简体)
zh-TW.fmuser.org - >中国(繁体)
hr.fmuser.org ->克罗地亚语
cs.fmuser.org ->捷克
da.fmuser.org ->丹麦语
nl.fmuser.org - >荷兰
et.fmuser.org ->爱沙尼亚语
tl.fmuser.org ->菲律宾
fi.fmuser.org ->芬兰语
fr.fmuser.org - >法国
gl.fmuser.org ->加利西亚语
ka.fmuser.org ->乔治亚
de.fmuser.org ->德语
el.fmuser.org - >希腊
ht.fmuser.org ->海地克里奥尔语
iw.fmuser.org ->希伯来语
hi.fmuser.org ->印地语
hu.fmuser.org - >匈牙利
is.fmuser.org ->冰岛语
id.fmuser.org ->印尼语
ga.fmuser.org ->爱尔兰
it.fmuser.org - >意大利
ja.fmuser.org ->日语
ko.fmuser.org ->韩文
lv.fmuser.org ->拉脱维亚
lt.fmuser.org - >立陶宛
mk.fmuser.org ->马其顿语
ms.fmuser.org ->马来语
mt.fmuser.org ->马耳他语
no.fmuser.org - >挪威
fa.fmuser.org ->波斯语
pl.fmuser.org ->波兰语
pt.fmuser.org ->葡萄牙语
ro.fmuser.org - >罗马尼亚
ru.fmuser.org ->俄语
sr.fmuser.org ->塞尔维亚语
sk.fmuser.org ->斯洛伐克
sl.fmuser.org - >斯洛文尼亚
es.fmuser.org ->西班牙语
sw.fmuser.org ->斯瓦希里语
sv.fmuser.org ->瑞典语
th.fmuser.org - >泰国
tr.fmuser.org ->土耳其语
uk.fmuser.org ->乌克兰语
ur.fmuser.org ->乌尔都语
vi.fmuser.org - >越南
cy.fmuser.org ->威尔士语
yi.fmuser.org - >意第绪语
FMUSER更轻松地传输视频和音频!
联系我们
分类目录
订阅电子邮件