hls视频播放-基于ChPlayer

由于非Safari浏览器不能直接支持hls视频播放,使用Html5的video标签嵌入视频文件进行播放,由于video标签只支持MP4、WebM、Ogg等格式,

无法加载hls的m3u8格式文件,不能用在chrome,ie等浏览器上。

 基于ChPlayer 视频播放

经过查询资料发现ChPlayer,使用ChPlayer进行视频的播放,支持点播和直播,支持m3u8格式。

调用示例:

<script type="text/javascript">
   var videoObject = {
       logo: ‘chplayer‘, //设置logo,非必须
       container: ‘#video‘,//“#”代表容器的ID,“.”或“”代表容器的class
       variable: ‘player‘,//该属性必需设置,值等于下面的new chplayer()的对象
       video:‘examples01.mp4‘//视频地址
   };
   var player=new chplayer(videoObject);
</script>

 基于hls.js 视频播放

html5浏览器实现hls视频播放的兼容解决方案hls.js。兼容IE8/IE11/edge/Chrome/火狐。

github传送门:https://github.com/video-dev/hls.js

官方示例:

<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
<!-- Or if you want a more recent canary version -->
<!-- <script src="https://cdn.jsdelivr.net/npm/[email protected]"></script> -->
<video id="video"></video>
<script>
  var video = document.getElementById(‘video‘);
  if(Hls.isSupported()) {
    var hls = new Hls();
    hls.loadSource(‘https://video-dev.github.io/streams/x36xhzz/x36xhzz.m3u8‘);
    hls.attachMedia(video);
    hls.on(Hls.Events.MANIFEST_PARSED,function() {
      video.play();
  });
 }
 // hls.js is not supported on platforms that do not have Media Source Extensions (MSE) enabled.
 // When the browser has built-in HLS support (check using `canPlayType`), we can provide an HLS manifest (i.e. .m3u8 URL) directly to the video element throught the `src` property.
 // This is using the built-in support of the plain video element, without using hls.js.
 // Note: it would be more normal to wait on the ‘canplay‘ event below however on Safari (where you are most likely to find built-in HLS support) the video.src URL must be on the user-driven
 // white-list before a ‘canplay‘ event will be emitted; the last video event that can be reliably listened-for when the URL is not on the white-list is ‘loadedmetadata‘.
  else if (video.canPlayType(‘application/vnd.apple.mpegurl‘)) {
    video.src = ‘https://video-dev.github.io/streams/x36xhzz/x36xhzz.m3u8‘;
    video.addEventListener(‘loadedmetadata‘,function() {
      video.play();
    });
  }
</script>

原文地址:https://www.cnblogs.com/dpwow/p/9592302.html

时间: 2024-10-29 00:40:23

hls视频播放-基于ChPlayer的相关文章

hls视频播放-hls认知

1 背景 由于在项目中集成视频播放功能,集成已有的ocx控件涉及到浏览器的兼容性,网页体验不好,后经过查找,引入hls相关技术进行视频播放 2 HLS简介 维基百科的定义: HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议.是苹果公司QuickTime X和iPhone软件系统的一部分.它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些.当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样

ARM AVI 视频播放 基于 2440 freambuffer 绘制

AVI 文件格式 图解 整理: AVI 是一种容器,里面放什么格式的数据都可以 视频编码:格式可以是 H264, MPEG-4, MJPEG ,因为 MJPEG 比较简单,所以仅支持 MJPEG 的 avi 视频. 音频编码:PCM16, mp3 因为 PCM 编码,文件实在过大,所以仅支持 mp3 编码. 难点: 1, 由于ARM 内存比较小,不能使用 mmap ,不能一次性全部读进 内存. 2,mp3 音频解码,暂不支持. 使用 狸窝全能视频转换器进行格式转换

HLS协议解析

1. 综述 HLS(HTTP Live Streaming) 把整个流分成一个个小的基于 HTTP 的文件来下载,每次只下载一些.HLS 协议由三部分组成:HTTP.M3U8.TS.这三部分中,HTTP 是传输协议,M3U8 是索引文件,TS 是音视频的媒体信息. 关于 HLS 的详细介绍可参考: HTTP Live Streaming draft-pantos-http-live-streaming-18 HLS 是提供一个 m3u8 地址,Apple 的 Safari 浏览器直接就能打开 m

小玩流媒体播放——HLS流媒体点播系统

背景:前一段时间帮助一个朋友研究了下流媒体播放方面的知识,感觉挺好玩的.现在把浅薄的尝试和总结分享给大家. 一.HLS流媒体点播系统概述 HTTP Live  Streaming最初是苹果公司针对其iPhone.iPod.iTouch和iPad等移动设备而开发的流媒体协议,后来在桌面QuickTime播放器中也得到了应用.HTTP  Live  Streaming允许内容提供者通过普通Web服务器向上述客户端提供接近实时的音视频流媒体服务,包括直播和点播.HTTP  Live Streaming

HLS协议

HTTP Live Streaming(简称 HLS)是一个基于 HTTP 的视频流协议,由 Apple 公司实现,Mac OS 上的 QuickTime.Safari 以及 iOS 上的 Safari 都能很好的支持 HLS,高版本 Android 也增加了对 HLS 的支持.一些常见的客户端如:MPlayerX.VLC 也都支持 HLS 协议. HLS 协议基于 HTTP,非常简单.一个提供 HLS 的服务器需要做两件事: 编码:以 H.263 格式对图像进行编码,以 MP3 或者 HE-A

iOS AVKit音视频播放全面详解

公司项目中经常要用到音视频处理,也需要去定制一些东西,然后整理这些音视频处理就显得尤为重要!方便自己和广大朋友学习收藏! 以下参考连接特别重要: 苹果官方:AVKit API 苹果官方:AVFoundation API 苹果官方:AVFoundation 专题(开发指引.视频.文章.代码) 苹果官方:AVFoundation Programming Guide iOS 教你使用MP.AVPlayer.AVPlayerVC构建一个完整的视频播放器 iOS - AVPlayer 音视频播放 基于 A

移动直播技术秒开优化经验

现今移动直播技术上的挑战要远远难于传统设备或电脑直播,其完整的处理环节包括但不限于:音视频采集.美颜/滤镜/特效处理.编码.封包.推流.转码.分发.解码/渲染/播放等. 直播常见的问题包括 主播在不稳定的网络环境下如何稳定推流? 偏远地区的观众如何高清流畅观看直播? 直播卡顿时如何智能切换线路? 如何精确度量直播质量指标并实时调整? 移动设备上不同的芯片平台如何高性能编码和渲染视频? 美颜等滤镜特效处理怎么做? 如何实现播放秒开? 如何保障直播持续播放流畅不卡顿? 视频.直播等基础知识什么是视频

转: 移动直播技术秒开优化经验

移动直播技术秒开优化经验(含PPT) 2016-04-28 09:27 徐立,七牛创始合伙人兼产品副总裁,负责七牛直播云的整体研发,是国内 Go / Docker / Container 技术早期布道者,Go / Containers / Distributed Systems 技术的忠实爱好者和实践者.曾合著国内第一本 Go 语言图书<Go 语言编程>,翻译<Go 语言程序设计>. 现今移动直播技术上的挑战要远远难于传统设备或电脑直播,其完整的处理环节包括但不限于:音视频采集.美

[微信小程序直播平台开发]___(一)介绍与流程

1.一个可以忽略的前言 最近在做的一个项目,客户要做一个直播平台,主播发起视频直播,然后其他人进入房间观看这样子,跟其他直播平台不同的是,主播可以打赏观众,噗,不过这些千奇百怪的想法我也见怪不怪了,而且也不是技术难点所在. 因为客户要做的是一个民宿的微信小程序,所以这个直播发起也是在微信小程序中完成的,好在后来查到微信小程序中有这种组件,之前想说用H5来做但是发现在移动端不同型号的兼容性问题非常不理想基本放弃了, 还有一种方式就是做个app了,但这就在我的知识范围之外了,用webApp的话也没找