浏览器不需要安装插件,前端播放在线视频方案,几款播放器介绍,hls协议下的h.265视频播放方案推荐

这篇具有很好参考价值的文章主要介绍了浏览器不需要安装插件,前端播放在线视频方案,几款播放器介绍,hls协议下的h.265视频播放方案推荐。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一般我们播放本地视频都是使用 video标签,但是<video> 元素只支持三种视频格式:MP4、WebM、Ogg,对于在线视频直接使用video是没法播放的,这里介绍几款这两天我在做播放在线监控视频功能时使用过的几款播放器,初次接触流媒体踩了一堆坑,到目前为止对这部分内容都还了解的很浅显,若有问题请在评论区指出,欢迎交流。
该文章旨在为小白推荐播放方案,谁还不是从小白过来的呢?

先介绍几个概念:

流协议:流协议就是在两个通信系统之间传输多媒体文件的一套规则,它定义了视频文件将如何分解为小数据包以及它们在互联网上传输的顺序,RTMP与 RTSP 是比较常见的流媒体协议。

HLS:HLS (HTTP Live Streaming)是Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件。参考:HLS。简单来说,HLS是一种协议,如果你的视频源是http://xxxx.m3u8这种,就选择这种协议,.m3u8是个文本文件,直播时,他的内容实时变更,内部指向一个或多个.ts文件。

HTTP-FLV: HTTP-FLV 是将音视频数据以 FLV 文件格式进行封装,再将 FLV 格式数据封装在 HTTP 协议中进行传输的一种流媒体传输方式。HTTP-FLV 的实现原理: HTTP-FLV 利用 HTTP/1.1 分块传输机制发送 FLV 数据。虽然直播服务器无法知道直播流的长度,但是 HTTP/1.1 分块传输机制可以不填写 conten-length 字段而是携带 Transfer-Encoding: chunked 字段,这样客户端就会一直接受数据。参考:FLV 和 HTTP-FLV。
简单来说就是你的视频源是直播且是http://xxxx.flv,就选择这种协议播放。还有个websocket-flv,是基于websocket的。

RTMP与RTSP: 什么是RTMP 和 RTSP?它们之间有什么区别?

H264(AVC)与H265(HEVC):都是视频编码,是视频压缩格式,由于视频本身的码流太大,所以需要经过压缩然后再通过网络进行传输,其中H265是H264的升级版,很多播放器无法播放H265视频。

下列播放器排名不分先后,自己评判。

1.西瓜播放器

优点:
1.官网教程非常简单清晰,上手快。
2.使用起来体验感很好
3.支持直播点播,支持hls,http+flv,dash,WebRTC直播,还有音乐播放器
4.提供在线可调试demo

缺点:
1.xgplayer-hls.js不能播放hls H.265视频,因为是基于hls.js封装的,hls.js支持H264,不支持H265。
2.xgplayer-hls测试后发现同样不能播放hls H.265视频。
3.播放不同的视频需要自己切换对应的包,如xgplayer-flv.js,xgplayer-hls.js(也可以算是优点,包体积更小,更灵活,看你怎么评判了)

我一开始选取的这款播放器,但很遗憾,我的监控视频是hls协议的H.265视频,没法播放。。。但总的来说如果不播放H.265视频,个人非常推荐!


2.h265web.js

前端视频播放,音视频,h.265

 文章来源地址https://www.toymoban.com/news/detail-717528.html

2.使用后是目前唯一一个可以满足我需求的播放器,可以播放hls协议的H.265视频,主码流的,视频信息如下:前端视频播放,音视频,h.265

但问题是很卡!卡爆了的卡!,但是好歹出现了画面,后改为辅码流视频源才播放流畅,视频信息如下:前端视频播放,音视频,h.265 

缺点:
1.很占内存,引入项目后至少占1个g内存,而且对h265视频解析是使用canvas绘制的方式(目前好像只有这种方案才能播放),对比使用video播放来说慢了些。但h265webj内部做了判断,当视频是h264格式的会改为video标签播放。
2.播放器底部的controll需要自己实现,官网提供的是各种api,提倡自己封装。可参考我这两篇文章自己实现,或自己查阅文档封装。
h265web.js 同时播放多个视频,修改官方example 中player.js并重新编译
前端使用hls方式播放h265(HEVC)格式的.ts在线文件,附vue2.x封装h265web.js代码
3.控制台作者给自己打广告,连播放器要传的参数token都是自己的广告。。。不过问题不大,开源的嘛,可以理解。

