在youku和pplive上看视频时,用户可以可以选择“标清”、“高清”或“超清”,原理比较好理解,对于同一个片子,在视频库存储着标清、高清和超清3个码率的版本,3个版本均按照时长切割成相同数量的数据片,用户选择高清时,播放器就加载对应时长上的高清片,选择超清时就加载对应时长上的超清片。这样一来用户就可以根据自己当前的网络状况和视频流畅性选择合适的视频播放模式。但即便是这样,MP4协议还是有他的美中不足:
1、智能程度不够,不能对网络状况进行自检测,然后自动切换到当前环境下的最高码率;
2、缓冲时间长,在视频开始时,播放器会选择尽可能高的码率,导致加载第一个视频片得时间长,缓冲慢。
苹果公司的创意可不是吹出来的,他搞出来了一个HLS协议,其最大的特点是支持动态码率,具体实现情况如下:
1、同MP4一样,针对不同的码率将视频切片成若干个版本,比如350K,700K,1.5M;
2、将上述切片信息组织成一个profile文件;
3、视频启动时,播放器加载并解析profile文件;
4、播放器首先从最低码率(350K)的版本中加载第一片,由于码率低,数据量小,故缓冲时间短;
5、视频播放稳定后,播放器自动检测网络状况,若发现网络状况很好,则后续会选择高码率的视频片,慢慢过渡到最高码率;
同理,若发现网络状况不佳,则会慢慢过渡到低码率的视频版本。形象一点的说法就是,视频一会儿清晰一会儿不清晰,
但比较流程。
总的说来,HLS在优先考虑流畅性的前提下支持码率的自动切换。相比于MP4确实有其先进之处,但该协议对客户端播放器提出了更高的要求,需要播放器去解析profile信息,对于一些比较低端的客户端还是有些吃不消的。
最近项目中用到这个协议,更深入的东西有待研究。
分享到:
相关推荐
本文是HLS协议V7官方文档,英文原版,是HLS流媒体必须掌握的协议技术。
This document describes a protocol for ...本文描述了一种用于传输无界流的协议。 多媒体数据。它指定文件的数据格式和 服务器(发送者)和客户端要采取的行动 (接收器)的溪流。它描述了这个协议的7版本。
hls直播协议,描述hls工作原理、m3u8结构、ts流传输
常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议,这二种基本是完全不同的东西,目前比较方便又好用的使用 HTTP 渐进下载的方法。在这个中 apple 公司的 HTTP Live Streaming 是这个方面的...
HLS(Http live Streaming)流媒体协议。
此文章是苹果流媒体规范
android 系统上的streaming 关于HLS协议的介绍。介绍如何从网络段获取数据,如何自适应网速调节,如何解码渲染TS数据。
视频直播系统 2018第二章 流媒体hls协议详解
执行ffmpeg-20180424-d9706f7-win64-static\ffmpeg-20180424-d9706f7-win64-static\bin\目录下的startConvert.cmd即可开始转换。
而非私有协议,可以与主流系统对接,至少支持RTMP推流,RTMP拉流,RTSP拉流三种方式获取直播流,支持对获取的直播流再按照TS组播或者单播,RTMP,RTSP,HLS,TS OVER HTTP,FLV OVER HTTP等标准流媒体协议的方式进行...
本项目是由springboot构建的red5流媒体服务器。服务添加了hls支持http请求支持。red5_hls是对red5的1.1.1版本进行springboot整合,整合后直接使用...在red5项目原有的基础上可以进行hls协议的离线和在线视频推流观看
#资源达人分享计划#
该工具将允许您将WyzeCam中的MP4文件转换为HLS流。 然后,您可以将此流提供给Shinobi,motioneye或任何其他CCTV / NVR解决方案。 为什么? WyzeCam通过单独的官方固件支持RTSP流,与最新固件相比已经过时了。 而且...
介绍HLS网关的构建需要将协议从RTSP流更改为HLS,因为某些在线流服务或监视摄像机不提供HLS流,可以使用Android系统或Web浏览器中的ExoPlayer播放HLS流。 与该项目相同,另一个软件包提供了开箱即用的RTSP到HLS转换...
HLS M3U8协议文档(英文版)
2017年3月份发布的最新版HLS协议标准!HLS (HTTP Live Streaming)是Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件。
ip.addr ==111.229.231.225 //显示所有标或源地址是111.229.231.225的数据包http协议综合推流拉流wireshark抓包
RTMP+HLS跨平台直播视频代码 2015-12-1号写。 PC端使用RTMP协议直播视频,手机端采用HLS(m3u8)协议直播视频 安卓苹果任何浏览器都能访问直播 都能直播视频 。
国标GB28181转RTSP、RTMP和HLS管理平台,支持局域网和公网。