背景
对于一款Android设备,如果我想对该Android设备录屏,并经该录屏的数据经过h264编码推流到RTMP服务器,然后由另外一款设备从该服务器拉流,从而显示屏幕数据,实现同屏的效果;另外,如果想开发直播类应用,也可以参考该文,先使用腾讯云SDK进行demo的开发和验证。
腾讯云SDK介绍
腾讯云移动直播(Mobile Live Video Broadcasting,MLVB)SDK 是云直播服务在移动场景的延伸。相比于主要面向云对接的直播服务,移动直播既提供了基于 RTMP SDK 的“快速集成方案”,也提供了集标准直播(LVB)、快直播(LEB)、云点播(VOD)、即时通信(IM) 和对象存储(COS) 等多云端服务的“一体化解决方案”。具体详情,可参考官 的介绍:https://cloud.tencent.com/document/product/454/56592
搭建RTMP服务器
(1)下载 Nginx 源码
(2)下载 Nginx-rtmp-module
(3)安装依赖开发包
(4)配置Nginx
(5)启动或停止服务
运行nginx:sudo bin/sbin/nginx
浏览器中可以查看:http://192.168.36.113/stat
如果各位不想操作上述步骤,也可以直接下载我已经调试好了的RTMP服务器压缩包,只需要解压该压缩包,运行nginx即可搭建成一个RTMP服务器。
详见:https://download.csdn.net/download/jidapenglin28/22034838
编写Android版本的视频推流程序
摄像头推流,请参考:https://cloud.tencent.com/document/product/454/56592
录屏推流,请参考:https://cloud.tencent.com/document/product/454/56595
腾讯云SDK的推流所使用的RTMP服务器可以使用腾讯云,也可以使用自己搭建的RTMP服务器,如果要使用腾讯云的RTMP(属于腾讯云直播模块),则需要按照腾讯云的相关要求进行若干申请,手续还挺麻烦的,如果您想使用,具体可以参考:https://console.cloud.tencent.com/live/livestat
摄像头推流
步骤一:申请腾讯云License
https://console.cloud.tencent.com/live/license
然后在你的Android应用的onCreate或者Application中初始化:
步骤二:推流
步骤三:在推流前,需要在RTMP服务器上开启RTMP服务,然后可以在浏览器中使用http://192.168.36.113/stat之类的链接实时查看到推流的过程,此时如果使用拉流的应用,即可实时播放(如可以在ubuntu服务器上使用命令:ffplay “rtmp://192.168.36.113:1935/myapp/1” 即可播放推送的视频流);
当然,也可使用腾讯云提供的“腾讯云视立方APP”拉流播放。
该apk的下载地址:https://download.csdn.net/download/jidapenglin28/22036087
屏幕推流
步骤一:申请腾讯云License
https://console.cloud.tencent.com/live/license
然后在你的Android应用的onCreate或者Application中初始化:
步骤二:推流
步骤三:拉流播放,同上面的摄
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!