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 ...
随机推荐
- 文件流:"fopen","fclose",“ftell”"fseek","fgets","fprintf" ,“feof”,"fwrite","fread"
char const* filename="D:/hello.txt"; 路径名使用的是“/”或者使用 转义字符“\\”: "fopen", FILE *fp= ...
- asp.net显示评论的时候为几天前的格式
自己做的一个小项目实现的功能,做个记录先~ 效果如图: 代码如下: public static class TimerHelper { public static string GetTimeSpan ...
- 2017.7.21 Linux中ELK服务后台运行方式
通过 2017.7.18 linux下ELK环境搭建 搭建好服务于之后,一旦按下Ctrl+C或者退出登录会话,服务的进程就随之停止了.要长期在后台运行此程序,有几种方式: 1 nohup 输入Ctrl ...
- win10 如何配置 java jdk1.8环境变量(2017.8.17 )jdk1.8.0_144
win10 如何配置 java jdk 环境变量 2017.8.17 本篇还适用于 windows server 2012. windows server 2014+ 一.安装 下载 jdk 64位 ...
- Linux Oracle数据库的安装
// 注释 # root用户 $oracle用户 1. 关闭安全措施 # chkconfig iptables off // 永久关闭防火墙 # serviceiptables stop // ...
- Linux组件封装(一)中互斥锁MutexLock的封装
本文对Linux中的pthread_mutex_t做一个简易的封装. 互斥锁主要用于互斥,互斥是一种竞争关系,主要是某一个系统资源或一段代码,一次做多被一个线程访问. 条件变量主要用于同步,用于协调线 ...
- 基于Android的rgb七彩环颜色采集器
代码地址如下:http://www.demodashi.com/demo/11892.html 一.前言. 在大学期间,看到这个rgb灯,蛮好奇的,这么漂亮的颜色采集,并且可以同步到设备rbg灯颜色, ...
- ios 缩放图片(平铺)
//缩放图片(平铺) - (UIImage *)resizeImage:(NSString *)imgName { UIImage *bgImage = [UIImage imageNamed:im ...
- iOS 获取LaunchImage启动图
iOS开发中,LaunchImage图片会根据手机机型的不同,自动匹配对应的图片,而我们如果想要拿到对应的图片,无法直接通过图片的名字获取该启动图,而需要通过以下方式 + (NSString *)ge ...
- 快速自检电脑是否被黑客入侵过(Linux版)
前言 严谨地说, Linux只是一个内核, `GNU Linux`才算完整的操作系统, 但在本文里还是用通俗的叫法, 把`Ubuntu`,`Debian`,`RedHat`,`CentOS`,`Arc ...