hls

HTTP Live Streaming直播(iOS直播)技术分析与实现

旧巷老猫 提交于 2019-12-19 03:56:58
不经意间发现,大半年没写博客了,自觉汗颜。实则2012后半年,家中的事一样接着一样发生,实在是没有时间。快过年了,总算忙里偷闲,把最近的一些技术成果,总结成了文章,与大家分享。 前些日子,也是项目需要,花了一些时间研究了HTTP Live Streaming(HLS)技术,并实现了一个HLS编码器HLSLiveEncoder,当然,C++写的。其功能是采集摄像头与麦克风,实时进行H.264视频编码和AAC音频编码,并按照HLS的协议规范,生成分段的标准TS文件以及m3u8索引文件。通过我的HLSLiveEncoder和第三方Http服务器(例如:Nginx),成功实现了HTTP Live Streaming直播,并在iphone上测试通过。我就把这当中的一些收获写在这里。 HLS技术要点分析 HTTP Live Streaming(HLS)是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议,可实现流媒体的直播和点播,主要应用在iOS系统,为iOS设备(如iPhone、iPad)提供音视频直播和点播方案。HLS点播,基本上就是常见的分段HTTP点播,不同在于,它的分段非常小。要实现HLS点播,重点在于对媒体文件分段,目前有不少开源工具可以使用,这里我就不再讨论,只谈HLS直播技术。 相对于常见的流媒体直播协议,例如 RTMP协议 、RTSP协议、MMS协议等

RTSP转RTSP、RTMP、HLS、FLV安防摄像头网页无插件直播流媒体服务器EasyNVR在IE浏览器下的 pointer-events- none前端兼容性调试

