Unity3d(U3D) Windows/Android/IOS 播放rtmp/rtsp方案

如果基于Unity3d完全重新开发一个播放器,代价大,周期长,不适合快速出产品,最好的方式就是集成现有Native平台上成熟稳定播放器.

集成Navtive播放器可行性分析:

安卓: Unity3d可以调用安卓java接口,这方面的例子很多,搜索能找到一大堆。

IOS: Unity3d 可以调用C接口, c又可以调用object-c,那么C#--call-->C---call---object-c. 这类例子也非常多。

Windows: Unity3d调用C#就不用说了,天生支持,C#调用c dll, 可以使用P/INVOKE技术,或者把C接口封装成com组件也可以。

综上Unity3d和3个平台交互是没问题的. 

这三个平台已经有成熟稳定低延时的rtmp/rtsp播放器SDK了,只要这些现有的播放SDK能吐图像数据, 然后让Unity3d绘制即可。

实现步骤:

1.Native播放器SDK支持吐RGB/YUV420/NV12等其中的一种未压缩的图像格式。

2.Unity3D创建相应的RGB/YUV420等Shader.

3.Unity3D从各个平台获取图像数据来填充纹理即可。

经尝试,完全可行,  效果理想。

效果图:

安卓+IOS:


Windows:



猜你喜欢

转载自blog.csdn.net/lsheevyfg/article/details/80559720