流媒体协议RTMP,RTSP与HLS有什么不同?
来源:互联网 发布:台达plc编程软件安装 编辑:程序博客网 时间:2024/05/18 01:59
HLS (HTTP Live Streaming)
Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件。
常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议,这二种基本是完全不同的东西,目前比较方便又好用的是用 HTTP 渐进下载方法。在这个中 apple 公司的 HTTP Live Streaming 是这个方面的代表。它最初是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的流.现在见到在桌面也有很多应用了,HTML5是直接支持这个。
但是HLS协议的小切片方式会生成大量的文件,存储或处理这些文件会造成大量资源浪费。如果要实现数天的时移,索引量将会是个巨额数字,并明显影响请求速度。因此,HLS协议对存储I/O要求相当苛刻。对此,也有公司提出了非常好的解决方案。
新型点播服务器系统,独创了内存缓存数据实时切片技术,颠覆了这种传统实现方法,从根本上解决了大量切片的碎片问题,使得单台服务器的切片与打包能力不再是瓶颈。其基本原理如下:
不将TS切片文件存到磁盘,而是存在内存当中,这种技术使得服务器的磁盘上面不再会有“数以吨计”的文件碎片,极大减少了磁盘的I/O次数,延长了服务器磁盘的使用寿命,极大提高了服务器运行的稳定性。同时,由于使用这种技术,使得终端请求数据时直接从服务器的内存中获取,极大提高了对终端数据请求的反应速度,优化了视频观看体验。
RTSP协议,这应该是实时性最好的了,如果要想实时性要求很高,比如0.5s以内,这个是不错的选择。前阵子模仿spydroid写了个建议的rtsp 服务器,其实就是options,describe,setup,play,pause,teardown这几步了,这个协议用的最广泛,网上介绍也比较 多。要想真正深入了解rtsp协议,c++语言功底好的可以查看live555 。
RTMP协议,自己最近研究的,如果有兴趣,可以看看我的其他文章。
纯HLS(m3u8)跨平台技术(HLSPlayer,m3u8Player跨平台多终端)
1. 这是一款支持m3u8地址在PC电脑端和移动端(安卓Android,苹果IOS等)播放视频的播放器。
2. 注意:本实例仅支持hls(m3u8)地址,不支持flv,mp4,mov,f4v,3gp格式,这点请特别注意!
3. 本实例做了跨平台的适配, 支持PC终端,Android安卓终端,iOS苹果终端,WP终端的正常播放。
* 提示1:本实例请在IIS/Apache等网站环境下测试;
* 提示2:本实例仅支持hls(m3u8)/不支持flv,mp4,f4v;
* 提示3:本实例要求用户自身有实现HLS技术,即输出了HLS(m3u8)地址,比如用wowza流媒体软件输出;
纯HLS(m3u8)跨平台技术(HLSPlayer,m3u8Player跨平台多终端)
<!--HLSPlayer代码开始--><div class="video" id="HLSPlayer" ><SCRIPT LANGUAGE=JavaScript><!--/** HLSPlayer参数应用=======================* @param {Object} vID ID* @param {Object} vWidth 播放器宽度设置* @param {Object} vHeight 播放器宽度设置* @param {Object} vPlayer 播放器文件* @param {Object} vHLSset HLS配置* @param {Object} vPic 视频缩略图* @param {Object} vCssurl 移动端CSS应用文件* HLSPlayer参数应用=======================* 提示1:本实例请在IIS/Apache等网站环境下测试* 提示2:本实例仅支持hls(m3u8)/不支持flv,mp4,f4v*/var vID = "";var vWidth = "100%"; //播放器宽度设置var vHeight = 400; //播放器宽度设置var vPlayer = "HLSplayer.swf?v=1.5"; //播放器文件var vHLSset = "HLS.swf"; //HLS配置var vPic = "images/start.jpg"; //视频缩略图var vCssurl = "images/mini.css"; //移动端CSS应用文件//HLS(m3u8)地址,适配PC,安卓,iOS,WPvar vHLSurl = "http://demo.cuplayer.com:8011/hls2-vod/test.mp4.m3u8";//--></SCRIPT><script type="text/javascript" src="js/hls.min.js?rand=3396fsa778"></script></div><!--HLSPlayer代码结束-->
- 流媒体协议RTMP,RTSP与HLS有什么不同?
- 流媒体协议:HLS与RTMP ,RTSP对比
- 流媒体协议(HLS/RTSP/RTMP)比较
- 流媒体之HLS, RTSP, RTMP
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- 流媒体协议引见(rtp/rtcp/rtsp/rtmp/mms/hls)
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- 黑马程序员——java基础--面向对象概述、构造函数
- oracle创建表空间,查看表空间使用情况
- php图像处理函数大全
- IOS 7 Xcode 5 免IDP证书 真机调试
- 用js将文档中className有“test”的id标签背景颜色设为黄色
- 流媒体协议RTMP,RTSP与HLS有什么不同?
- 三分钟教你学Git(十二) 之 fast-forward
- HTML语义化
- HOOK钩子技术3 IATHook
- 正则表达式集(regular expression)
- HTML5语义化标签详细介绍教程
- DLL编写教程——从最基础的东西说起
- hadoop源码远程debug
- 黑马程序员--Java之IO(输入输出)(下)04