在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用FreeSWITCH將WebRTC視頻會(huì)議流添加到虛擬現(xiàn)實(shí)環(huán)境中相對(duì)容易

LiveVideoStack ? 來(lái)源:未知 ? 作者:李倩 ? 2018-09-06 17:19 ? 次閱讀

本文來(lái)自Google的開(kāi)發(fā)專(zhuān)家Dan Jenkins,他喜歡將最新的Web API與RTC應(yīng)用程序混合在一起。他還在Nimble Ape經(jīng)營(yíng)自己的咨詢和開(kāi)發(fā)公司。本文中,他給出了一個(gè)代碼實(shí)現(xiàn)——通過(guò)使用WebVR將FreeSWITCH Verto WebRTC視頻會(huì)議轉(zhuǎn)換為虛擬現(xiàn)實(shí)會(huì)議的。LiveVideoStack對(duì)原文進(jìn)行了摘譯。

WebRTC不是Web平臺(tái)上唯一流行的媒體API。幾年前推出了Web虛擬現(xiàn)實(shí)(WebVR)規(guī)范,以便在Web瀏覽器中為虛擬現(xiàn)實(shí)設(shè)備提供支持。此后,它已移植到較新的WebXR設(shè)備API規(guī)范了。

今年早些時(shí)候在ClueCon,Dan Jenkins在演講中表示,使用FreeSWITCH將WebRTC視頻會(huì)議流添加到虛擬現(xiàn)實(shí)環(huán)境中相對(duì)容易。FreeSWITCH是比較流行的開(kāi)源電話平臺(tái)之一,已使用WebRTC好幾年了。

幾周前,我在ClueCon開(kāi)發(fā)者大會(huì)上發(fā)表了一篇關(guān)于WebRTC和WebVR的演講——Web開(kāi)發(fā)者可以使用的新媒體。將虛擬現(xiàn)實(shí)內(nèi)容帶入你的瀏覽器和手機(jī)對(duì)于具有新人口統(tǒng)計(jì)數(shù)據(jù)的應(yīng)用程序具有巨大潛力。在過(guò)去的兩三年里,虛擬現(xiàn)實(shí)已經(jīng)絕對(duì)可以負(fù)擔(dān)得起,并且可以廣泛使用,最近的手機(jī)使用Google的Cardboard,而現(xiàn)在的“白日夢(mèng)”也適用于一些高端手機(jī)。還有Oculus Go,它根本不需要移動(dòng)設(shè)備。我想探索如何將這種新的經(jīng)濟(jì)實(shí)惠的媒體用于WebRTC媒體應(yīng)用。

老實(shí)說(shuō),當(dāng)我將論文提交給征集文件中心時(shí),我對(duì)WebVR一無(wú)所知,但我知道在看到其他演示能夠?qū)崿F(xiàn)的結(jié)果后,我可能會(huì)得到一些有用的東西。我似乎有時(shí)間去做一些新的、令人興奮的事情,唯一的辦法就是直接在Call For Papers去做一個(gè)瘋狂的演講。

注意:從技術(shù)上講,它現(xiàn)在是“WebXR”,但我會(huì)堅(jiān)持使用這篇文章中更常見(jiàn)的“VR”。

A-Frame框架

有很多方法可以開(kāi)始使用WebVR,但我采用的方法是使用一個(gè)名為A-Frame的框架,它允許你編寫(xiě)一些HTML,并引入一個(gè)JavaScript庫(kù)并立即開(kāi)始構(gòu)建VR體驗(yàn)。雖然演示并沒(méi)有像我希望的那樣完美,但它確實(shí)證明了你可以用非常少的代碼構(gòu)建出色的虛擬現(xiàn)實(shí)體驗(yàn)。

如果你對(duì)Web組件感到很滿意,你就會(huì)馬上意識(shí)到A-Frame的作用。現(xiàn)在,你可能會(huì)問(wèn)為什么我沿著A-Frame路線走而不是直接使用WebGL以及使用WebVR polyfill和Three.js創(chuàng)建WebGL對(duì)象或許多其他框架中的一個(gè)。簡(jiǎn)單地說(shuō),我喜歡盡可能的少編寫(xiě)代碼,而A-Frame框架似乎是為我量身定做的。

