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 继承机制实例
Aug 12 Javascript
jquery异步跨域访问代码
Jun 28 Javascript
Jquery中children与find之间的区别详细解析
Nov 29 Javascript
JavaScript返回上一页的三种方法及区别介绍
Jul 04 Javascript
JS实现带提示的星级评分效果完整实例
Oct 30 Javascript
跟我学习javascript的undefined与null
Nov 17 Javascript
javascript html5移动端轻松实现文件上传
Mar 27 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
Mar 02 Javascript
微信小程序自定义组件实现tabs选项卡功能
Jul 14 Javascript
微信小程序实现评论功能
Nov 28 Javascript
在node环境下parse Smarty模板的使用示例代码
Nov 15 Javascript
vue-openlayers实现地图坐标弹框效果
Sep 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
星际争霸 Starcraft 游戏介绍
2020/03/14 星际争霸
php+dbfile开发小型留言本
2006/10/09 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
laravel withCount 统计关联数量的方法
2019/10/10 PHP
如果文字过长,则将过长的部分变成省略号显示
2006/06/26 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
js出生日期 年月日级联菜单示例代码
2014/01/10 Javascript
简化版手机端照片预览组件
2015/04/13 Javascript
理解JS绑定事件
2016/01/19 Javascript
用move.js库实现百叶窗特效
2017/02/08 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
2017/02/21 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
jQuery插件DataTables分页开发心得体会
2017/08/22 jQuery
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
JavaScript监听一个DOM元素大小变化
2020/04/26 Javascript
node.js通过url读取文件
2020/10/16 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
python写的ARP攻击代码实例
2014/06/04 Python
Python3实现简单可学习的手写体识别(实例讲解)
2017/10/21 Python
numpy.random.seed()的使用实例解析
2018/02/03 Python
Python中staticmethod和classmethod的作用与区别
2018/10/11 Python
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
2019/07/19 Python
Python实现word2Vec model过程解析
2019/12/16 Python
Python底层封装实现方法详解
2020/01/22 Python
Python中常用的os操作汇总
2020/11/05 Python
CSS中越界问题的经典解决方案【推荐】
2016/04/19 HTML / CSS
洗发露广告词
2014/03/14 职场文书
征兵宣传标语
2014/06/20 职场文书
我的梦想演讲稿1000字
2014/08/21 职场文书
电工实训报告总结
2014/11/05 职场文书
法院个人总结
2015/03/03 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
python opencv通过按键采集图片源码
2021/05/20 Python
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
CentOS MySql8 远程连接实战
2022/04/19 MySQL