Vue + videojs播放 rtmp/flv 类型视频

博客提及了HTML和JS,它们是前端开发的重要技术。HTML用于构建网页结构,JS可实现网页的交互效果和动态功能,在前端开发中发挥着关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HTML

 <h1>my-player</h1>
     <video id="my-player" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="auto" autoplay="autoplay"
       poster="//vjs.zencdn.net/v/oceans.png" width="500" height="400" data-setup='{}'>
     <source src='rtmp://10.10.7.211/live/test' type='rtmp/flv'/>
 </video>

JS

npm install --save videojs-flash
npm install video.js
 //需要安装
import videojs from 'video.js'
import 'video.js/dist/video-js.css'
import 'vue-video-player/src/custom-theme.css'
import 'videojs-flash'





 // vue挂载钩子函数
//不能在created钩子函数中,dom节点没有挂载完全。ID找不到
mounted() {
        //谷歌浏览器要专门去开启flash播放器,打包后查看和代码运行都需要重新设置flash为允许状态

       // 设置flash路径,用于在videojs发现浏览器不支持HTML5播放器的时候自动唤起flash播放器

     videojs.options.flash.swf = 'https://cdn.bootcss.com/videojs-swf/5.4.1/video-js.swf';
     
     var player = videojs('my-player'); //my-player为页面video元素的id

     player.play(); //播放
}

 

### 在 Vue 3 中集成 Video.js 实现 RTMP 流媒体播放 为了在 Vue 3 项目中成功集成 Video.js 并实现 RTMP 流媒体播放,需遵循特定的配置流程。 #### 安装依赖库 首先,在项目根目录下安装必要的 npm 包。这包括 `video.js` 和支持 RTMP 协议所需的插件: ```bash npm install video.js vue-video-player ``` 对于 RTMP 支持,通常会借助于 Flash 或 WebRTC 技术来完成浏览器端的播放功能。由于现代浏览器逐渐淘汰了对 Flash 的支持,因此推荐采用基于 WebRTC 的解决方案或者使用第三方服务提供商如 Wowza Streaming Engine 来处理 RTMP 到 HTTP-FLV 转换[^4]。 #### 创建组件并引入资源文件 创建一个新的 Vue 组件用于承载视频播放器逻辑,并在其 `<script setup>` 块内导入所需模块: ```javascript // MyVideoPlayer.vue import { onMounted, ref } from 'vue'; import videojs from 'video.js'; import 'video.js/dist/video-js.css'; export default { name: "MyVideoPlayer", props: ['src'], setup(props) { let player = ref(null); onMounted(() => { // 初始化 Video.js 播放器实例 player.value = videojs('my_video_1', {}, function onPlayerReady() { console.log('Your player is ready!'); this.src({ src: props.src, type: 'rtmp/flv' // 设置为 RTMP 类型 }); this.play(); }); return () => { if (player.value) { player.value.dispose(); // 销毁播放器以释放资源 } }; }); return { player }; }, }; ``` 注意这里的 `type: 'rtmp/flv'` 是假设性的写法,实际应用时可能需要根据所使用的转码工具调整 MIME 类型字符串[^3]。 #### HTML 结构定义 接着,在模板部分定义好放置视频播放控件的位置以及关联样式类名: ```html <template> <div data-v-app> <!-- 使用自定义皮肤 --> <video id="my_video_1" class="video-js vjs-default-skin"></video> </div> </template> <style scoped> /* 自定义样式 */ .vjs-custom-skin { width: 600px; height: 338px; } </style> ``` 通过上述设置可以构建起一个基本的支持 RTMP 流传输协议的在线视频观看平台框架。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值