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