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 相关文章推荐
jqPlot Option配置对象详解
Jul 25 Javascript
javascript中的undefined 与 null 的区别  补充篇
Mar 17 Javascript
JSQL SQLProxy 的 php 版本代码
May 05 Javascript
Node.js生成HttpStatusCode辅助类发布到npm
Apr 09 Javascript
浅析document.ready和window.onload的区别讲解
Dec 18 Javascript
js实现的二级横向菜单条实例
Aug 22 Javascript
javascript数据结构中栈的应用之符号平衡问题
Apr 11 Javascript
vue2.0的虚拟DOM渲染思路分析
Aug 09 Javascript
vue-cli3 karma单元测试的实现
Jan 18 Javascript
vue中格式化时间过滤器代码实例
Apr 17 Javascript
package.json配置文件构成详解
Aug 27 Javascript
Webpack中SplitChunksPlugin 配置参数详解
Mar 24 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的FTP学习(三)
2006/10/09 PHP
PHP微框架Dispatch简介
2014/06/12 PHP
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
PHP 中TP5 Request 请求对象的实例详解
2017/07/31 PHP
php tpl模板引擎定义与使用示例
2019/08/09 PHP
最佳JS代码编写的14条技巧
2011/01/09 Javascript
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
javascript删除option选项的多种方法总结
2013/11/22 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
VueJS全面解析
2016/11/10 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
vue进行图片的预加载watch用法实例讲解
2018/02/07 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
JavaScript代码调试方法实例小结
2019/01/05 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python静态方法实例
2015/01/14 Python
Python随机生成数模块random使用实例
2015/04/13 Python
Python中super函数用法实例分析
2019/03/18 Python
Python微信操控itchat的方法
2019/05/31 Python
python conda操作方法
2019/09/11 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
Python txt文件如何转换成字典
2020/11/03 Python
python中xlutils库用法浅析
2020/12/29 Python
html5录音功能实战示例
2019/03/25 HTML / CSS
Crocs波兰官方商店:女鞋、男鞋、童鞋、洞洞鞋
2019/10/08 全球购物
Prototype如何更新局部页面
2013/03/03 面试题
计算机专业个人求职自荐信
2013/09/21 职场文书
机械绘图员岗位职责
2013/11/19 职场文书
制作部班长职位说明书
2014/02/26 职场文书
培训研修方案
2014/06/06 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
2014副镇长民主生活会个人对照检查材料思想汇报
2014/09/30 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书