使用vue-video-player,播放rtmp直播流

2023-11-09

可直接在新的页面复制使用。测试可用

<template>
	<div class="video-js" style="width: 600px;">
		<video-player class="video-player vjs-custom-skin"
    ref="videoPlayer"
    :playsinline="true"
    :options="playerOptions"
      @play="onPlayerPlay($event)"
      @pause="onPlayerPause($event)"
      @ended="onPlayerEnded($event)"
      @loadeddata="onPlayerLoadeddata($event)"
      @canplaythrough="onPlayerCanplaythrough($event)"
        >
			</video-player>
		</div>
</template>
 
<script>
 
	// import videojs from 'video.js'
	import 'vue-video-player/src/custom-theme.css'
	import { videoPlayer } from 'vue-video-player'
	import 'videojs-flash'
	//  SWF_URL="https://cdn.bootcss.com/videojs-swf/5.4.1/video-js.swf"
 
	videojs.options.flash.swf = "https://cdn.bootcss.com/videojs-swf/5.4.1/video-js.swf" // 设置flash路径,Video.js会在不支持html5的浏览中使用flash播放视频文件
 
	export default {
		name: 'videojs',
		components: {
			videoPlayer
		},
		
		data() {
			return {
            videoUrl:'rtmp://10.10.7.205:1936/live/rtsp_cam1',
	        playerOptions: {        
			live: true,
	        autoplay: true, // 如果true,浏览器准备好时开始播放
	        muted: false, // 默认情况下将会消除任何音频
	        loop: false, // 是否视频一结束就重新开始
	        preload: 'auto', // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
	        aspectRatio: '7:4', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
	        fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
	       	language: 'zh-CN',
					// poster:'https://file.digitaling.com/eImg/uimages/20150907/1441607120885946.gif',
	 		controlBar: {       
			  timeDivider: true,
	          durationDisplay: true,
	          remainingTimeDisplay: true,
	          currentTimeDisplay: true, // 当前时间
	          volumeControl: true, // 声音控制键
	          playToggle: true, // 暂停和播放键
	          progressControl: true, // 进度条
	          fullscreenToggle: true // 全屏按钮
			},
			techOrder: ['flash', 'html5'],//设置顺序,
	        flash: { 
				hls: {withCredentials: false },
				swf: "https://cdn.bootcss.com/videojs-swf/5.4.1/video-js.swf" },
	 			html5: { hls: { withCredentials: false } },
	        sources: [{          
				type: 'rtmp/flv',
			    src: 'rtmp://10.10.7.205:1936/live/rtsp_cam1' // 视频地址-改变它的值播放的视频会改变
			}],
			notSupportedMessage: '此视频暂无法播放,请稍后再试' // 允许覆盖Video.js无法播放媒体源时显示的默认信息。
			}
 
			}
		},
		methods: {
         // 加载数据
    onPlayerLoadeddata(player) {
      // 直播每次播放都会调用--录播只是刚开始调用一次
      console.log("loadeddata");
    },
    onPlayerCanplaythrough(player) {
      // 在不停下来进行缓冲的情况下--每次拖拽的时候都会缓冲
      console.log("canplaythrough");
    },
    onPlayerPlay(player) {
      console.log("播放");
      console.log(player)
    },
    onPlayerPause(player) {
      console.log("暂停");
    },
		},
		watch: {
			/*test: function(val, oldVal){},*/
		},
		/* 页面初始化执行方法:此方法可写同步方法,有先后加载顺序的逻辑建议用同步方法 */
	mounted: function() {
		this.playerOptions.sources[0].src = this.videoUrl;
		this.playerOptions.autoplay = true; //再次告诉是自动播放
	}
	}
</script>
 
<style lang="scss" scoped>
</style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用vue-video-player,播放rtmp直播流 的相关文章

