几种直播流媒体协议

题外话:

HTTP渐进下载流媒体播放:  基于TCP。

yy、乐视、爱奇艺、优酷土豆、搜狐视频、花椒直播,主要还是通过rtmp&hls来实现的,

但他们也意识到rtmp的天生缺陷,所以不管是技术预研也好,还是测试版也好,都已经或多或少在弄WebRTC了。


流媒体概述:

所谓流媒体是指采用流式传输的方式在 Internet 播放的媒体格式。 
流媒体又叫流式媒体,它是指商家用一个视频传送服务器把节目当成数据包发出,传送到网络上。
用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。
流媒体以流的方式在网络中传输音频、视频和多媒体文件的形式。
流媒体文件格式是支持采用流式传输及播放的媒体格式。
流式传输方式是将视频和音频等多媒体文件经过特殊的压缩方式分成一个个压缩包,
由服务器向用户计算机连续、实时传送。在采用流式传输方式的系统中,用户不必像非流式播放那样等到整个文件
全部下载完毕后才能看到当中的内容,而是只需要经过几秒钟或几十秒的启动延时即可在用户计算机上利用
相应的播放器对压缩的视频或音频等流式媒体文件进行播放,剩余的部分将继续进行下载,直至播放完毕。

RTP :(Real-time Transport Protocol)

是用于Internet上针对多媒体数据流的一种传输层协议.RTP 协议和 RTP 控制协议 RTCP 一起使用,
而且它是建立在 UDP 协议上的.
RTP 不像http和ftp可完整的下载整个影视文件,它是以固定的数据率在网络上发送数据,客户端也是按照这种速度观看影视文件,当
影视画面播放过后,就不可以再重复播放,除非重新向服务器端要求数据。

RTCP:Real-time Transport Control Protocol 或 RTP Control Protocol或简写 RTCP)

实时传输控制协议,是实时传输协议(RTP)的一个姐妹协议.

注:--:RTP 协议和 RTP控制协议(RTCP) 一起使用,而且它是建立在UDP协议上的

RTSP:(Real Time Streaming Protocol)

实时流媒体会话协议,SDP(会话描述协议),RTP(实时传输协议)。

是用来控制声音或影像的多媒体串流协议,RTSP 提供了一个可扩展框架,使实时数据,如音频与视频的受控、点播成为可能。
媒体数据使用rtp,rtcp协议。
一般使用udp 作为传输层。适合IPTV场景。
数据源包括现场数据与存储在剪辑中的数据。该协议目的在于控制多个数据发送连接,为选择发送通道,如UDP、多播UDP与TCP提供途
径,并为选择基于RTP上发送机制提供方法
传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TCP或UDP来传送串流内容,比较能容忍网络延迟.


--->:RTSP 与 RTP 最大的区别在于:RTSP 是一种双向实时数据传输协议,它允许客户端向服务器端发送请求,如回放、快进、倒退等操作。当
然,RTSP 可基于 RTP 来传送数据,还可以选择 TCP、UDP、组播 UDP 等通道来发送数据,具有很好的扩展性。它时一种类似与http协议
的网络应用层协议.

WebRTC:

web端实现流媒体的协议。google刚推出WebRTC的时候巨头们要么冷眼旁观,要么抵触情绪很大。使用RTP协议传输。


RTMP(Real Time Messaging Protocol)

Macromedia 开发的一套视频直播协议,现在属于 Adobe。和 HLS 一样都可以应用于视频直播,基于TCP不会丢失。
// 区别是 RTMP 基于 flash 无法在 iOS 的浏览器里播放,但是实时性比 HLS 要好。
实时消息传送协议是 Adobe Systems 公司为 Flash 播放器和服务器之间音频、视频和数据传输 开发的开放协议.
 // iOS 代码里面一般常用的是使用 RTMP 推流,可以使用第三方库 librtmp-iOS 进行推流,librtmp 封装了一些核心的 API 供使用者调用
RTMP 协议也要客户端和服务器通过“握手”来建立 RTMP Connection,然后在Connection上传输控制信息。RTMP 协议传输时会对数据格式化,而实际传输的时候为了更好地实现多路复用、分包和信息的公平性,发送端会把Message划分为带有 Message ID的Chunk,每个Chunk可能是一个单独的Message,
也可能是Message的一部分,在接受端会根据Chunk中包含的data的长度,message id和message的长度把chunk还原成完整的Message,从而实现信息的收发。

HLS:HTTP Live Streaming(HLS)

是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议,

可实现流媒体的 直播 和 点播 ,主要应用在iOS系
统,为iOS设备(如iPhone、iPad)提供音视频直播和点播方案。
HLS 点播,基本上就是常见的分段HTTP点播,不同在于,它的分段非常小。
相对于常见的流媒体直播协议,例如RTMP协议、RTSP 协议、MMS 协议等,HLS 直播最大的不同在于,直播客户端获取到的,并不是一个完
整的数据流。
HLS 协议在服务器端将直播数据流存储为连续的、很短时长的媒体文件(MPEG-TS格式),而客户端则不断的下载并播放这些小文件,
因为服务器端总是会将最新的直播数据生成新的小文件,这样客户端只要不停的按顺序播放从服务器获取到的文件,就实现了直播。
由此可见,基本上可以认为,HLS 是以>>点播的技术方式来实现直播<<。由于数据通过 HTTP 协议传输,所以完全不用考虑防火墙或者代理的问
题,而且分段文件的时长很短,客户端可以很快的选择和切换码率,以适应不同带宽条件下的播放。不过HLS的这种技术特点,决定了它的
延迟一般总是会高于普通的流媒体直播协议。
// iOS和 Android 都天然支持这种协议,配置简单,直接使用 video 标签即可