4.还有个问题,在tag v20211104和最新版本 tag v20220916播放上面那个主码流 hls协议的H.265视频时发现,低版本tag v20211104反而更流畅?猜测是后续版本迭代升级后体积变大,占用更多内存,导致后面的版本播放更卡顿。

扩展:
若因为卡顿导致播放延迟,可进行追帧设置,动态更改播放倍数优化。我并未实现相关代码,因为调试起来太麻烦了,监控是内网视频,没法在线调试。。。目前来说播放效果都比较好,延迟也不高,几秒左右。

3.videojs

一个比较成熟的方案,用的人比较多,但我没怎么用过,我大概测试了下,可播放hls协议下h.264视频,但不支持播放hls 协议下的h.265视频,然后我就pass 掉了。
测试播放.m3u8后缀视频源html代码:

<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>videoJs</title>
  <link href="https://vjs.zencdn.net/7.20.3/video-js.css" rel="stylesheet" />

  <!-- If you'd like to support IE8 (for Video.js versions prior to v7) -->
  <!-- <script src="https://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script> -->

  <script src="https://vjs.zencdn.net/7.20.3/video.min.js"></script>
  <script src="https://unpkg.com/videojs-contrib-hls/dist/videojs-contrib-hls.js"></script>
</head>
<body>
<section id="videoPlayer">
  <video id="example-video" width="600" height="300" class="video-js vjs-default-skin vjs-big-play-centered" poster="">
    <source src="http://rm03.wscdn.hls.xiaoka.tv/live/fczjp0Dc_J60VGMN/playlist.m3u8" type="application/x-mpegURL" id="target">
  </video>
</section>
<script type="text/javascript">
  var player = videojs('example-video', { "poster": "", "controls": "true" }, function() {
    this.on('play', function() {
      console.log('正在播放');
    });
    //暂停--播放完毕后也会暂停
    this.on('pause', function() {
      console.log("暂停中")
    });
    // 结束
    this.on('ended', function() {
      console.log('结束');
    })

  });
</script>
</body>
</html>

4.liveweb

iveweb是可支持H.264/H.265视频播放的流媒体播放器,性能稳定、播放流畅,可支持的视频流格式有RTSP、RTMP、HLS、FLV、WebRTC等,具备较高的可用性。liveweb还拥有Windows、Android、iOS版本,其灵活的视频能力,极大满足了用户的多样化场景需求。

liveweb具备较强的灵活性,在视频直播过程中liveweb可通过H5进行视频解码,只要客户端支持H5,就能完美进行视频的无插件直播,同时还支持大码率视频直播,并可支持H.264、H.265两种编码格式。前端视频播放,音视频,h.265

Liveweb是好游科技自主开发的网页播放器,支持 RTSPRTMPHTTPHLSUDPRTPFile 等多种流媒体协议播放,同时也有多种显示方式 (GDI,D3D) 及格式 (RGB24,YV12,YUY2,RGB565),经过 7x24 小时连续拷机测试,能够很好的处理断连

如果大家正在找寻一款供能强大的流媒体播放器,那么liveweb将会是一个不错的选择,我们也欢迎大家的了解和试用。

 

 

