vue项目中播放rtmp视频文件流的方法


Posted in Javascript onSeptember 17, 2020

想要播放rtmp视频文件流用H5的video标签是不可行的,所以这里我引用了一款插件 vue-video-player ,当然想要流畅的运用 vue-video-player 播放视频还必须安装辅助插件 videojs-flash。最后还要特别注意的是必须使用npm安装,当然我在安装过程中也遇到了一个问题,就是在选择使用 vue-video-player前还安装了videojs插件,卸载从新安装 vue-video-player时由于项目中有以前安装的其他视频组件影响,一直运行不起来,后面我把node_modules相关的视频组件都删除以及package中的安装目录都删除后从新安装就可以运行了,如果你们有遇到这种类似的情况可以对你们有帮助。
下面展示一些相关的操作步骤:
1、安装vue-video-playervideojs-flash插件

npm install vue-video-player --save
npm install video-flash --save

2、在package里面查看是否安装成功以及安装后的版本,如下图所示:

vue项目中播放rtmp视频文件流的方法

3、全局引用,在main.js文件中引入,如下图所示:

import VueVideoPlayer from 'vue-video-player'
import 'video.js/dist/video-js.css'
import 'videojs-flash'
Vue.use(VueVideoPlayer)

或者是在当前页面引用,如下所示:

import 'video.js/dist/video-js.css'
import { videoPlayer } from 'vue-video-player'
import 'videojs-flash'

在这里我需要特别说明的是引用时必须注意videojs-flash必须要放在vue-video-player的后面,不然同样也会导致视频无法正常播放。
4、下面就是简单的应用案例,如果你需要更多的详细规则可以查看npm插件安装的网站https://www.npmjs.com/package/vue-video-player
完整案例说明如下:

<template>
	<videoPlayer class="vjs-custom-skin videoPlayer" ref="videoplayer" 
		:playsinline="true" width="90%" :options="playerOptions"
  	customEventName="changed" @play="onPlayerPlay($event)">
   </videoPlayer>
</template>
<script>
	import 'video.js/dist/video-js.css'
 	import { videoPlayer } from 'vue-video-player'
 	import 'videojs-flash'
 	export default {
	  components: {
	   videoPlayer
	  },
	  data(){
			return{
				playerOptions: {//测试视频流数据
			     width: "210",
			     height: "134",
			     language: 'zh-CN',
			     techOrder: ['flash'],
			     muted: true,
			     autoplay: true,
			     controls: true,
			     loop: true,
			     sources: [{
			      type: 'rtmp/mp4',
			      src: 'rtmp://mobliestream.c3tv.com:554/live/goodtv.sdp' //rtmp流地址
			     }],
			     poster: 'static/fire/bgpp.png',
			     flash:{
			      swf:'static/video-js.swf' //视频屏幕小于400x300时设置
			     }
		    },
			}
		}
  }
</script>

5、部分bug解决办法
①当视频小于400x300时,视频不能自动播放,在flash下面添加静态video-js.swf资源,如上面案例所示;
②如果是像这样(rtmp://192.168.20.185:1935/live/openUrl/l2MJZsI)的流文件,需要在后面加一个 /才可以播放
videojs-flash
vue-video-player的顺序问题,vue-video-player必须放置在videojs-flash之前
④如果都没有上面的问题,可以查看一下是否浏览器的flash是否开起,开起可以在浏览器的设置里面去搜索flash,查到后设置允许即可

总结

到此这篇关于vue项目中播放rtmp视频文件流 的文章就介绍到这了,更多相关vue播放rtmp视频文件流 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript之卸载鼠标事件的代码
May 14 Javascript
JS 有趣的eval优化输入验证实例代码
Sep 22 Javascript
jquery学习总结(超级详细)
Sep 04 Javascript
JavaScript中的变量定义与储存介绍
Dec 31 Javascript
jquery选择器简述
Aug 31 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
Dec 03 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
Nov 09 Javascript
JavaScript实现构造json数组的方法分析
Aug 17 Javascript
vue获取时间戳转换为日期格式代码实例
Apr 17 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
Apr 23 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
Dec 20 jQuery
vue-列表下详情的展开与折叠案例
Jul 28 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
Sep 17 #Javascript
vue项目实现多语言切换的思路
Sep 17 #Javascript
vue实现放大镜效果
Sep 17 #Javascript
JavaScript封装单向链表的示例代码
Sep 17 #Javascript
vue修改Element的el-table样式的4种方法
Sep 17 #Javascript
vue+canvas实现拼图小游戏
Sep 18 #Javascript
JavaScript 常见的继承方式汇总
Sep 17 #Javascript
You might like
PHP中对数据库操作的封装
2006/10/09 PHP
APMServ使用说明
2006/10/23 PHP
php 传值赋值与引用赋值的区别
2010/12/29 PHP
PHP 登录记住密码实现思路
2013/05/07 PHP
分享3个php获取日历的函数
2015/09/25 PHP
Ajax实现对静态页面的文章访问统计功能示例
2016/10/10 PHP
js获取图片长和宽度的代码
2009/11/24 Javascript
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
jquery 插件学习(六)
2012/08/06 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
js控制文本框只输入数字和小数点的方法
2015/03/10 Javascript
js文字横向滚动特效
2015/11/11 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
简单实现AngularJS轮播图效果
2020/04/10 Javascript
JS简单获取日期相差天数的方法
2017/04/24 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
layui中select,radio设置不生效的解决方法
2019/09/05 Javascript
Vue中使用wangeditor富文本编辑的问题
2021/02/07 Vue.js
在Django的视图中使用数据库查询的方法
2015/07/16 Python
使用TensorFlow实现二分类的方法示例
2019/02/05 Python
python 为什么说eval要慎用
2019/03/26 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
大学考试作弊检讨书
2014/01/30 职场文书
党员承诺书内容
2014/03/26 职场文书
会计系毕业生求职信
2014/05/28 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
2016天猫双十一广告语
2016/01/28 职场文书
dubbo集成zipkin获取Traceid的实现
2021/07/26 Java/Android
python中super()函数的理解与基本使用
2021/08/30 Python
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技