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 相关文章推荐
jquery星级插件、支持页面中多次使用
Mar 25 Javascript
使用js正则控制input标签只允许输入的值
Jul 29 Javascript
jQuery插件开发详细教程
Jun 06 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
Sep 01 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
Nov 12 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
Aug 15 Javascript
Javascript自定义事件详解
Jan 13 Javascript
关于AngularJs数据的本地存储详解
Jan 20 Javascript
jquery实现轮播图效果
Feb 13 Javascript
利用Vue2.x开发实现JSON树的方法
Jan 04 Javascript
layui select 禁止点击的实现方法
Sep 05 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
May 23 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脚本的10个技巧(8)
2006/10/09 PHP
php中 ob_start等函数截取标准输出的方法
2015/06/22 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
php7函数,声明,返回值等新特性介绍
2018/05/25 PHP
PHP htmlentities()函数用法讲解
2019/02/25 PHP
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
使用js+jquery实现无限极联动
2013/05/23 Javascript
js中onload与onunload的使用示例
2013/08/25 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
js实现匹配时换色的输入提示特效代码
2015/08/17 Javascript
Asp.Net之JS生成分页条的方法
2016/11/23 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
jQuery实现王者荣耀手风琴效果
2020/01/17 jQuery
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
[03:22]DAC最前线(第二期)—DOTA2亚洲邀请赛主赛场周边及线路探访
2015/01/24 DOTA
Mac下Anaconda的安装和使用教程
2018/11/29 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
python实现智能语音天气预报
2019/12/02 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
python matplotlib.pyplot.plot()参数用法
2020/04/14 Python
Python进行统计建模
2020/08/10 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
一套比较完整的软件测试人员面试题
2012/05/13 面试题
十月份红领巾广播稿
2014/01/22 职场文书
售前工程师职业生涯规划
2014/03/02 职场文书
校园绿化美化方案
2014/06/08 职场文书
文明礼仪标语
2014/06/13 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
庆祝教师节标语
2014/10/09 职场文书
终止劳动合同通知书
2015/04/16 职场文书
描述鲁迅的名言整理,一生受用
2019/08/08 职场文书
Go归并排序算法的实现方法
2022/04/06 Golang