Unity(VR)視訊播放器開發紀錄(非教程)-- 流程:
unity:
1. 介面。
2. ManagerMedia(單列實現對視訊播放器平臺的sdk),只需用提供介面不需要理會平臺。
3. 要點,你要看到的視訊是需要渲染到unity的紋理上,理所當然必須在unity生成一個紋理id傳過去。
Texture2D texture = new Texture2D(Width, height, TextureFormat.BGRA32,false);
intid = (int)texture.GetNativeTexturePtr().ToInt32();
android:
1. 做個媒介驅動ijkplayer,,所以你要掌握就是看ijkplayer的Demo能力,把裡面的有用程式碼抽離。這就要懂比較懂java(暫時只說android,Ios還在研究),就算會java的也未必搞的懂,因為他們都著重在UI,很少去理會底層渲染,我也是用了好長段時間研究.
2. Surface ,surfaceView,Glsurfaceview,SurfaceTexture ,你可以把它們當成一個容器類,在android ijkplayer裡面視訊的渲染就是把資料流先放到這個容器裡面。
public void
setSurfaceTexture(int
tepid){
this.surfaceTexture=
new SurfaceTexture(tepid);
this.surfaceTexture.setOnFrameAvailableListener(this);
Surface surface = new
Surface(
if(this.mediaPlayer != null) {
this.mediaPlayer.setSurface(surface);
}
}
Ijkplayer :
1. 真正視訊解碼使用的工具,我就把它當成了工具。
2. Ijkpalyer基於ffmpeg開源開源播放器,底層是c語言
FBO離屏渲染:
1. opengl
2. 這裡我使用是c++寫的opengl。所以又要懂得使用android NDK打成.so庫提供呼叫,也就是jni。