如果你不喜歡A-Frame框架,可在webvr.info上查看其他可用選項(xiàng),如React 360。

使用WebRTC和Freeswitch構(gòu)建WebVR

今天使用A-Frame框架可以獲得一些WebRTC VR體驗(yàn)。在Mozilla的團(tuán)隊(duì)做了一個(gè)用戶可以彼此看到表示為VR場(chǎng)景的點(diǎn),并能聽(tīng)到彼此的聲音。他們能夠使用WebRTC數(shù)據(jù)通道和WebRTC音頻來(lái)實(shí)現(xiàn)這一點(diǎn),但我真的沒(méi)有找到任何使用WebRTC視頻的方法,因此開(kāi)始了如何在3D環(huán)境中使用實(shí)時(shí)視頻的挑戰(zhàn)。

我演講的演示基礎(chǔ)是開(kāi)源的FreeSWITCH Verto Communicator。Verto使用WebRTC,我已經(jīng)知道如何使用Verto客戶端庫(kù)與FreeSWITCH中的Verto模塊通信,因此已經(jīng)打過(guò)了一半的戰(zhàn)斗。Verto客戶端庫(kù)是信令部分——在將SIP PBX連接到WebRTC端點(diǎn)的更常見(jiàn)體驗(yàn)中,通過(guò)WebSocket替換SIP。

HTML

看一下我最終添加到Verto Communicator的A-Frame代碼。總共有8行HTML:

首先,我們有一個(gè)“a-scene”元素,它創(chuàng)建了一個(gè)場(chǎng)景,其中包含了與你的VR體驗(yàn)相關(guān)的所有內(nèi)容。空的“a-assets”標(biāo)簽是我們稍后放置WebRTC視頻標(biāo)簽的地方。

接下來(lái)的“a-entity”線是一個(gè)“簡(jiǎn)單”的讓用戶沉浸其中的體驗(yàn)。它是一個(gè)具有森林預(yù)設(shè)環(huán)境的a-frame框架實(shí)體 - 基本上可以引導(dǎo)我們的整個(gè)體驗(yàn)。

剩下的實(shí)體用于我們的相機(jī)和我們的daydream控制。查看帶有a-frame框架的可用組件以及可以使用的基本體來(lái)創(chuàng)建3D形狀和對(duì)象。

這一切只是把我們的場(chǎng)景組合在一起。接下來(lái),我們將使用一些JavaScript設(shè)置我們的控制邏輯代碼。

JavaScript

Verto 通信器是一個(gè)基于角度的應(yīng)用程序,因此可以從主應(yīng)用程序空間添加和刪除元素。我們需要一些邏輯來(lái)將Verto鏈接到我們的A-Frame設(shè)置。大多數(shù)邏輯少于40行JavaScript:

