EasyDSS视频点播服务器实现多分辨率/多码率无缝切换的办法
EasyDSS流媒体音视频直播与点播服务器软件,是一套提供一站式的转码、点播、直播、检索、回放、录像下载服务的高性能RTMP/HLS/HTTP-FLV流媒体服务,极大地简化了流媒体相关业务的开发和集成的工作。
其中,点播功能主要包含:上传、多分辨率转码、分发。直播功能,主要包含:直播、录像、检索、回放、下载等,直播支持RTMP输入,RTMP/HLS/HTTP-FLV的分发同步输出;录像支持自定义保存时长、录像天数、检索及下载。提供丰富的二次开发接口,基于JSON的封装及HTTP调用。提供播放鉴权、推流鉴权等安全保证。提供用户及相关权限管理配置。
在流媒体音视频点播服务当中,我们经常会遇到几种场景需求:
- 视频网站、党政宣传门户
- 在线教育、精品课堂
- 短视频点播
EasyDSS视频点播服务器的多码率/多分辨率/多清晰度切换功能
在之前的博客《EasyDSS视频点播服务器实现的多码率点播功能的说明》EasyDSS视频点播服务器已经加入了单个视频文件多分辨率切片点播的功能,今天主要捋一下在调用EasyDSS的多分辨率、多清晰度点播切换的时候,如果控制画面的切换,尽可能地去做到无缝切换、无感知切换的效果,当有EasyDSS的用户在“EasyDSS流媒体服务器”QQ群 提出这个问题的时候,我第一个想法就是我们在做EasyNVR无插件直播和录像的时候,对录像回放时间轴的效果:
这里的时间轴可以任意Seek录像,这里的录像模式也跟点播的视频结构是一样的,都是采用的HLS的方式,那么EasyPlayer.js播放器带有的播放Seek接口,就可以直接应用于EasyDSS点播服务器的多分辨率、多清晰度的切换中来:
- 第一步:当我们选择分辨率切换时,再菜单切换的瞬间,上层控制脚本需要记住当前播放的时间点t1;
- 第二步:暂停当前播放进度,例如暂停播放http://demo.easydss.com:10080/vod/720p.m3u8;
- 第三步:播放地址切换到新的分辨率,并带上seek的时间,例如:http://demo.easydss.com:10080/vod/1080p.m3u8?time=t1;
- 第四步:启动播放;
那么整个过程,我们就在很快的时间内,实现了分辨率、清晰度的切换,给用户带来一个非常好的感官效果;
当然,我们也可以采用m3u8自带的多码率格式形式,在一个m3u8中即可实现多种分辨率的切换,而不需要任何暂停的过程,效果达到腾讯视频中视频清晰度切换的效果,例如:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1280000
http://example.com/low.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2560000
http://example.com/mid.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=7680000
http://example.com/hi.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=65000,CODECS="mp4a.40.5"
http://example.com/audio-only.m3u8
三. EasyDSS点播服务器搭建资源
【点播版本在线演示:http://demo.easydss.com:10080/login.html?p=3】
【直播版本在线演示:http://demo.easydss.com:10080/login.html?p=1】
【旗舰版本在线演示:http://demo.easydss.com:10080/login.html】
【在线接口:http://demo.easydss.com:10080/apidoc/】
获取更多信息
QQ交流群:560148162
WEB:www.easydss.com
Copyright © EasyDSS.com 2012-2018
EasyDSS视频点播服务器实现多分辨率/多码率无缝切换的办法的更多相关文章
- EasyDSS视频点播服务器实现的多码率点播功能的说明
EasyDSS流媒体音视频直播与点播服务器软件,是一套提供一站式的转码.点播.直播.检索.回放.录像下载服务的高性能RTMP/HLS/HTTP-FLV流媒体服务,极大地简化了流媒体相关业务的开发和集成 ...
- 采用EasyDSS视频点播服务器搭建企业私有化的音视频多媒体、短视频、视频服务网站与管理后台
最近有越来越多的用户咨询关于视频点播的功能,主要需求就是集中于如何搭建专属的私有化视频点播平台: 实现的功能类似于,对应自身拥有的视频文件,需要发布到一个网站,其他用户都可以实现点播观看. 针对于类似 ...
- EasyDSS流媒体服务器软件(支持RTMP/HLS/HTTP-FLV/视频点播/视频直播)-正式环境安装部署攻略
EasyDSS流媒体服务器软件,提供一站式的转码.点播.直播.时移回放服务,极大地简化了开发和集成的工作. 其中,点播功能主要包含:上传.转码.分发.直播功能,主要包含:直播.录像, 直播支持RTMP ...
- ffmpeg+EasyDSS流媒体服务器实现稳定的rtmp推流直播
本文转自EasyDarwin团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/74783269 需求 在做EasyDSS开发时,总 ...
- Nginx搭建flv视频点播服务器
Nginx搭建flv视频点播服务器 前一段时间使用Nginx搭建的多媒体服务器只能在缓冲过的时间区域内拖放, 而不能拖放到未缓冲的地方. 这就带来了一个问题: 如果视频限速的速率很小, 那么客户端观看 ...
- Windows环境下用jwplayer+Nginx搭建视频点播服务器
flv视频可以采用两种方式发布: 一.普通的HTTP下载方式 二.基于Flash Media Server或Red5服务器的rtmp/rtmpt流媒体方式. 多数知名视频网站都采用的是前一种方式. 两 ...
- EasyDSS流媒体服务器Linux emerg getpwnam("xxx") failed解决办法
本文转自EasyDarwin开源团队Alex的博客:http://blog.csdn.net/cai6811376/article/details/73770943 EasyDSS 流媒体服务器是什么 ...
- EasyDSS流媒体服务器出现no compatible source was found for this media问题的解决
在EasyDSS流媒体服务器的客户反馈中,我们遇到这样一个现象,在chrome中经常会出现RTMP/HLS流无法播放的问题: 这个问题复现的几率比较低,因为chrome禁止了flash的加载,这也从另 ...
- EasyDSS流媒体服务器软件支持HTTPS-启用https服务申请免费证书
EasyDSS流媒体服务器软件,提供一站式的转码.点播.直播.时移回放服务,极大地简化了开发和集成的工作. 其中,点播功能主要包含:上传.转码.分发.直播功能,主要包含:直播.录像, 直播支持RTMP ...
随机推荐
- this的四种绑定规则总结
一.默认绑定 1.全局环境中,this默认绑定到window 2.函数独立调用时,this默认绑定到window console.log(this === window);//true functio ...
- 初识Nginx及编译安装Nginx
初识Nginx及编译安装Nginx 环境说明: 系统版本 CentOS 6.9 x86_64 软件版本 nginx-1.12.2 1.什么是Nginx? 如果你听说或使用过Apache软件 ...
- android 小技巧
1. 模拟器横坚屏切换 ctrl + F11, ctrl + F12
- [Functional Programming] Transition State based on Existing State using the State ADT (liftState, composeK)
While sometimes outside input can have influence on how a given stateful transaction transitions, th ...
- PHP使用mysqli连接MySQL数据库
使用mysqli函数库连接MySQL,支持面向对象和面向过程两种方式: 1.面向对象的使用方式 建立一个连接 $db = new mysqli('localhost', 'root', '123456 ...
- Go语言格式化字符
https://github.com/polaris1119/The-Golang-Standard-Library-by-Example/blob/master/chapter01/01.3.md
- Git简明操作
我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...
- Linux 下Office 软件名称
Linux 下Office 软件名称
- 最简单的基于FFmpeg的移动端样例附件:Android 自带播放器
===================================================== 最简单的基于FFmpeg的移动端样例系列文章列表: 最简单的基于FFmpeg的移动端样例:A ...
- c#创建对象并动态添加属性
//动态类,可以作为基类被继承 dynamic backObj = new ExpandoObject(); //ExpandoObject 为密封类 backObj.image0 = IMGNAME ...