摘要:下載,我使用的版本是最新的解壓下載文件,就是官方提供全景視頻,將整個(gè)目錄放入服務(wù)中,直接訪問就可以預(yù)覽了。
使用 krpano 制作全景視頻
krpano的強(qiáng)大我就不多說了,了解過的人應(yīng)該都知道,現(xiàn)在市場(chǎng)上只要應(yīng)用全景的幾乎都是使用的krp來實(shí)現(xiàn),krp官方提供了插件,全景視頻使用的是 videoplayer 插件,使用全景攝像機(jī)錄制視頻,在將他們播放到網(wǎng)頁上,可以操作鼠標(biāo)改變視角,也可以在移動(dòng)設(shè)備上使用VR眼鏡觀看。
搭建好環(huán)境,需要一個(gè)本地web服務(wù),我使用的是nodeJS。
下載krpano,我使用的版本是最新的krpano 1.19-pr5
解壓下載文件,/krpano-1.19-pr5/krpano/examples/videopano 就是官方提供全景視頻DEMO,將krpano整個(gè)目錄放入web服務(wù)中,直接訪問index.html就可以預(yù)覽了。
也可以直接下載我放在github上的代碼,里面代碼有我的注釋。
購(gòu)買注冊(cè)如果只是自己學(xué)習(xí)就不用購(gòu)買了,krpano不限制下載,但是demo中央會(huì)有demo version的視頻水印,如果是商用則建議大家支持正版。
LICENSE 購(gòu)買地址 根據(jù)自己的需要選擇相應(yīng)的版本,秘鑰會(huì)發(fā)送到你的注冊(cè)郵箱中,我們打開剛剛下載到的文件找到生成文件的工具 krpano Tools。
雙擊打開就能看到下面的界面
粘貼你的秘鑰然后點(diǎn)擊注冊(cè)就完成了
點(diǎn)擊 Generate Viewers 按鈕,輸入文件名后,一般都輸入 krpano,完成后會(huì)生成兩個(gè)同名文件,將原始文件替換掉就成了,打開視頻,按下O鍵,就可以看到你的注冊(cè)信息了。
具體可以看中文網(wǎng)里的文章 購(gòu)買、下載、注冊(cè)
基本配置首先要了解兩個(gè)配置,一個(gè)是入口文件配置,一個(gè)是插件配置,這兩個(gè)配置都很簡(jiǎn)單
初始化配置embedpano({ swf:"player.swf", xml:"videopano.xml", target:"pano", html5:"auto", passQueryParameters:true, onready:function(krpano){ } });
官方文檔
plugin 配置官方文檔
videopano.xml 和 videointerface.xml這是兩個(gè)最重要的文件,videopano.xml 是主配置文件,videointerface.xml是皮膚配置文件,videointerface 通過 include 引入合并,videointerface 代碼較長(zhǎng)我就不貼了,代碼中我將用到的都加了注釋。
XML靜態(tài)代碼videointerface_addsource("超清", "%CURRENTXML%/video-1024x512.mp4|%CURRENTXML%/video-1024x512.webm", ""); videointerface_addsource("高清", "%CURRENTXML%/video-1920x960.mp4|%CURRENTXML%/video-1920x960.webm", ""); videointerface_addsource("流暢", "%CURRENTXML%/video-1920x960.mp4|%CURRENTXML%/video-1920x960.webm", ""); videointerface_play("高清");
我們后面面對(duì)的幾乎都是krp的靜態(tài)代碼,所以了解清楚它們的功效非常有必要,你可以把它理解為我們HTML代碼中的標(biāo)簽,每個(gè)標(biāo)簽有自己的屬性也有相同屬性,我這里只列幾個(gè)我們用到的,其他的如果有興趣可以看這里,官方文檔中有詳細(xì)介紹。
場(chǎng)景標(biāo)簽, 當(dāng)瀏覽器加載完XML,scnen標(biāo)簽里的內(nèi)容不會(huì)被解析,而是需要手動(dòng)調(diào)用,loadscene(videopano);krp一次只會(huì)加載一個(gè)scene,當(dāng)加載了某個(gè)scene,其他的scene就會(huì)被移除,我們可以在一開始定義多個(gè)scene,再按照?qǐng)鼍斑M(jìn)行切換。
引入外部文件,可以將一個(gè)XML按功能切成不同的模塊,在通過include裝載到一個(gè)文件中。
引用插件,將插件引入我們的工程中,例如我們這里引入的是video。
定義動(dòng)態(tài)代碼,理解為Function
stopdelayedcall(skin_autohide); set(layer[skin_control_bar].state, "visible"); tween(layer[skin_control_bar].y, get(skin_settings.controlbar_offset)); tween(layer[skin_control_bar].alpha, 1.0);
設(shè)置鼠標(biāo)/移動(dòng)設(shè)備/鍵盤 對(duì)視頻的控制 官方文檔
定義光標(biāo)類型,官方文檔
一般用來定義公共樣式,比如定義一張雪碧圖
這個(gè)元素很強(qiáng)大,可以有多種功能,插入圖片,生成容器,基本上我們?cè)诓シ牌魃夏芸吹降臇|西都是用它生成的。
事件元素
定義右鍵菜單內(nèi)容
JS和Action互相調(diào)用
JS調(diào)用Action
function krpanoReady(krpano){ setTimeout(function(){ krpano.call("skin_video_playpause_click"); }, 1000); }
Action調(diào)用JS,如果要讀取一個(gè)變量,則一定要寫在get函數(shù)中,否則只是一個(gè)string
常用動(dòng)作,內(nèi)置Actionjs(test(get(device)));
if(...,true,false)
if函數(shù),接收三個(gè)參數(shù),第一個(gè)參數(shù)為條件,第二參數(shù)為true,第三個(gè)參數(shù)為false
delayedcall(name, time, callback)
相當(dāng)于settimeout
stopdelayedcall(name)
銷毀delated
tween(layer[skin_control_bar].alpha, 1.0); ? variable,要做變化的屬性 ? value,變化的值 ? time (optionally),變化時(shí)間,單位為秒 ? tweentype (optionally),動(dòng)畫類型,默認(rèn)為 linear ? donecall (optionally), 動(dòng)畫結(jié)束的回調(diào) ? updatecall (optionally),動(dòng)畫執(zhí)行過程中的回調(diào)
動(dòng)畫
set(var1, "value")
賦值或者定義變量,第一個(gè)變量可以是自定義也可以是krp的元素的變量??聪鹿俜浇o的例子。
set(var1, "hello"); set(var2, get(var1)); set(fullscreen, true); set(layer[p1].visible, false); set(hotspot[h1].scale, 2.5); set(contextmenu.item[0].caption, "hello item"); set(events.onxmlcomplete, null);
get(var1, "value")
獲取變量值
copy(var1, "value")
Action 接收參數(shù)copy是set的升級(jí)版,我們看到set的第二個(gè)例子,如果第二個(gè)參數(shù)是一個(gè)變量,必須要加get動(dòng)作,但是copy就不需要,其他和set類似。
我們調(diào)用action的時(shí)候會(huì)傳參數(shù)進(jìn)來,這時(shí)候在action接收傳過來的參數(shù)的語法是 %1
大于和小于copy(t1, %1); // A copy(t2, %2); // B copy(t3, %3) // C test("A", "B","C")
在krp中不能使用 < or >,必須是用 GT 和 LT
video事件set(plugin[video].onvideoready, skin_video_updatestate() ); set(plugin[video].onvideoplay, skin_video_updatestate() ); set(plugin[video].onvideopaused, skin_video_updatestate() ); set(plugin[video].onvideocomplete, skin_video_updatestate() ); set(plugin[video].onerror, skin_video_error() );
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/79813.html
摘要:為了實(shí)現(xiàn)全立體的全景圖效果,我們采用了軟件將普通魚眼圖片渲染為全景圖說明代碼有過調(diào)整,并不能保證運(yùn)行,主要說明實(shí)現(xiàn)思路。顯示全景圖要將圖片顯示出來,我們必須按照規(guī)則生成必須的配置文件。我們將根據(jù)上傳圖片是生成的唯一碼作為依據(jù)生成全景圖。 為了實(shí)現(xiàn)全立體的3D全景圖效果,我們采用了Krpano軟件將普通魚眼圖片渲染為720°全景圖 說明:代碼有過調(diào)整,并不能保證運(yùn)行,主要說明實(shí)現(xiàn)思路。首...
摘要:淘寶造物節(jié)的活動(dòng)頁就是全景的一個(gè)很贊的頁面,它將全景圖分割成等份,相鄰的元素構(gòu)成的夾角,相鄰兩側(cè)面相對(duì)于棱柱中心所構(gòu)成的夾角。 本文轉(zhuǎn)自凹凸實(shí)驗(yàn)室:https://aotu.io/notes/2016/08... showImg(https://segmentfault.com/img/remote/1460000011381045); 前言 3D 全景并不是什么新鮮事物了,但以前...
摘要:在定義時(shí)的方法中的第三個(gè)參數(shù),實(shí)際上是文件中元素的內(nèi)部呈現(xiàn)。但是除了元素的各種屬性意外,還有幾個(gè)特殊的屬性和方法在定義時(shí),其中一個(gè)接口中的第一個(gè)參數(shù),是內(nèi)部訪問的直接媒介接口對(duì)象。數(shù)組中的元素也是繼承與,并且額外提供了和屬性。 krpano中有好多object,krpano Plugin Interface, krpano Plugin Object, krpano Base Obje...
摘要:近日,騰訊云與北京未來媒體科技攜手成立了全景中國(guó)實(shí)驗(yàn)室。騰訊云具有獨(dú)家的音視頻技術(shù),同時(shí)擁有直播點(diǎn)播短視頻等多款成熟的云產(chǎn)品,多年的技術(shù)積淀成為全景走向市場(chǎng)的根基。近日,騰訊云與北京未來媒體科技攜手成立了4K全景(中國(guó))實(shí)驗(yàn)室。騰訊云方面表示:4K全景屬于現(xiàn)代視聽的一種新形態(tài),打破了傳統(tǒng)視頻的單向參與模式,可通過遙控器進(jìn)行控制,實(shí)現(xiàn)360°觀看視角,還可對(duì)細(xì)節(jié)進(jìn)行放大,用戶體驗(yàn)與VR媲美。據(jù)...
閱讀 3783·2021-09-22 10:57
閱讀 1938·2019-08-30 15:55
閱讀 2731·2019-08-30 15:44
閱讀 1751·2019-08-30 15:44
閱讀 1897·2019-08-30 15:44
閱讀 2274·2019-08-30 12:49
閱讀 1075·2019-08-29 18:47
閱讀 3163·2019-08-29 16:15