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 相关文章推荐
Code:findPosX 和 findPosY
Dec 20 Javascript
javascript 处理事件绑定的一些兼容写法
Dec 24 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
Sep 19 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
Jan 25 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
Sep 21 Javascript
Javascript中作用域的详细介绍
Oct 06 Javascript
easyui-combobox 实现简单的自动补全功能示例
Nov 08 Javascript
详解Angular2组件之间如何通信
Jun 22 Javascript
通过fastclick源码分析彻底解决tap“点透”
Dec 24 Javascript
详解vue中使用微信jssdk
Apr 19 Javascript
微信小程序自定义波浪组件使用方法详解
Sep 21 Javascript
electron 安装,调试,打包的具体使用
Nov 06 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
php中的实现trim函数代码
2007/03/19 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
javascript学习笔记(五)正则表达式
2011/04/08 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
jquery弹出关闭遮罩层实例
2013/08/06 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
Javascript aop(面向切面编程)之around(环绕)分析
2015/05/01 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
bootstrap table实例详解
2017/01/06 Javascript
Canvas实现动态的雪花效果
2017/02/13 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
解析Vue 2.5的Diff算法
2017/11/28 Javascript
vue项目使用微信公众号支付总结及遇到的坑
2018/10/23 Javascript
JS实现网页烟花动画效果
2020/03/10 Javascript
vue+node 实现视频在线播放的实例代码
2020/10/19 Javascript
vue3.0自定义指令(drectives)知识点总结
2020/12/27 Vue.js
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
Python isinstance函数介绍
2015/04/14 Python
Python的Django框架中消息通知的计数器实现教程
2016/06/13 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
Python 依赖库太多了该如何管理
2019/11/08 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
美国知名玩具品牌:Melissa & Doug
2016/08/16 全球购物
Audible英国:有声读物,30天免费试用
2019/10/16 全球购物
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
环保建议书作文
2014/03/12 职场文书
禁烟标语大全
2014/06/11 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle