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(this.surfaceTexture);
    if
(this.mediaPlayer != null) {
       
this.mediaPlayer.setSurface(surface);
   
}

}

Ijkplayer :

扫描二维码关注公众号,回复: 3444260 查看本文章

1.      真正视频解码使用的工具,我就把它当成了工具。

2.      Ijkpalyer基于ffmpeg开源开源播放器,底层是c语言

a)        https://github.com/bbcallen/ijkplayer

FBO离屏渲染:

1.      opengl

2.      这里我使用是c++写的opengl。所以又要懂得使用android NDK打成.so库提供调用,也就是jni。

猜你喜欢

转载自blog.csdn.net/u010665359/article/details/55046305