Unity环境下RTMP推流+RTMP播放低延迟解决方案
在本文之前,我們發布了Unity環境下的RTMP推流(Windows平臺+Android平臺)和RTMP|RTSP拉流(Windows平臺+Android平臺+iOS平臺)低延遲的解決方案,今天做個整體匯總,權當拋磚引玉。
1. Unity環境下RTMP推流
Unity環境下,不管是camera還是窗體數據也好,主要是高效率的拿到原始數據,采集端可用的數據格式是RGB的,拿到之后,通過高效率的數據傳遞,發給封裝后的原生SDK,完成數據編碼和RTMP推送。
需要注意的地方有幾點:
1. 數據采集投遞,確保高效率;
2. 屏幕分辨率發生變化,可實時適配;
3. Unity和原生SDK之間通信,比如event回調等;
4. 屏幕數據如有水平或垂直翻轉,需要有一定的矯正。
相關博客:
Windows平臺實現Unity下窗體|攝像頭|屏幕采集推送
https://blog.csdn.net/renhui1112/article/details/117785180
Android平臺實現Unity3D下RTMP推送
https://blog.csdn.net/renhui1112/article/details/117669587
2. Unity環境下RTMP|RTSP播放器
Unity環境下RTMP或RTSP直播播放我們前幾年就有發布,并已應用在好多傳統行業領域,比如教育或工業仿真或一些低延遲的控制場景。
相關實現邏輯如下:
1. Native RTSP或RTSP直播播放SDK回調RGB/YUV420/NV12等其中的一種未壓縮的圖像格式;
2. Unity3D創建相應的RGB/YUV420等Shader;
3.Unity3D從各個平臺獲取圖像數據來填充紋理即可;
需要注意的有幾點:
1. 多實例支持:播放端和推送不一樣,比如智慧城市,播放端有多路場景,所以多實例支持是必備功能,多實例環境下,需要能有好的區分event狀態回調等;
2. 盡可能高效率的數據傳遞,確保資源占有最小化;
3. 視頻分辨率變化后,能自動適配;
4. Unity和原生SDK之間通信,比如event回調等;
5. 長時間運行穩定性。
相關博客:
Windows平臺Unity3d下如何同時播放多路RTSP或RTMP流
https://blog.csdn.net/renhui1112/article/details/114674572
如何在Unity3d平臺下低延遲播放RTMP或RTSP流
https://blog.csdn.net/renhui1112/article/details/104154788
總結
以上是生活随笔為你收集整理的Unity环境下RTMP推流+RTMP播放低延迟解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【学术相关】如何将半页纸论文写到十页?
- 下一篇: 【预训练模型】一文串起从NLP到CV 预