functionlink(scope,element,attrs){varnewVideo=document.createElement('a-video');newVideo.setAttribute('height','9');newVideo.setAttribute('width','16');newVideo.setAttribute('position','05-15');console.log('ATTACHNOW');varnewParent=document.getElementsByClassName('video-holder');newParent[0].appendChild(newVideo);window.attachNow=function(stream){varvideo=document.createElement('video');varassets=document.querySelector('a-assets');assets.addEventListener('loadeddata',()=>{console.log('loadedassetdata');})video.setAttribute('id','newStream');video.setAttribute('autoplay',true);video.setAttribute('src','');assets.appendChild(video);video.addEventListener('loadeddata',()=>{video.play();//PointingthisaframeentitytothatvideoasitssourcenewVideo.setAttribute('src',`#newStream`);});video.srcObject=stream;}

當(dāng)你前往Verto Communicator應(yīng)用程序中的會(huì)議頁(yè)面時(shí),將會(huì)加載上面的“l(fā)ink”函數(shù)。

修改Verto

你可以看到,當(dāng)鏈接被調(diào)用時(shí),它將創(chuàng)建一個(gè)新的“a-video”元素,并為其提供寬度和高度的一些屬性,以及將其放置在我們的3D環(huán)境中的位置。

這個(gè)“attachNow”函數(shù)才是真正神奇的地方——當(dāng)一個(gè)會(huì)話啟動(dòng)時(shí),我修改了Verto庫(kù),在名為attachNow的窗口上調(diào)用一個(gè)函數(shù)。默認(rèn)情況下,Verto庫(kù)將初始化jQuery樣式標(biāo)記,并為你添加/刪除該標(biāo)記的媒體。這對(duì)我來(lái)說(shuō)是不可能的——我需要獲得一個(gè)流并且能夠自己進(jìn)行操作,這樣我就可以將視頻標(biāo)簽添加到我上面顯示的所需空資產(chǎn)組件中。這讓A-Frame可以發(fā)揮其神奇作用——從資產(chǎn)中獲取數(shù)據(jù)并將其加載到在3D環(huán)境中顯示的“a-video”標(biāo)簽內(nèi)的畫(huà)布上。

我有另外一個(gè)函數(shù)移動(dòng)到了vertoServices.js中:

functionupdateVideoRes(){data.conf.modCommand('vid-res',(unmutedMembers*1280)+'x720');attachNow();document.getElementsByTagName('a-video')[0].setAttribute('width',unmutedMembers*16);}

“updateVideoRes”旨在改變FreeSWITCH的Verto會(huì)議的輸出分辨率。隨著用戶加入會(huì)議,我們希望在3D環(huán)境中創(chuàng)建一個(gè)越來(lái)越長(zhǎng)的視頻顯示。實(shí)質(zhì)上,每次我們獲得新成員時(shí),我們都會(huì)使輸出變得越來(lái)越長(zhǎng),這樣用戶就會(huì)并排出現(xiàn)。

可視化

這就是最終的結(jié)果,在這個(gè)3D環(huán)境中,Simon Woodhead和我一起在一個(gè)“電影放映”中創(chuàng)建了一個(gè)虛擬現(xiàn)實(shí)環(huán)境。

Verto WebVR會(huì)話的2D視圖

關(guān)于WebVR的真正偉大之處在于,你無(wú)需使用VR耳機(jī)即可完成所有工作,你可以單擊紙板按鈕,你的虛擬現(xiàn)實(shí)體驗(yàn)將變成全屏顯示,就像你戴著耳機(jī)一樣。你可以在YouTube上觀看ClueCon上的視頻(https://youtu.be/FxIlzFs4A7o)

我們學(xué)到了什么?

演示的一半成功了,另一半沒(méi)有。最大的學(xué)習(xí)是,盡管這可能是觀看視頻會(huì)議的絕妙方式,但將虛擬現(xiàn)實(shí)觀眾包括在視頻會(huì)議中是不可行的。 當(dāng)他們戴著耳機(jī)看著它的時(shí)候。也許這就是微軟的HoloLens通過(guò)混合現(xiàn)實(shí)使事情變得更好的地方。

所有代碼

代碼可以在我的bitbucket(https://bitbucket.org/nimbleape/freeswitch/branches/compare/webvr..#diff)找到,直到我們弄清楚如何解決FreeSWITCH的git歷史記錄損壞的問(wèn)題(https://freeswitch.org/jira/browse/FS-11338),這意味著您無(wú)法在其他任何地方托管代碼(例如我首選的git store,github)——讓FreeSWITCH團(tuán)隊(duì)知道你是否遇到與該鏈接相同的問(wèn)題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • WebRTC
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    11545
  • VR視頻
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    8242

原文標(biāo)題:使用WebRTC和WebVR進(jìn)行VR視頻通話

文章出處:【微信號(hào):livevideostack,微信公眾號(hào):LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    虛擬現(xiàn)實(shí)

    虛擬現(xiàn)實(shí)技術(shù)是一種可以創(chuàng)建和體驗(yàn)虛擬世界的計(jì)算機(jī)仿真系統(tǒng)它利用計(jì)算機(jī)生成一種模擬環(huán)境是一種多源信息融合的交互式的三維動(dòng)態(tài)視景和實(shí)體行為的系統(tǒng)仿真使用戶沉浸到該環(huán)境
    發(fā)表于 03-10 16:56

    什么牌子的視頻會(huì)議系統(tǒng)好?

    視頻會(huì)議系統(tǒng)穩(wěn)定性肯定是好的這里所說(shuō)的穩(wěn)定性包含兩方面,一方面是視頻會(huì)議系統(tǒng)本身的穩(wěn)定,不需要專(zhuān)人維護(hù)調(diào)試,開(kāi)啟即可使用;另一方面就是對(duì)網(wǎng)絡(luò)的適應(yīng)性要好,能在不同的網(wǎng)絡(luò)環(huán)境穩(wěn)定的開(kāi)視頻會(huì)議
    發(fā)表于 04-26 17:49

    第十六屆中國(guó)虛擬現(xiàn)實(shí)大會(huì)(China VR 2016)

    專(zhuān)業(yè)委員會(huì)和中國(guó)圖象圖形學(xué)學(xué)會(huì)虛擬現(xiàn)實(shí)專(zhuān)業(yè)委員會(huì)持續(xù)聯(lián)合舉辦CCVRV學(xué)術(shù)年會(huì)。2007年,中國(guó)系統(tǒng)仿真學(xué)會(huì)虛擬現(xiàn)實(shí)技術(shù)應(yīng)用專(zhuān)委會(huì)加入會(huì)議的舉辦,本會(huì)辦成了國(guó)內(nèi)
    發(fā)表于 08-19 17:42

    老子云如何擺脫虛擬現(xiàn)實(shí)帶來(lái)的“虛擬”感?

    添加的物體模型和材質(zhì)能夠更真實(shí)的模擬該場(chǎng)景在各種情況下各種階段的狀況。無(wú)疑,老子云上所達(dá)到的身臨其境效果,遠(yuǎn)遠(yuǎn)超過(guò)了拼圖式全景視頻實(shí)現(xiàn)的效果,做到真正可交互的虛擬現(xiàn)實(shí),我有點(diǎn)期待,它會(huì)給虛擬現(xiàn)
    發(fā)表于 05-24 13:47

    MCU與視頻會(huì)議系統(tǒng)

    是必須要具備的管理功能,MP則視終端處對(duì)視頻的處理能力及整體環(huán)境架構(gòu)而有取舍的余地。 2、視頻會(huì)議的組成會(huì)議系統(tǒng)的組成非常簡(jiǎn)單,每個(gè)會(huì)場(chǎng)安放一臺(tái)視頻
    發(fā)表于 06-14 14:35

    SD-WAN如何支持視頻會(huì)議

    問(wèn)題感到沮喪,而高管們也看不到他們的價(jià)值。軟件定義的廣域網(wǎng)和網(wǎng)絡(luò)功能虛擬化等新興技術(shù)可確保高質(zhì)量的視頻會(huì)議,無(wú)論距離和站點(diǎn)跨越多大,從公司總部到分支機(jī)構(gòu),再到全球各地的辦公室。視頻會(huì)議正在成為企業(yè)日常
    發(fā)表于 07-12 14:08

    視頻會(huì)議終端和MCU有哪些差異

    原標(biāo)題:視頻會(huì)議終端和MCU兩者有什么區(qū)別視頻會(huì)議終端和MCU都是視頻會(huì)議系統(tǒng)的核心組成部分之一,但其價(jià)格也相對(duì)高昂,是整個(gè)視頻會(huì)議系統(tǒng)的主
    發(fā)表于 11-03 08:05

    視頻會(huì)議終端和MCU的區(qū)別是什么

    原標(biāo)題:詳解視頻會(huì)議終端和MCU的區(qū)別視頻會(huì)議終端和MCU都是視頻會(huì)議系統(tǒng)的核心組成部分之一,但其價(jià)格也相對(duì)高昂,是整個(gè)視頻會(huì)議系統(tǒng)的主要成
    發(fā)表于 02-08 07:46

    如何RTSP視頻添加到我的“RainGauge”項(xiàng)目網(wǎng)站?

    RTSP 視頻添加到我的“RainGauge”項(xiàng)目網(wǎng)站: 視頻由“Wyse Cam 3”捕獲,提供給在 Windows PC 上運(yùn)行的“虛幻媒體服務(wù)器”。HTML5文件內(nèi)嵌
    發(fā)表于 05-11 07:41

    什么是視頻會(huì)議

    什么是視頻會(huì)議     視頻會(huì)議系統(tǒng)是通過(guò)網(wǎng)絡(luò)通信技術(shù)來(lái)實(shí)現(xiàn)的虛擬會(huì)議,使在地理
    發(fā)表于 12-30 11:22 ?1010次閱讀

    如何Crosswalk添加到Cordova應(yīng)用程序

    英特爾開(kāi)源技術(shù)中心的Bob Spencer解釋了如何Crosswalk添加到Cordova應(yīng)用程序,以提供具有世界級(jí)性能的可預(yù)測(cè)運(yùn)行時(shí)。
    的頭像 發(fā)表于 11-07 06:37 ?2541次閱讀

    虛擬現(xiàn)實(shí)會(huì)議逐漸成為遠(yuǎn)程會(huì)議市場(chǎng)的主力軍

    隨著社會(huì)發(fā)展,移動(dòng)互聯(lián)網(wǎng)時(shí)代下,企業(yè)內(nèi)外部交流需求不斷加強(qiáng),越來(lái)越多的企業(yè)選擇了視頻會(huì)議來(lái)滿足需求,而近兩年出現(xiàn)的虛擬現(xiàn)實(shí)會(huì)議因眾多優(yōu)勢(shì)被越來(lái)越多的企業(yè)所喜愛(ài),有人預(yù)言說(shuō)虛擬現(xiàn)實(shí)
    發(fā)表于 12-13 10:45 ?3350次閱讀

    基于WebRTC視頻會(huì)議 MCU

    最近幾年,各種設(shè)備和瀏覽器已經(jīng)支持了WebRTC,但是傳統(tǒng)的視頻會(huì)議大都還是基于SIP和H.323, 硬件MCU也還是主流,我們推出了基于WebRTC 的MCU方案,該方案支持SIP 和Web
    發(fā)表于 10-28 11:21 ?9次下載
    基于<b class='flag-5'>WebRTC</b>的<b class='flag-5'>視頻會(huì)議</b> MCU

    CentOS 7.9 Freeswitch 11-視頻會(huì)議MCU(mod_av)

    CentOS 7.9 Freeswitch 11-視頻會(huì)議MCU1、安裝幾個(gè)YUM倉(cāng)庫(kù)2、安裝ffmpeg(或者編譯安裝libav)3、編譯FreeSWITCH4、視頻會(huì)議MCU配置5
    發(fā)表于 10-28 12:36 ?15次下載
    CentOS 7.9 <b class='flag-5'>Freeswitch</b> 11-<b class='flag-5'>視頻會(huì)議</b>MCU(mod_av)

    安裝python怎么添加到環(huán)境變量

    Python是一種簡(jiǎn)單易學(xué)的腳本語(yǔ)言,廣泛應(yīng)用于開(kāi)發(fā)各種類(lèi)型的應(yīng)用程序。為了在Windows操作系統(tǒng)上使用Python的命令行工具,需要將Python添加到系統(tǒng)的環(huán)境變量。本文向您
    的頭像 發(fā)表于 11-23 16:40 ?3608次閱讀
    主站蜘蛛池模板: 天天操 夜夜操 | 国产看色免费 | 成人午夜性a一级毛片美女 成人午夜性视频欧美成人 成人小视频在线 | 色就是色欧美色图 | 狠狠干干干 | 久久久免费的精品 | 狠狠插综合网 | 婷婷六月丁香色婷婷网 | 开心激情五月网 | 天堂日韩| 丁香花的视频免费观看 | 天天看片国产 | 久久亚洲免费视频 | 韩国在线视频 | 最新中文字幕在线资源 | 国产精品三级在线播放 | 欧洲一卡二卡乱码新区 | 日本天天射 | 99久热成人精品视频 | 天天插天天干天天射 | 黄色大片在线视频 | 国产一区二区高清在线 | 不卡一区在线观看 | 日本高清色视频www 日本高清色视频在线观看免费 | cijilu刺激 国产 | 在线观看色视频网站 | 人人人草| 亚洲美女精品 | 午夜三级国产精品理论三级 | 免费人成黄页在线观看日本 | 色淫阁色九九 | 人人看人人做人人爱精品 | 一级做a爰片久久免费 | 天天操天天擦 | 在线播放91灌醉迷j高跟美女 | 国产美女久久久 | 性欧美69 | 伊人网综合视频 | 午夜在线观看网站 | 亚洲欧美日本视频 | gav久久|