天天看點

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從各個平台擷取圖像資料來填充紋理即可。

經嘗試,完全可行, 延遲非常低(毫秒級),以下是部分資料:

windows/android/iOS播放器SDK(V2)Unity3D調用說明 大牛直播SDK基于unity3d平台的rtmp/rtsp直播播放端SDK視訊示範 Unity3D-Windows播放端APP下載下傳 Unity3D-Android播放端APK下載下傳

繼續閱讀