***VLS :是一种流服务器,专门用来解决流的各种问题,它也具有一些 VLC 的特征。 videolan 作为服务器可以输出http,rtp,rtsp的流。


原则上,RTSP,RTMP,HTTP 都可以做直播和点播,但一般做 直播用 RTSP和RTMP,做点播用 HTTP。我们选用的是RTMP协议。
  • 11
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: SRS(Simple Realtime Server)是一个开源的流媒体服务器,它支持在Windows操作系统上运行。SRS是由中国开发人员集体开发维护的,是一个高性能、稳定可靠的流媒体服务器软件。 SRS服务器支持的流媒体协议包括RTMP、HTTP-FLV和HLS,这些协议使得SRS可以向客户端提供实时的音视频流媒体服务。RTMP(Real-Time Messaging Protocol)是一种实时消息传输协议,常用于音视频的实时传输;HTTP-FLV(HTTP Dynamic Streaming)是一种基于HTTP的动态流媒体传输协议,常用于Web端的音视频播放;HLS(HTTP Live Streaming)是一种苹果公司提出的流媒体传输协议,能够实现自适应流媒体传输。 SRS流媒体服务器支持的功能丰富,包括录制、转码、推、拉直播、点播等。用户可以通过SRS服务器进行音视频的录制,并将录制的内容转码成不同的格式和分辨率。同时,用户可以通过推功能将音视频内容推送到SRS服务器上,并通过拉功能从SRS服务器上获取音视频内容,实现实时的音视频传输。 SRS服务器具有高性能和稳定可靠的特点。它采用异步事件驱动的方式来处理客户端的请求,能够在高并发条件下保持低延迟的传输。此外,SRS服务器还具备自适应码率调整和优化网络质量的能力,可以根据客户端的网络环境实时调整音视频的码率和分辨率,保证音视频的传输质量和用户的观看体验。 总之,SRS流媒体服务器是一个功能强大的开源软件,适用于Windows操作系统,可用于搭建高性能、稳定可靠的流媒体传输平台。它具有丰富的功能和灵活的配置选项,可以满足不同用户的需求。 ### 回答2: SRS(Simple-RTMP-Server)是一个开源的流媒体服务器,它可以在Windows操作系统上运行。 SRS基于RTMP协议,可以处理来自客户端的音频、视频和数据,并将其传递给观众。它支持多种客户端平台,包括Flash播放器、HTML5浏览器以及移动端应用。 在Windows上安装和配置SRS服务器相对简单。首先,您需要下载适用于Windows的SRS软件,并将其解压缩到您的计算机。然后,您可以通过修改SRS配置文件来自定义服务器设置,比如监听端口、带宽限制和流媒体的存储路径等。 安装和配置完成后,您可以启动SRS服务器,它将等待客户端的连接请求。一旦有客户端连接到服务器,SRS将处理客户端的请求并将流媒体数据发送到客户端。 SRS服务器具有强大的功能,可以支持许多高级特性,如动态切换和录制、水印添加、防盗链和推鉴权等。此外,SRS还提供了管理界面和统计数据,方便您监控和管理服务器的性能和状态。 总结而言,SRS是一个功能强大、易于安装和配置的流媒体服务器,它可以在Windows操作系统上运行,帮助您实现高质量的音视频直播和点播。无论是搭建在线直播平台、视频会议系统还是媒体资源分发,SRS都是一个不错的选择。 ### 回答3: SRS流媒体服务器是一款基于Windows平台的开源流媒体服务器软件。它可以将音视频文件、摄像头、屏幕分享等数据转化为流媒体格式,通过网络传输给用户进行实时播放或点播。 SRS流媒体服务器具有以下几个特点。首先,它支持多种流媒体传输协议,例如RTMP、RTSP、HLS等,可以满足不同终端设备的播放需求。其次,SRS提供了丰富的配置选项和管理接口,用户可以根据实际需求进行灵活的配置和管理。再次,SRS具备较好的性能和稳定性,能够支持大规模的并发用户访问。 使用SRS流媒体服务器可以搭建一个完整的音视频直播系统或点播系统。首先,需要安装和配置SRS服务器软件,并设置相关流媒体传输协议和编码参数。然后,可以通过SRS提供的推器将音视频源推送到服务器上。最后,用户可以通过浏览器、移动设备或其他终端设备连接到服务器,进行实时播放或点播。 对于Windows平台的用户来说,SRS流媒体服务器提供了简单易用的安装程序,并且具备较好的兼容性和稳定性。可以通过官方网站或开源社区获取SRS的最新版本,并获得相应的文档和教程进行学习和使用。通过SRS流媒体服务器,用户可以构建一个高效、可靠的流媒体传输平台,满足各类音视频应用的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值