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 继承的实现
Jul 09 Javascript
jquery checkbox全选、取消全选实现代码
Mar 05 Javascript
showModelDialog弹出文件下载窗口的使用示例
Nov 19 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
Dec 12 Javascript
jQuery选择器用法实例详解
Dec 17 Javascript
浅析location.href跨窗口调用函数
Nov 22 Javascript
javascript实现下雨效果
Mar 27 Javascript
AngularJS中scope的绑定策略实例分析
Oct 30 Javascript
Vue中使用sass实现换肤功能
Sep 07 Javascript
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
js实现贪吃蛇小游戏(加墙)
Jul 31 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
Aug 04 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 CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
2018/06/20 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
js GridView 实现自动计算操作代码
2009/03/25 Javascript
javascript 操作cookies及正确使用cookies的属性
2009/10/15 Javascript
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
javascript中数组的sort()方法的使用介绍
2013/12/18 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
2015/08/23 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
jQuery实现查找链接文字替换属性的方法
2016/06/27 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
[00:32]10月24、25日 辉夜杯外卡赛附加赛开赛!
2015/10/23 DOTA
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
wxpython 学习笔记 第一天
2009/03/16 Python
Python脚本实现DNSPod DNS动态解析域名
2015/02/14 Python
Python实现对字符串的加密解密方法示例
2017/04/29 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
Django Rest framework频率原理与限制
2019/07/26 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
2019/08/26 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
浅谈Python xlwings 读取Excel文件的正确姿势
2021/02/26 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
利用纯CSS3实现文字向右循环闪过效果实例(可用于移动端)
2017/06/15 HTML / CSS
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
美国气象仪器、花园装饰和墙壁艺术商店:Wind & Weather
2019/05/29 全球购物
德语专业求职信
2014/03/12 职场文书
Python实战之实现康威生命游戏
2021/04/26 Python