• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    vue中播放rtsp流

    2023-4-4    前端達(dá)人

    實(shí)現(xiàn)vue中播放rtsp視頻流的問題

    背景:項(xiàng)目中通過攝像機(jī)提供的rtsp流來顯示畫面,但是在編寫項(xiàng)目中,需要將rtsp實(shí)時(shí)流畫面?zhèn)鬏數(shù)絯eb前端頁面中。于是找了很多方法,都是后臺(tái)轉(zhuǎn)碼轉(zhuǎn)成rtmp來播放,現(xiàn)在大部分插件和瀏覽器都是支持使用rtmp播放視頻流。而rtsp隨著flash的退出而被復(fù)雜化了。網(wǎng)上都是1、通過ffmpeg轉(zhuǎn)碼后輸出,2、通過攝像機(jī)指定的web插件轉(zhuǎn)碼輔助播放,如???,大華攝像機(jī);3、還有個(gè)猿大師播放器基于猿大師中間件提供的內(nèi)嵌網(wǎng)頁播放(沒用過,不知道行不行,原本想用現(xiàn)在這個(gè)方法行不行的,若不行就用這個(gè)猿大師了的)

    開始

    :
    node.js工具
    jsmpeg.js文件
    npm install rtsp2web

    科普了解一下

    1. rtsp2web 是一個(gè)依賴 ffmpeg,能實(shí)時(shí)將傳入的 rtsp 視頻流轉(zhuǎn)碼成圖像數(shù)據(jù)并通過 ws 推送到前端的智能工具。
    2. 前端頁面借助 jsmpeg.js 就可以很輕松的實(shí)現(xiàn)播放
    3. 同時(shí)rtsp2web的特點(diǎn)還有:1、并發(fā),支持同時(shí)播放多路視頻2、合并同源,同時(shí)播放多個(gè)同一個(gè)rtsp視頻源時(shí),只會(huì)創(chuàng)建一個(gè)轉(zhuǎn)碼推流進(jìn)程,不會(huì)創(chuàng)建多個(gè)。3、智能釋放資源,智能檢測當(dāng)前沒有使用的轉(zhuǎn)碼推流進(jìn)程,將其關(guān)閉,并釋放電腦資源。

    使用

    下載ffmpeg(鏈接: https://www.ffmpeg.org/download.html#build-windows

    安裝成功以后,你重新打開一個(gè)命令行終端,輸入:ffmpeg -h,如果能輸出 ffmpeg 的相關(guān)信息出來,則證明你的電腦安裝 ffmpeg 成功。

    使用rtsp2web

    創(chuàng)建了一個(gè)vuecli(vue2)項(xiàng)目,名稱不要起rtsp2web,與src文件夾同級
    下創(chuàng)建一個(gè)serve文件夾

    -|public
        |-favicon.ico
        |-index.html
    -|src
    -|serve
    -|.gittignore
    -.....  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在serve下初始化和下載

    npm init --yes
    npm install rtsp2web  
    
    • 1
    • 2

    在serve下創(chuàng)建index.js

    //index.js
    const RTSP2web = require('rtsp2web')
    
    //服務(wù)端的端口號,端口號可以自定義
    const port = 8033
    new RTSP2web({
        port
    )}  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    運(yùn)行命令:node index.js

    前端代碼

    在public的index.html中
    其中jsmpeg.min.js通過src引入,可以用jsmpeg.js或者jsmpeg.min.js都行

    <!DOCTYPE html>
    <html lang="">
      <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
        <link rel="icon" href="<%= BASE_URL %>favicon.ico">
        <!--v  jsmpeg.min.js文件用在這   v-->
        <script src="https://jsmpeg.com/jsmpeg.min.js" charset="utf-8"></script>    
        <title><%= htmlWebpackPlugin.options.title %></title>
      </head>
      <body>
        <noscript>
          <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
        </noscript>
        <div id="app"></div>
        <!-- built files will be auto injected -->
      </body>
      <script>
        var rtsp = 'rtsp://username:password@ip:port/live'
        window.onload = () => {
        //這里的port要與index.js的port保持一致
        new JSMpeg.Player("ws://localhost:8033/rtsp?url="+btoa(rtsp), {
           canvas: document.getElementById("canvas")
        })
      }
      </script>
    </html>  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    #####在vue頁面中用canvas中播放視頻
    如 在App.vue中這樣用:

    <template>
      <div id="app">
        <!-- <img alt="Vue logo" src="./assets/logo.png">
        <HelloWorld msg="Welcome to Your Vue.js App"/> -->
        <canvas id="canvas" style="width: 600px; height: 600px;"></canvas>
      </div>
    </template>  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    問題

    為什么node index.js之后沒反應(yīng)?
    —檢查端口號是否填寫對應(yīng),index.js中的端口要與script里的端口保持一致
    |
    為什么長時(shí)間未顯示圖像?
    —需要等待大概1-2分鐘,就會(huì)顯示畫面。至于這么長時(shí)間未顯示,小弟也不知道啊。。希望大佬指點(diǎn)。。

    最后

    完事了就,這是我歷經(jīng)千辛萬苦找到的方法,弄這個(gè)vue中播放rtsp搞了好久,技術(shù)太拉了我,只能用這些小玩意來搞。原本打算用java或者python通過拉rtsp流解析成rtmp的,奈何能力不足,也懶得思考懶得搞懶得弄,所以擺爛了QAQ
    若哪里有講的不妥和使用不當(dāng)?shù)牡胤竭€請您告知一下,萬分感謝大佬指點(diǎn),小弟深表感謝<抱拳>
    -----------------------------------------------------------------------------------------------------------

    參考。1


    1. https://zhuanlan.zhihu.com/p/531899593 ??
      藍(lán)藍(lán)設(shè)計(jì)建立了UI設(shè)計(jì)分享群,每天會(huì)分享國內(nèi)外的一些優(yōu)秀設(shè)計(jì),如果有興趣的話,可以進(jìn)入一起成長學(xué)習(xí),請加微信ban_lanlan,報(bào)下信息,藍(lán)小助會(huì)請您入群。歡迎您加入噢~~
      希望得到建議咨詢、商務(wù)合作,也請與我們聯(lián)系01063334945。 

      分享此文一切功德,皆悉回向給文章原作者及眾讀者. 免責(zé)聲明:藍(lán)藍(lán)設(shè)計(jì)尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請及時(shí)與我們?nèi)〉寐?lián)系,我們立即更正或刪除。 

      藍(lán)藍(lán)設(shè)計(jì)m.lzhte.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)、UI設(shè)計(jì)公司、界面設(shè)計(jì)公司、UI設(shè)計(jì)服務(wù)公司、數(shù)據(jù)可視化設(shè)計(jì)公司、UI交互設(shè)計(jì)公司、高端網(wǎng)站設(shè)計(jì)公司、UI咨詢、用戶體驗(yàn)公司、軟件界面設(shè)計(jì)公司

    日歷

    鏈接

    個(gè)人資料

    存檔

    主站蜘蛛池模板: 别揉我胸~嗯~啊~的视频网站| 亚洲天堂2017无码中文| 新沂市| 午夜无码成人A片免费| 国产亚洲人成网站在线观看l| 亚洲综合91社区精品福利| 18禁网站入口| 久久精品成人无码观看| 日本丰满熟妇在线观看| 日韩精品原创一区二区| 欧美性网| 377P欧洲日本亚洲大胆| 少妇极品熟妇人妻专区视频| 国产69精品久久久久孕妇大杂乱 | 国产亚洲精久久久久久无码77777| 亚洲国产福利一区二区三区| 国产成人无码免费视频在线| 久久久久蜜桃精品成人片| 久久国产乱子伦精品免费看| 综合自拍亚洲综合图区高清| 香蕉视频在线观看www| 992Tv视频国产精品| 狠狠操狠狠撸| 在线无码视频观看草草视频| 国语自产精品视频二区在线看| 亚洲乱码AV中文一区二区| 999人在线精品播放视频| 安吉县| 国产成人精品优优av| 国产很色很黄很大爽的视频| 无码少妇一区二区性色av| 午夜国产精品影院在线观看| 啪啪福利| 中文字幕日韩一二三区| 国产黄色精品高潮播放| 国产ww久久久久久久久久| 国产一区日韩二区欧美三区| 国产午夜亚洲精品不卡网站| 精品国产V无码大片在线看| 亚洲精品97福利在线| 国产成 人 综合 亚洲网|