到了这里,关于浏览器不需要安装插件,前端播放在线视频方案,几款播放器介绍,hls协议下的h.265视频播放方案推荐的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 查看edge浏览器插件的安装位置并将插件安装到别的浏览器

     C:Users zhang AppDataLocalMicrosoftEdgeUser DataDefaultExtensions    这是我的目录,把中间的的替换成你的电脑用户名就可以了 你也可以先输入目录的部分名称,下拉找对应的目录  将插件导出,导入到别的浏览器 以第一个插件  扩展管理器  为例,进入下一级子文件,找到插件

    2024年02月10日
    浏览(24)
  • Chrome 浏览器插件从 Manifest V2 升级到 V3 版本所需要修改的点

    Chrome 浏览器官方已经给出确定的时间来弃用 V2 版本的插件了。 最早从 2024 年 6 月 的 Chrome 127 开始,我们将开始停用 Chrome 的不稳定版本(开发者版、 Canary 版和 Beta 版)中的 Manifest V2 扩展程序。受此变化影响的用户会在浏览器中看到 Manifest V2 扩展程序自动停用,并且无法再

    2024年01月16日
    浏览(20)
  • vue中使用video插件在微信浏览器中视频无法自动播放的问题

    测试机:安卓华为p30,ios暂未测试,不过看网上说的ios比较好设置,以下代码也设置了兼容 js 是的,你没看错,就是这么简单,并没有网上那么复杂的获取什么什么的,因为我都试过坑了,到最后发现直接在created中就能解决问题

    2024年02月11日
    浏览(33)
  • JS-27 前端数据请求方式;HTTP协议的解析;JavaScript XHR、Fetch的数据请求与响应函数;前端文件上传XHR、Fetch;安装浏览器插件FeHelper

    早期的网页都是通过后端渲染来完成的,即服务器端渲染(SSR,server side render): 客户端发出请求 - 服务端接收请求并返回相应HTML文档 - 页面刷新,客户端加载新的HTML文档; 服务器端渲染的缺点: 当用户点击页面中的某个按钮向服务器发送请求时,页面本质上只是一些数

    2024年02月16日
    浏览(31)
  • 前端学习之音视频及其谷歌浏览器无法自动播放的解决方法(3)

    目录 一、音视频的应用:  二、谷歌浏览器音视频无法播放的解决方法 方法1:在代码中敲入下图中的js代码 方法2:网站设置 在vscode中敲入  打开浏览器,音视频自动播放。 方法1:在代码中敲入下图中的js代码 给音频设置一个id,用方法实现自动播放:  点击一下页面音频

    2024年02月03日
    浏览(24)
  • 前端性能优化——包体积压缩插件,打包速度提升插件,提升浏览器响应的速率模式

    –其他的优化可以具体在网上搜索 压缩项目打包后的体积大小、提升打包速度,是前端性能优化中非常重要的环节,结合工作中的实践总结,梳理出一些 常规且有效 的性能优化建议 ue 项目可以通过添加–report命令: \\\"build\\\": \\\"vue-cli-service build --report\\\" ,打包后 dist 目录会生成

    2024年02月12日
    浏览(32)
  • 浏览器插件下载以及安装----以chrome浏览器中安装Xpath插件进行演示

    初学Spider, 需要Xpath插件, 可是电脑没有自带的插件, 需要自己下载安装, 当然不会, 就来CSDN取经, 看了好多博客, 终于整理出来一套简单实用且全面的插件下载安装说明书! 说明书! 本文章以 chrome浏览器 为例, 因为常用的: 360浏览器, Edge浏览器, IE浏览器等, 它们的插件安装包和以

    2024年02月15日
    浏览(38)
  • 细说前端打包发布后,浏览器缓存如何清理?其实只需要简单的webpack配置就行

    有没有这么一种场景,项目上线后,客户使用过程中发现了bug,你急急忙忙改完,发布。但你发布后 测试人员或者客户会说:“你这改了没用啊”。 你:“清下缓存试试” 客户:“????” 那么这篇文章带你认识浏览器缓存,及清除浏览器的缓存办法。让你不再为了缓存

    2024年02月09日
    浏览(28)
  • edge浏览器插件打包安装到谷歌浏览器上

    没有安装插件的浏览器不能算的上是一个浏览器,众所周知的原因谷歌无法打开,所有也就无法安装谷歌应用商店的插件,但是Edge浏览器是可以安装访问插件,又因为egde浏览器用的是谷歌的内核,所有大部分的Edge浏览器插件在谷歌上一样是可以使用的。下面就来看一下怎么

    2024年02月13日
    浏览(31)
  • vue浏览器插件安装-各种问题

    https://blog.csdn.net/qq_55640378/article/details/131553642 下载地址: Tags · vuejs/devtools · GitHub npm  install  或是 cnpm  install 遇到的报错   设置淘宝镜像源(推荐使用nrm,这一步是为了保证其他依赖不报错  npm install -g nrm nrm use   taobao 文件下载到移动硬盘中cnpm  intall 报错   cnpm install

    2024年02月11日
    浏览(18)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包