vue項(xiàng)目中播放rtmp視頻文件流的方法
想要播放rtmp視頻文件流用H5的video標(biāo)簽是不可行的,所以這里我引用了一款插件 vue-video-player ,當(dāng)然想要流暢的運(yùn)用 vue-video-player 播放視頻還必須安裝輔助插件 videojs-flash。最后還要特別注意的是必須使用npm安裝,當(dāng)然我在安裝過程中也遇到了一個(gè)問題,就是在選擇使用 vue-video-player前還安裝了videojs插件,卸載從新安裝 vue-video-player時(shí)由于項(xiàng)目中有以前安裝的其他視頻組件影響,一直運(yùn)行不起來,后面我把node_modules相關(guān)的視頻組件都刪除以及package中的安裝目錄都刪除后從新安裝就可以運(yùn)行了,如果你們有遇到這種類似的情況可以對你們有幫助。
下面展示一些相關(guān)的操作步驟:
1、安裝vue-video-player和videojs-flash插件
npm install vue-video-player --save npm install video-flash --save
2、在package里面查看是否安裝成功以及安裝后的版本,如下圖所示:

3、全局引用,在main.js文件中引入,如下圖所示:
import VueVideoPlayer from 'vue-video-player' import 'video.js/dist/video-js.css' import 'videojs-flash' Vue.use(VueVideoPlayer)
或者是在當(dāng)前頁面引用,如下所示:
import 'video.js/dist/video-js.css'
import { videoPlayer } from 'vue-video-player'
import 'videojs-flash'
在這里我需要特別說明的是引用時(shí)必須注意videojs-flash必須要放在vue-video-player的后面,不然同樣也會導(dǎo)致視頻無法正常播放。
4、下面就是簡單的應(yīng)用案例,如果你需要更多的詳細(xì)規(guī)則可以查看npm插件安裝的網(wǎng)站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: {//測試視頻流數(shù)據(jù)
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時(shí)設(shè)置
}
},
}
}
}
</script>
5、部分bug解決辦法
①當(dāng)視頻小于400x300時(shí),視頻不能自動播放,在flash下面添加靜態(tài)video-js.swf資源,如上面案例所示;
②如果是像這樣(rtmp://192.168.20.185:1935/live/openUrl/l2MJZsI)的流文件,需要在后面加一個(gè) /才可以播放
③videojs-flash和vue-video-player的順序問題,vue-video-player必須放置在videojs-flash之前
④如果都沒有上面的問題,可以查看一下是否瀏覽器的flash是否開起,開起可以在瀏覽器的設(shè)置里面去搜索flash,查到后設(shè)置允許即可
總結(jié)
到此這篇關(guān)于vue項(xiàng)目中播放rtmp視頻文件流 的文章就介紹到這了,更多相關(guān)vue播放rtmp視頻文件流 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Unity3D游戲引擎實(shí)現(xiàn)在Android中打開WebView的實(shí)例
- unity3d發(fā)布apk在android虛擬機(jī)中運(yùn)行的詳細(xì)步驟(unity3d導(dǎo)出android apk)
- Nginx搭建rtmp直播服務(wù)器實(shí)現(xiàn)代碼
- vue-video-player實(shí)現(xiàn)實(shí)時(shí)視頻播放方式(監(jiān)控設(shè)備-rtmp流)
- 詳解Ubuntu18.04下配置Nginx+RTMP+HLS+HTTPFLV服務(wù)器實(shí)現(xiàn)點(diǎn)播/直播/錄制功能
- 在Ubuntu 14 上安裝 Nginx-RTMP 流媒體服務(wù)器的教程
- 樹莓派使用python-librtmp實(shí)現(xiàn)rtmp推流h264的方法
- 在linux系統(tǒng)下安裝python librtmp包的實(shí)現(xiàn)方法
- Nginx-rtmp實(shí)現(xiàn)直播媒體實(shí)時(shí)流效果
- nginx使用nginx-rtmp-module模塊實(shí)現(xiàn)直播間功能
- Mac上搭建nginx+rtmp直播服務(wù)器的步驟詳解
- Android實(shí)現(xiàn)Unity3D下RTMP推送的示例
相關(guān)文章
Vue API中setup ref reactive函數(shù)使用教程
setup是用來寫組合式api,內(nèi)部的數(shù)據(jù)和方法需要通過return之后,模板才能使用。在之前vue2中,data返回的數(shù)據(jù),可以直接進(jìn)行雙向綁定使用,如果我們把setup中數(shù)據(jù)類型直接雙向綁定,發(fā)現(xiàn)變量并不能實(shí)時(shí)響應(yīng)。接下來就詳細(xì)看看它們的使用2022-12-12
vue+axios+mock.js環(huán)境搭建的方法步驟
本篇文章主要介紹了vue+axios+mock.js環(huán)境搭建的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08
vue-router的HTML5 History 模式設(shè)置
這篇文章主要介紹了vue-router的HTML5 History模式設(shè)置,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09
何時(shí)/使用 Vue3 render 函數(shù)的教程詳解
這篇文章主要介紹了何時(shí)/使用 Vue3 render 函數(shù)的教程詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
keep-Alive搭配vue-router實(shí)現(xiàn)緩存頁面效果的示例代碼
這篇文章主要介紹了keep-Alive搭配vue-router實(shí)現(xiàn)緩存頁面效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
vue結(jié)合leaflet實(shí)現(xiàn)鷹眼圖
本文主要介紹了vue結(jié)合leaflet實(shí)現(xiàn)鷹眼圖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06

