国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity3d C#利用本地網(wǎng)頁快速打開螢石云監(jiān)控視頻流(ezopen)實(shí)現(xiàn)云臺(tái),聲音等控制,支持WebGL平臺(tái),替代UMP播放(含源碼)

這篇具有很好參考價(jià)值的文章主要介紹了Unity3d C#利用本地網(wǎng)頁快速打開螢石云監(jiān)控視頻流(ezopen)實(shí)現(xiàn)云臺(tái),聲音等控制,支持WebGL平臺(tái),替代UMP播放(含源碼)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

之前我介紹了替代Universal?Media?PlayerUMP播放石云監(jiān)控視頻流(ezopen)的功能,效果還是很明顯的,筆者的測(cè)試是差不多3-5秒就能打開監(jiān)控畫面,不過稍微遺憾的是,之前的功能是iframe打開石云提供的播放網(wǎng)頁的形式,功能基本只有畫質(zhì)切換,聲音開關(guān)等;具體可以移步查看(https://blog.csdn.net/qq_33789001/article/details/132025298)。本文的功能還是在3D WebView for Windows and macOS (Web Browser)?插件的基礎(chǔ)上使用EZUIKit的插件實(shí)現(xiàn)了云臺(tái)控制(支持云臺(tái)的設(shè)備)功能。

效果

WebGL的支持:
Unity3d C#利用本地網(wǎng)頁快速打開螢石云監(jiān)控視頻流(ezopen)實(shí)現(xiàn)云臺(tái),聲音等控制,支持WebGL平臺(tái),替代UMP播放(含源碼),Unity3D,快速播放視頻流,Unity3d源碼,Unity播放監(jiān)控,UnityWebGL監(jiān)控播放,Unity快速播放直播流

云臺(tái)支持:

Unity3d C#利用本地網(wǎng)頁快速打開螢石云監(jiān)控視頻流(ezopen)實(shí)現(xiàn)云臺(tái),聲音等控制,支持WebGL平臺(tái),替代UMP播放(含源碼),Unity3D,快速播放視頻流,Unity3d源碼,Unity播放監(jiān)控,UnityWebGL監(jiān)控播放,Unity快速播放直播流

功能實(shí)現(xiàn)

筆者所用的插件:
LitJson 用于生成/解析網(wǎng)絡(luò)請(qǐng)求的json。
DOTweenPro 用于制作簡(jiǎn)單的窗口彈出、關(guān)閉動(dòng)畫;
3D WebView for Windows and macOS (Web Browser) 用于打開網(wǎng)頁(使用說明(https://blog.csdn.net/qq_33789001/article/details/126180804))的插件(看需求使用Embedded Browser也可以),需要WebGL 平臺(tái)的還需要2D WebView for WebGL (Web Browser IFrame)插件。
獲取accessToken,管理員賬號(hào)根據(jù)appKey和secret獲取accessToken;獲取監(jiān)控視頻流等基礎(chǔ)功能 就不再次贅述了,可以參考前言中的文章。

這里打開本地網(wǎng)頁的方式函數(shù):

string url = "streaming-assets://CamLocalWebPlay/WebPlayCamVideo.html?url=" + path + "&token=" + YsAccessTokenMgr.instance.AT;
canvasWebView.WebView.LoadUrl(url);

streaming-assets:// 表示文件的路徑在Unity3d的StreamingAssets文件夾下。

方式一 本地iframe

視頻嵌入式播放方式,詳細(xì)說明請(qǐng)看:https://open.ys7.com/bbs/article/20。所以就是本地的網(wǎng)頁,這里我直接先粘出代碼:

<!DOCTYPE html>
<html lang="en-us">
<head>
    <meta charset="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>本地網(wǎng)頁監(jiān)控播放</title>

    <style>
        html, body, iframe {
            height: 100%;
            width: 100%;
            overflow: hidden;
            margin: 0;
            padding: 0;
        }
        #wrap {
            width: 100%;
            height: 100%;
        }

        iframe {
            border: none;
        }

    </style>
  <body onload="document.documentElement.webkitRequestFullScreen();">
      <div id="wrap">
          <iframe id="videoframe">
          </iframe>
      </div>
    <script>
        function getUrlParam(key) {
            const search = window.location.search.substring(1);
            const paramsArray = search.split("&");
            let value = null;
            paramsArray.forEach((param) => {
                const [paramKey, paramValue] = param.split("=");
                if (key === paramKey) {
                    value = paramValue;
                }
            });
            return value;
        }
        var iframe = document.getElementById("videoframe");
        iframe.src = "https://open.ys7.com/ezopen/h5/iframe_se?url=" + getUrlParam("url") 
            + "&autoplay=1&audio=0&accessToken=" + getUrlParam("token") ;
    </script>
  </body>
</html>

這里根據(jù)輸入的url 和token生成iframe_se的參數(shù),即可正常播放。

方式一 本地EZUIKit

EZUIKit插件算是官方給出的插件,降低接入難度,適配自定義UI,適配主流框架;低延時(shí)預(yù)覽,云存儲(chǔ)回放,SD卡回放。功能API豐富,如:播放控制,音頻控制,視頻截圖,實(shí)時(shí)獲取視頻OSDTime,視頻錄制,設(shè)備對(duì)講,電子放大,全屏等。
其使用方式也比較簡(jiǎn)單:
創(chuàng)建DOM

  <div id="video-container"></div>

直播播放

var player = new EZUIKit.EZUIKitPlayer({
  id: 'video-container', // 視頻容器ID
  accessToken: 'at.3bvmj4ycamlgdwgw1ig1jruma0wpohl6-48zifyb39c-13t5am6-yukyi86mz',
  url: 'ezopen://open.ys7.com/G39444019/1.live',
  width: 600,
  height: 400,
})

回放播放

    var player = new EZUIKit.EZUIKitPlayer({
      id: 'video-container', // 視頻容器ID
      width: 600,
      height: 400,
      accessToken: 'at.3bvmj4ycamlgdwgw1ig1jruma0wpohl6-48zifyb39c-13t5am6-yukyi86mz',
      url: 'ezopen://open.ys7.com/G39444019/1.rec'
})

使用它需要先把代碼倉庫git下來,并將EZUIKit-JavaScript-npm/demos/base-demo/ezuikit_static/文件夾放入功能中
引入腳本:

 <script src="./ezuikit.js"></script>

編寫一個(gè)很簡(jiǎn)單的網(wǎng)頁僅包含一個(gè)元素

<div id="video-container"></div>  

并且通過EZUIKit.EZUIKitPlayer函數(shù)進(jìn)行初始化:

var player = new EZUIKit.EZUIKitPlayer({
      id: 'video-container', // 視頻容器ID
      accessToken: 'at.3bvmj4ycamlgdwgw1ig1jruma0wpohl6-48zifyb39c-13t5am6-yukyi86mz',
      url: 'ezopen://open.ys7.com/203751922/1.live',
    })

這里關(guān)鍵的就是需要傳入url和accessToken的值,這個(gè)之前通過螢石的后臺(tái)已經(jīng)獲取。

可以設(shè)置模板:

Template // simple - 極簡(jiǎn)版;standard-標(biāo)準(zhǔn)版;security - 安防版(預(yù)覽回放);voice-語音版;
theme-可配置主題;

筆者嘗試過后,發(fā)現(xiàn)只有standard-標(biāo)準(zhǔn)版和theme-可配置主題有效,其它為白屏效果。
standard-標(biāo)準(zhǔn)版:
Unity3d C#利用本地網(wǎng)頁快速打開螢石云監(jiān)控視頻流(ezopen)實(shí)現(xiàn)云臺(tái),聲音等控制,支持WebGL平臺(tái),替代UMP播放(含源碼),Unity3D,快速播放視頻流,Unity3d源碼,Unity播放監(jiān)控,UnityWebGL監(jiān)控播放,Unity快速播放直播流

theme-可配置主題:
Unity3d C#利用本地網(wǎng)頁快速打開螢石云監(jiān)控視頻流(ezopen)實(shí)現(xiàn)云臺(tái),聲音等控制,支持WebGL平臺(tái),替代UMP播放(含源碼),Unity3D,快速播放視頻流,Unity3d源碼,Unity播放監(jiān)控,UnityWebGL監(jiān)控播放,Unity快速播放直播流

點(diǎn)擊云臺(tái)控制按鈕可以調(diào)出云臺(tái)的控制面板:

Unity3d C#利用本地網(wǎng)頁快速打開螢石云監(jiān)控視頻流(ezopen)實(shí)現(xiàn)云臺(tái),聲音等控制,支持WebGL平臺(tái),替代UMP播放(含源碼),Unity3D,快速播放視頻流,Unity3d源碼,Unity播放監(jiān)控,UnityWebGL監(jiān)控播放,Unity快速播放直播流

也可以自定義按鈕來控制播放:

結(jié)束播放: player.stop() 開啟聲音: player.openSound()
關(guān)閉聲音: player.closeSound()
開始錄像: player.startSave()
結(jié)束錄像: player.stopSave()
視頻截圖: player.capturePicture()
全屏(自動(dòng)適配移動(dòng)端pc端全屏): player.fullScreen()
取消全屏: player.cancelFullScreen()
獲取播放時(shí)間回調(diào): player.getOSDTime()
開始對(duì)講: player.startTalk()
結(jié)束對(duì)講: player.stopTalk()

工程源碼

完整的工程源碼:https://download.csdn.net/download/qq_33789001/88135255
無法打開說明審核未通過。

現(xiàn)在工程后,打開項(xiàng)目中的Main.unity場(chǎng)景,選中FunNodes>YsAccessTokenMgr節(jié)點(diǎn)設(shè)置您自己的appKey和appSecret:
Unity3d C#利用本地網(wǎng)頁快速打開螢石云監(jiān)控視頻流(ezopen)實(shí)現(xiàn)云臺(tái),聲音等控制,支持WebGL平臺(tái),替代UMP播放(含源碼),Unity3D,快速播放視頻流,Unity3d源碼,Unity播放監(jiān)控,UnityWebGL監(jiān)控播放,Unity快速播放直播流

選中Icon_Camera修改視頻標(biāo)簽的信息deviceSerial和channelNo:
Unity3d C#利用本地網(wǎng)頁快速打開螢石云監(jiān)控視頻流(ezopen)實(shí)現(xiàn)云臺(tái),聲音等控制,支持WebGL平臺(tái),替代UMP播放(含源碼),Unity3D,快速播放視頻流,Unity3d源碼,Unity播放監(jiān)控,UnityWebGL監(jiān)控播放,Unity快速播放直播流

確保的信息都是同一個(gè)賬號(hào)下面的,運(yùn)行后點(diǎn)擊視頻圖標(biāo)即可看到播放的效果了。文章來源地址http://www.zghlxwxcb.cn/news/detail-649647.html

到了這里,關(guān)于Unity3d C#利用本地網(wǎng)頁快速打開螢石云監(jiān)控視頻流(ezopen)實(shí)現(xiàn)云臺(tái),聲音等控制,支持WebGL平臺(tái),替代UMP播放(含源碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Unity3D實(shí)現(xiàn)登陸注冊(cè)功能,實(shí)現(xiàn)本地存儲(chǔ)讀取

    Unity3D實(shí)現(xiàn)登陸注冊(cè)功能,實(shí)現(xiàn)本地存儲(chǔ)讀取

    untiy登錄注冊(cè)功能的實(shí)現(xiàn),可以永久本地存儲(chǔ)。C#源代碼,也可以用相同的辦法存儲(chǔ)讀取玩家的其他信息或自定義的游戲設(shè)置 實(shí)現(xiàn)了判斷用戶名是否存在,密碼是否前后一致,密碼是否正確等。 這是注冊(cè)界面功能 以下是登錄頁功能 ? ? ?

    2024年02月13日
    瀏覽(21)
  • Unity3D中的C#協(xié)程(概念、使用方法、底層原理)

    ???????? Unity3D 中的協(xié)程是針對(duì) Unity3D 框架和 C# 編程語言定制的 ,具有便捷的使用方式和良好的效率。其他語言Python、Lua等也支持協(xié)程,但是底層實(shí)現(xiàn)的細(xì)節(jié)可能不同。在 Unity3D 引擎中, 協(xié)程被 Unity3D?引擎的主循環(huán)所驅(qū)動(dòng) 。 ????????協(xié)程(Coroutine)是一種編程概念

    2024年02月08日
    瀏覽(27)
  • Unity3D學(xué)習(xí)記錄04——利用射線實(shí)現(xiàn)角色類似LOL的移動(dòng)

    Unity3D學(xué)習(xí)記錄04——利用射線實(shí)現(xiàn)角色類似LOL的移動(dòng)

    首先新建一個(gè)空白的GameObject,掛在一個(gè)MouseManager的腳本 實(shí)現(xiàn)思路: 通過獲取鼠標(biāo)點(diǎn)擊的位置,獲得該位置的信息,然后使角色移動(dòng)到該位置 MouseManager腳本的代碼如下: ? 代碼解釋: 先創(chuàng)建了一個(gè)Action類型的事件OnMouseClicked 這個(gè)是C#中事件的內(nèi)容,我們可以在滿足條件的時(shí)

    2024年02月08日
    瀏覽(24)
  • C#的Random與Unity3D的Random.Range()

    目錄 C#的Random Unity3D的Random.Range() 在C#中,Random類用于生成偽隨機(jī)數(shù)。它位于System命名空間下,所以要在代碼中使用Random類,需要添加以下using語句: 在創(chuàng)建Random對(duì)象時(shí),可以選擇使用當(dāng)前時(shí)間作為種子,也可以指定一個(gè)整數(shù)值作為種子。如果使用相同的種子來創(chuàng)建Random對(duì)象,

    2024年02月16日
    瀏覽(18)
  • Unity3D中打包WEBGL后讀取本地文件數(shù)據(jù)+網(wǎng)絡(luò)請(qǐng)求

    Unity3D中打包WEBGL后讀取本地文件數(shù)據(jù)+網(wǎng)絡(luò)請(qǐng)求

    首先上一編博主運(yùn)行html之后報(bào)的錯(cuò)誤:提示內(nèi)存不足!?。?! 1.首先排查一下webgl包的大小,不能超過2G。 2.F12查看具體錯(cuò)誤,在這里博主的是: ? ? ? ?a:本地讀取StreamingAssets里的配置文件,序列化失敗。 ? ? ? ?b:網(wǎng)絡(luò)請(qǐng)求方法不能使用JsonConvert.SerializeObject將對(duì)象重新序列

    2024年02月08日
    瀏覽(29)
  • Unity3D C# 中foreach的GC產(chǎn)出(2023年帶數(shù)據(jù))

    Unity3D C# 中foreach的GC產(chǎn)出(2023年帶數(shù)據(jù))

    注意:筆者有點(diǎn)被杠怕了…確實(shí)也不嚴(yán)謹(jǐn),也怕看不到,所以開頭這里加一句:foreach本身不會(huì)產(chǎn)生GC,產(chǎn)生GC的原因是foreach使用了迭代器Enumerator,而取決于容器的不同,有些迭代器的初始化會(huì)產(chǎn)生GCAlloc… 很多讀者在聽一些群內(nèi)大佬談話過程中可能會(huì)聽說 foreach遍歷集合會(huì)產(chǎn)生

    2024年02月16日
    瀏覽(28)
  • Unity3D高級(jí)編程主程手記 學(xué)習(xí)筆記二:C#技術(shù)要點(diǎn)

    Unity3D高級(jí)編程主程手記 學(xué)習(xí)筆記二:C#技術(shù)要點(diǎn)

    1.Untiy3D中C#的底層原理 Unity底層在運(yùn)行C#程序時(shí)有兩種機(jī)制:一種是Mono,另一種是IL2CPP。 Mono存在的目的是為了跨平臺(tái) ,因?yàn)樽畛魿#只支持Windows。而IL可以看成是一種匯編語言且完全基于堆棧,必須運(yùn)行在虛擬機(jī)上。也就是說C#會(huì)被編譯器編譯成IL,當(dāng)需要他們時(shí)就會(huì)被實(shí)時(shí)的

    2024年02月08日
    瀏覽(94)
  • Unity3D實(shí)現(xiàn)第一人稱移動(dòng),隨鼠標(biāo)轉(zhuǎn)動(dòng)視角+上樓梯(C#)

    Unity3D實(shí)現(xiàn)第一人稱移動(dòng),隨鼠標(biāo)轉(zhuǎn)動(dòng)視角+上樓梯(C#)

    第一人稱移動(dòng): 1、在層級(jí)面板創(chuàng)建一個(gè)Capsule,命名為Player,將層級(jí)面板中的相機(jī)拖到Player下方 2、重置Player和攝像機(jī)的Transform數(shù)值(方便調(diào)整攝像機(jī)在Player上的位置),然后調(diào)整攝像機(jī)在Player上的位置 大概將攝像機(jī)放到Player眼睛的位置即可。 3、創(chuàng)建一個(gè)腳本,命名為Came

    2024年02月13日
    瀏覽(60)
  • 【Unity3D】資源文件 ② ( Unity 中場(chǎng)景文件簡(jiǎn)介 | 查看場(chǎng)景文件內(nèi)容 | 場(chǎng)景文件相關(guān)操作 | 創(chuàng)建場(chǎng)景 | 打開場(chǎng)景 )

    【Unity3D】資源文件 ② ( Unity 中場(chǎng)景文件簡(jiǎn)介 | 查看場(chǎng)景文件內(nèi)容 | 場(chǎng)景文件相關(guān)操作 | 創(chuàng)建場(chǎng)景 | 打開場(chǎng)景 )

    Unity 編輯器中的 場(chǎng)景文件 是以 \\\" .unity \\\" 為后綴的文件 , 該文件中會(huì)記錄所有 游戲物體 GameObject , 以及游戲物體的相關(guān)數(shù)據(jù) , 如下內(nèi)容都是存儲(chǔ)在 場(chǎng)景文件 中的 : 游戲物體 GameObject 節(jié)點(diǎn) : 在 Hierarchy 層級(jí)窗口 中 場(chǎng)景文件 下的各個(gè)節(jié)點(diǎn) 都是游戲物體 , 如 主攝像機(jī) , 光源 , 立

    2024年02月09日
    瀏覽(93)
  • Unity3d 2021版本工程打開Visual Studio錯(cuò)誤未找到這些文件,將無法加載的問題

    Unity3d 2021版本工程打開Visual Studio錯(cuò)誤未找到這些文件,將無法加載的問題

    最近是和Unity3d 2021版本杠上了啊,因?yàn)樾枰囊粋€(gè)功能必須用Unity3d 2021版本,所以帶出來了這一系列的問題。這個(gè)問題是我在Unity編輯器上Open C# Project之后VS會(huì)打不開工程,并提示“命令行中指定了以下文件: 未能找到這些文件,將無法加載?!保?而且***.sln、Assembly-CSharp.c

    2024年02月16日
    瀏覽(238)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包