随机推荐

  • python保存随机的user-agent到本地并使用

    user agent的数据使用的是github上fake useragent fake useragentgithub地址 https github com hellysmile fake useragent 数据网址 https fake
  • 【深度学习】【Atlas 200DK】YOLOv3和YOLOv5部署

    Atlas 200DK YOLOv3和YOLOv5部署 数据集介绍 开发板环境搭建 YOLOv3的部署 模型训练转换 服务器上的结果 开发板上的结果 python部署 c 部署 YOLOv5的部署 模型训练转换 服务器上的结果 开发板上的结
  • shiro拦截配置大全

    admins anon 表示该 uri 可以匿名访问 admins auth 表示该 uri 需要认证才能访问 admins authcBasic 表示该 uri 需要 httpBasic 认证 admins perms user add
  • 【文件I/O】(二)文件I/O

    文件I O 系统调用 一 文件I O基本概念 1 什么是文件I O 2 文件描述符 二 文件I O函数 head h 1 open close 打开 关闭文件 1 1open close函数API 1 2文件I O和标准I O文件打开方式对
  • [架构之路-181]-《软考-系统分析师》-19- 系统可靠性分析与设计 - 2-容错性: 软件容错技术

    目录 前言 1 9 4 软件容错技术 19 4 1 N 版本程序设计 1 与 通 常 软 件 开 发 过 程 的 区 别 2 其 他 需 要 注 意 的 问 题 19 4 2 恢复块方法 19 4 3 防卫式程序设计 预防性设计 广泛使用
  • HTML5移动开发常用meta标签

    html
  • 在IBM p6 570 LPAR之间动态切换磁盘机/光驱

    小机上的一些外设比如磁盘机和光驱平时用的不多 所以大多都是在一台小机的各LPAR之间共享使用的 这些IO设备在不同的LPAR之间使用时 只能被一个LPAR独占 所以必要的时候就必须要做切换 客户的一台p6 570 里面做了4个LPAR 需要
  • 回顾篇-mysql索引-读书笔记

    事务日志 事务日志可以帮助提高事务的效率 使用事务日志 存储引擎在修改表的数据时只需要修改其内存拷贝 再把该修改行为记录到持久在硬盘上的事务日志中 而不用每次都将修改的数据本身持久到磁盘 事务日志采用的是追加的方式 因此写日志的操作是磁盘上
  • STM32学习---时钟系统

    1 时钟树 STM32的时钟系统比较复杂 我们主要通过时钟树来了解单片机内部的时钟配置情况 时钟树可以从开发指南中找到 以f1为例 学习一下他的树 明确几个缩写定义 AHB 先进高速总线 APB1 先进设备总线1 APB2 先进设备总线2
  • ORM总结(单表,一对多,多对多)

    一 表记录的增删改查 单表操作 1 添加 时间的格式必须写成YYYY MM DD 2 删除 filter筛选多条记录 返回的是QuerySet集合对象 3 修改 这三种都是类 objects 4 查询 values是具体拿一个字段 不再拿整
  • Linux内核memcpy的不同实现

    目录 1 概述 2 高级SIMD和浮点寄存器介绍 2 NEON指令 2 1 VLDR 2 2 VLDM 2 3 VSTR 2 4 VSTM 3 ARM架构程序调用寄存器使用规则 3 1 ARM寄存器使用规则 3 2 NEON寄存器使用规则
  • 【Python】range函数

    range函数 Python3 range 函数返回的是一个可迭代对象 类型是对象 而不是列表类型 所以打印的时候不会打印列表 res range 6 print res gt gt gt range 0 6 打印出来的不是列表 Pytho
  • 2.1 主窗口

    Qt用QMainWindow和相关的类来管理主窗口 QMainWindow继承自QWidget类 以下介绍几种常用操作 1 close 关闭当前窗口 2 hide 隐藏当前窗口 相当于 setVisible false 设置窗口可见或是不可
  • CocosCreator3.0加载远程图片资源

    在微信小游戏平台 需要获取了微信头像 对于这个需求 需要这样来做 获取微信用户信息 得到微信小游戏头像的http地址 在Cocos引擎使用loadRemote来加载 这其中的问题在于 使用loadRemote加载时获得的对象和2 x的版本不
  • redis服务停止(NOAUTH Authentication required)问题处理

    redis服务停止报NOAUTH Authentication required错误 处理方法 命令处理 redis cli a 密码 p 6379 shutdown 脚本处理 进入脚本文件 stop命令增加密码 完整配置文件 bin ba
  • 【统计模型】生存分析基本知识介绍

    目录 一 生存分析介绍 1 生存分析用途 2 传统方法在分析随访资料时的困难 1 生存时间和生存结局都是我们关心的因素 2 存在大量失访 3 显然 将失访数据无论是算作死亡还是存活都不合理 3 生存分析的优劣势 1 优势 2 劣势 4 生存
  • 机器学习经典算法,原理及代码实现

    机器学习知识体系 岭回归和LASSO回归 朴素贝叶斯 支持向量机 Logistic回归 K 近邻算法 线性回归 决策树 EM最大期望算法 Apriori算法 自适应增强 Adaboost 算法 PageRank算法
  • java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection异常问题解决

    Connection proxy Connection Proxy newProxyInstance Connection class getClassLoader Connection class getInterfaces new In
  • 数据结构——线性结构(7)——链队列的实现

    链队列的实现 头文件 这部分文件实现我们之前所使用的queue类 它主要的原理为 后进后出 LILO ifndef Queue h define Queue h 类型 Queue
  • 使用vue-video-player,播放rtmp直播流

    可直接在新的页面复制使用 测试可用