ⅰ亾dé卋堺 提交于 2019-12-16 03:09:45
背景说明 由于互联网的飞速发展,传统安防摄像头的视频监控直播与互联网直播相结合是大势所趋。传统安防的直播大多在一个局域网内,在播放的客户端上也是有所限制,一般都需要OCX Web插件进行直播。对于安防监控的视频直播需求,根据不同的业务需求,对视频直播需求也不尽相同。针对这样的行业大环境背景,立足于开源社区的EasyDarwin团队推出了EasyNVR、EasyDSS等系列产品。而对于安防监控的视频直播需求,对延时要求都比较高。 IE浏览器下的pointer-events- none问题 在我们调试EasyNVR的web页面过程中,力求的都是一个播放效果的、功能的展示。对于兼容性也有注意,但有些细小的部分还是难免有所疏忽。内部测试发现:由于我们是流媒体的实时视频直播,在web的直播页面中,我们都是屏蔽、删除播放器的暂停按钮、功能的。我们的web页面播放rtmp、hls使用的是videojs,因此,我们需要通过设置css属性来完成这个需求。 发现问题 屏蔽单机页面暂停 .video-js .vjs-tech { pointer-events: none; } 这个属性设置 很好的在chrome中完成了需求。但是在IE中似乎就没有能够完成自己应有的任务了。 隐藏暂停、开始按钮 .vjs-progress-control,.vjs-remaining-time-display{

北邮ivi测试频道 26个高清频道 IPv4 有PC端和移动端地址

馋奶兔 提交于 2019-12-13 02:41:43
北邮ivi测试 http://ivi.bupt.edu.cn/ 有PC端和移动端,手机可以直接访问网址 附提取地址方便导入机顶盒 CCTV-1高清 http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8 CCTV-3高清 http://ivi.bupt.edu.cn/hls/cctv3hd.m3u8 CCTV-5高清 http://ivi.bupt.edu.cn/hls/cctv5hd.m3u8 CCTV-5+高清 http://ivi.bupt.edu.cn/hls/cctv5phd.m3u8 CCTV-6高清 http://ivi.bupt.edu.cn/hls/cctv6hd.m3u8 CCTV-8高清 http://ivi.bupt.edu.cn/hls/cctv8hd.m3u8 CHC高清电影 http://ivi.bupt.edu.cn/hls/chchd.m3u8 北京卫视高清 http://ivi.bupt.edu.cn/hls/btv1hd.m3u8 北京文艺高清 http://ivi.bupt.edu.cn/hls/btv2hd.m3u8 北京体育高清 http://ivi.bupt.edu.cn/hls/btv6hd.m3u8 北京纪实高清 http://ivi.bupt.edu.cn/hls/btv11hd.m3u8 湖南卫视高清

RTSP转RTSP、RTMP、HLS、FLV安防摄像头网页无插件直播流媒体服务器EasyNVR在IE浏览器下的 pointer-events- none前端兼容性调试

青春壹個敷衍的年華 提交于 2019-12-09 15:16:39
背景说明 由于互联网的飞速发展,传统安防摄像头的视频监控直播与互联网直播相结合是大势所趋。传统安防的直播大多在一个局域网内,在播放的客户端上也是有所限制,一般都需要OCX Web插件进行直播。对于安防监控的视频直播需求,根据不同的业务需求,对视频直播需求也不尽相同。针对这样的行业大环境背景,立足于开源社区的EasyDarwin团队推出了EasyNVR、EasyDSS等系列产品。而对于安防监控的视频直播需求,对延时要求都比较高。 IE浏览器下的pointer-events- none问题 在我们调试EasyNVR的web页面过程中,力求的都是一个播放效果的、功能的展示。对于兼容性也有注意,但有些细小的部分还是难免有所疏忽。内部测试发现:由于我们是流媒体的实时视频直播,在web的直播页面中,我们都是屏蔽、删除播放器的暂停按钮、功能的。我们的web页面播放rtmp、hls使用的是videojs,因此,我们需要通过设置css属性来完成这个需求。 发现问题 屏蔽单机页面暂停 .video-js .vjs-tech { pointer-events: none; } 这个属性设置 很好的在chrome中完成了需求。但是在IE中似乎就没有能够完成自己应有的任务了。 隐藏暂停、开始按钮 .vjs-progress-control,.vjs-remaining-time-display{

nginx rtmp HLS直播

别等时光非礼了梦想. 提交于 2019-12-06 22:36:55
二、安装Nginx相关模块 1.环境准备 yum install –y pcre pcre-devel yum install –y zlib zlib-devel yum -y install openssl openssl-devel 2.下载nginx及rtmp模块 wget http://nginx.org/download/nginx-1.6.2.tar.gz tar xzvf nginx_1.6.2.tar.gz git clone git://github.com/arut/nginx-rtmp-module.git 3.编译nginx-rtmp ./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_stub_status_module 如果需要安装pcre,则 yum -y install pcre-devel openssl openssl-devel make make install 安装完成后,nginx位于/usr/local/nginx/sbin目录下,配置文件nginx.conf在/usr/local/nginx/conf目录下 ++++++++测试nginx是否安装正确+++++++++++ #cd /usr/local/nginx #.

rtmp与hls流媒体服务器搭建:ubuntu下Nginx搭建初探与rtmp-module的添加

醉酒当歌 提交于 2019-12-06 15:27:15
关键词:Nignx(http服务器);rtmp,hls(流媒体服务) 前言:感谢开源,感谢战斗民族。现在在做流媒体服务的一些工作,流媒体服务器搭建的网上教程多入牛毛,但是细细查看,发现很多同志贴上来的教程都有些许问题,还有一些是爬别人的数据得来的,排版上也有问题,让新手无所适从。本文也是通过翻看一些优质的博文得到的这篇分享。以下分享的网址就是引用的博文,安利一下。 1. http://redstarofsleep.iteye.com/blog/2123752 2. http://blog.csdn.net/cjsafty/article/details/9108587 3. http://blog.chinaunix.net/uid-20639775-id-154556.html 教程: 1. 下载nginx, openssl, pcre, zlib到一个目录下,如(/home/user),用wget命令,具体可查看下面的各种版本。 nginx-1.8.0.tar.gz openssl-1.0.1i.tar.gz pcre-8.37.tar.gz zlib-1.2.8.tar.gz 2. tar解压。 tar -zxvf nginx-1.8.0.tar.gz tar -zxvf openssl-1.0.1i.tar.gz tar -zxvf pcre-8.37.tar.gz tar

高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器RTMP推流服务器EasyDSS遇到easydss: [emerg] getpwnam(“nobody”) failed错误的排查方案

痞子三分冷 提交于 2019-12-06 10:27:26
背景分析 今年,“5G+8K”高清视频等创新应用首次亮相。在广州、深圳两地的5G规模试验外场,广东移动在广州珠江边和深圳深南大道分别架设了360度高清摄像头,代表们在北京就能通过VR眼镜等设备看到家乡的景观,还能远程操控摄像头,实时调整视角、缩放画面,远处的画面放大之后也清晰可见。5G视频传输的应用成果迭出,设置掀起了一波“5G视频直播热”。为应对“5G+8k”技术的应用,青犀团队也不断创新,EasyDSS流媒体服务器率先在5K技术上实践。 EasyDSS流媒体服务器具有高效的视频管理功能,支持一站式的上传、转码、直播、回放、嵌入、分享功能,具有多屏播放、自由组合、接口丰富等特点。 EasyDSS遇到getpwnam( xxxxx )错误 在运行EasyDSS过程中,不少开发者会因为操作不当,或者缺少文件而导致服务器运行失败,也有开发者以及用户反映运行easydss for linux会遇到easydss: [emerg] getpwnam(“nobody”) failed错误,导致easydss无法运行。 分析问题 我们使用getpwnam这个函数来获取nobody账户的账户信息,并且我们默认任务这个nobody属于nobody用户组。 这里主要分为两种情况 1、在部分Linux发行版中默认无nobody用户组(如:ubuntu 14.04.1 LTS)

nginx上搭建HLS流媒体服务器

房东的猫 提交于 2019-12-05 21:29:09
简介:HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体 网络传输协议。 是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP 的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速 率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包 含元数据的extended M3U (m3u8) playlist文件,用于寻找可用的媒体流。 HLS只请求基本的HTTP报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防 火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。 此协议详细内容请参考apple官方网站: https://developer.apple.com/resources/http-streaming/ 有两种方式搭建HLSserver, 一种是利用apple SDK, 一种是利用adobe 的fms,4.5版本支持hls,参考, http://www.adobe.com/products/flash-media-streaming/features._sl_id-contentfilter_sl_featuredisplaytypes_sl_new

编译安装hls协议切片工具 m3u8-segmenter

耗尽温柔 提交于 2019-12-04 08:46:21
操作系统:Ubuntu16.04.4 amd64 安装 http://m3u8-segmenter.inodes.org/ 方式安装m3u8-segmenter报错,于是有了这篇文章 apt install aptitude apt-add-repository ppa:johnf-inodes/m3u8-segmenter aptitude update apt-get install m3u8-segmenter 其中在更新下载源的过程中报错: root@ubuntu:/home/tomcat# aptitude update Hit http://mirrors.aliyun.com/ubuntu xenial InRelease Hit http://mirrors.aliyun.com/ubuntu xenial-updates InRelease Hit http://mirrors.aliyun.com/ubuntu xenial-backports InRelease Hit http://mirrors.aliyun.com/ubuntu xenial-security InRelease Hit http://archive.ubuntu.com/ubuntu xenial InRelease Ign http://ppa.launchpad.net/johnf

集RTMP、HLS、FLV,、WebSocket 于一身的网页直播/点播播放器方案EasyPlayer.js实现倍速回放方法

荒凉一梦 提交于 2019-12-03 20:08:45
需求分析 一般对于一个播放器,应该支持如下几种显示模式: 等比例,最大化区域显示,不裁剪 等比例,最大区域显示,裁剪 拉伸显示,铺满全屏 要实现这几种显示模式。其实只要对播放控件的布局进行些许调整即可。那EasyPlayer是怎么实现的呢? EasyPlayer.js 支持m3u8播放; 支持HTTP-FLV播放; 支持RTMP播放; 支持直播和点播播放; 支持播放器快照截图; 支持点播多清晰度播放; 支持全屏或比例显示; 自带的flash支持极速和流畅模式; 自带的flash支持HTTP-FLV播放; 自动检测IE浏览器兼容播放; EasyPlayer.js实现倍速回放 提出问题 最近有开发者咨询EasyPlayer.js想要结合钉钉使用。在集成开发的时候播放实时流没有问题,但是开发者想集成回放的功能,要求在回放的时候实现倍速回放、任意拖拽进度。 解决问题 很明确这些功能我们现在已经集成有了,只需要简单修改一个参数就可以实现:live=true是直播模式,live=false是点播模式。 下面给大家总结一下其它参数的说明列表如下: 来源: https://www.cnblogs.com/TSINGSEE/p/11806160.html