公司项目需要,在APP上实现屏幕镜像功能,由于该项目会先落地海外市场,考虑版权因素,最后讨论确定不使用第三方成熟方案(乐播),而是自主开发。
几种主流的技术实现方案:
1、录屏+TCP传输
弊端:延时大,无法满足项目需求
2、录屏+RTMP
用rtmp,手机作为推流端,将视频推给rtmp服务器,vlc等客户端可以直接播放,但是这样做还需要一个流媒体服务器,如果通过流媒体服务器中转,延迟大。
3、录屏+RTSP+RTP
思路是:手机端作为rtsp服务端,vlc作为客户端,通过rtp协议来传输视频流(H.264编码),这样做就省去了搭建流媒体服务的工作。参考github上的开源项目spydroid。
通过测试,延迟能控制在1秒以内,是否满足需求待确认。
结构简述
app相当于一个rtsp服务器,vlc相当于客户端,通过rtsp协议与app的服务端交互,rtsp交互成功后,setup成功后服务端通过rtp协议开始推流。大概结构如下图所示

本文介绍了为海外项目自主开发屏幕镜像功能的过程,对比了录屏+TCP、RTMP和RTSP+RTP三种方案,最终选择了RTSP+RTP,通过Android录屏获取视频数据并搭建RTSP服务器,实现低延迟传输。详细分析了RTSP协议交互流程,并推荐了Spydroid-ipcamera开源项目作为参考。

2439

被折叠的 条评论
为什么被折叠?



