使用android5.0的API MediaProjection 先获取到H264 的视频流,具体使用方式可参考:
(随便搜了一个)http://blog.youkuaiyun.com/leif_/article/details/50971659。
然后将获取到的H264数据进行rtp打包,具体打包网上有,但是实际测试的时候发现延迟越来越高,开始是3S的延迟,后面会越捞越高。通过查资料我这里通过系统时间获取rtp时间戳增量。延迟基本维持在1S左右。打包好之后通过UDP发送到接收端。可以用vlc播放器接收播放,先配置好sdp文件,参数如下
m=video 12580 RTP/AVP 96
a=rtpmap:96 H264/90000 //编码格式
a=fmtp:96 packetization-mode=1; profile-level-id=420029;sprop-parameter-sets=Z0LAFqtAUB7QgAAAAwCAAAAPR4sXUA==,aM48gA==;
a=framerate:25 //码率
c=IN IP4 10.10.13.113 //IP
用vlc打开后sdp文件,然后android开始录屏发送数据。
demo:http://download.youkuaiyun.com/download/u010331295/10149709