打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
实时流煤体协议概述

                             

流媒体传输类型:

       流媒体传输分两类:实时流媒体 顺序流媒体

 

       一般来说,如果视频为现场直播,或使用专用的流媒体服务器,或应用如RTSP等专用实时协议,即为实时流媒体传输;

       如果使用普通的HTTP服务器,将音视频数据以从头至尾方式发送,则为顺序流媒体传输。

 

       实时流传输既可传输实况直播,也可传输完整的音视频文件(专用协议流式)。

       顺序流媒体不可用于实况直播,仅能传输完整的音视频文件(HTTP渐进式)。

 

区别

实时流

顺序流

音视频数据源

实时从录制设备上采集,

或(使用专用协议传输的)文件

可播放的音视频文件

服务器类型

专用流媒体服务器,如:

QuickTime Streaming Server

Real Server

Windows Media Server

Flash Media Server

普通的HTTP服务器,

FTP服务器

传输协议

专用协议

HLSRTMP

一般的HTTP协议,

与传输网页的协议相同

跳播

可随机访问任意片段

在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的部分

 

主流流媒体协议

主流的流媒体协议主要有: RTMPHLS RTSP等。

 

区别

RTMP

HLS

RTSP

全称

Real Time Message Protocol

Http Live Stream

Real Time Streaming Protocol

上层协议

TCPHTTP

HTTP

RTPRTCP

软件模型

C\S

B\S

C\S

研发主要来自

Adobe

Apple

Microsoft

针对客户端

支持Flash类产品

的浏览器

支持HTML5的浏览器

支持HTML5的浏览器

播放器

视频格式要求

FLV F4V

MP4

服务器要求

专用Flash服务器

Flash Media Server

Red5

普通HTTP服务器

专用RTSP流媒体服务器

实况直播要求

专用编码器上传

Flash Media Encoder

专用编码器上传

Apple开发工具

与服务器相关,

自定义上传

文件播放要求

Flv F4V文件即可,

服务器会自动分解为

F4f 数据文件

f4x索引文件

Ts数据文件,

M3u8索引文件

与服务器相关,

与播放器相关

 

协议原理

一,http渐进式下载原理(仅支持文件播放)

http边下载边播放,严格意义上讲,不是直播协议。他的原理是先下载文件的基本信息,音频视频的时间戳,再下载音视频数据,以播放mp4为例,先下载文件头,根据文件头指引下载文件尾,然后再下载文件的音视频数据。

播放方式:浏览器调用系统播放器播放;

               使HTML5Video标签,浏览器支持直接播放。

 

二,苹果支持的hls原理(实况直播 文件点播)

服务器端有三个组件:

其一:编码器(media encoder, 用于将设备输出的格式转为H264AAC,并封装为MPEG-2传输流;

其二:流分段器(stream segmenter, 用于实况直播,将MPEG-2流分割为多个小片段后输出;

其三:文件分段器(file segmenter, 用于文件点播,将文件分隔为多个小片段后输出;

分发原理

数据经以上三部分处理后为.ts文件(媒体数据)及.m3u8文件(媒体数据索引)存在于服务器之上。 客户端访问.m3u8后按索引下载.ts文件进行播放。

 

下面为某m3u8文件内容:

#EXTM3U

#EXT-X-TARGETDURATION:30

#EXTINF:30,

http://192.169.1.176/sample_100k-1.ts

#EXTINF:30,

http://192.169.1.176/sample_100k-2.ts

#EXTINF:30,

http://192.169.1.176/sample_100k-3.ts

#EXT-X-ENDLIST

根据这个文件播放器会依次下载sample_100k-1.tssample_100k-2.tssample_100k-3.ts

 

    HLS的文件点播

1.使用苹果开发工具“文件分段器”将基于H264和AAC或MP3的MPEG4分段,

生成.ts和.m3u8文件,存储于普通服务器上。

2.苹果应用程序或苹果浏览器可以通过访问.m3u8文件获取到索引,

并下载所需要的数据片段来播放。

    HLS的实况直播

1.  使用苹果开发工具“流分段器”将基于H264AACMP3MPEG2传输流分段,

可使用其它工具将MPEG4音视频文件加载到MPEG2传输流当中。

生成.ts.m3u8文件,存储于普通服务器上。

              2.   

 

三,AdobeFlash 支持的RTMP协议(支持文件播放 和 实况直播)

必须采用Flash服务器FMS(FlashMedia Server) RED5.

FMS的文件点播

1.      服务器将F4v Flv文件转化为RTMP流或HTTP

2.      客户端获取RTMP流,提取相应的Flv F4v文件片段进行播放。

 

FMS的实况直播

1.                  设备端将数据转化为F4v片段,通过RTMP流上传到服务器

2.                  服务器转发RTMP流到客户端

3.                  客户端获取RTMP流,提取数据片段播放。

 

四,RTSP协议

RTSP为纯粹的传输控制协议。

RTSP协议本身不与它负载的媒体数据相关。

RTSP协议需要自定义客户端向服务器发送RTSP命令。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
srs之深入浅出看流媒体
音视频开发——通信直播协议和视频推流丨RTMP-RTSP
ios流媒体直播整个框架介绍(HLS、RTSP)
在流媒体系统中应用的HLS协议
最全流媒体协议详细总结介绍(RTP/RTCP/RTSP/RTMP/MMS/HLS/HTTP/ HTTP
功能最全面的直播APP搭建流程!你一定要看
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服