安卓录屏投屏利用JAVA NIO传输H264、H265数据格式的方法技术

技术编号:22295165 阅读:37 留言:0更新日期:2019-10-15 04:21
本发明专利技术涉及一种安卓录屏投屏利用JAVA NIO传输H264、H265数据格式的方法,包括步骤:录屏端录屏采集到第一数据,将该第一数据进行封装成H264或H265数据格式;将封装成H264或H265数据转成byte字节数据,然后进行通过byte字节数据转换成ByteBuffer,再交由NIO进行数据传输。本发明专利技术中录屏端作为服务器端,使用nio socket给客户端传输数据,这样一来可以达到一对多的目的,也可以达到多对一对手机进行操控。同时客户端也采用nio socket进行数据接收与传输,可以达到和服务器端更高效的交互。

A Method of Transferring H264 and H265 Data Formats by JAVA NIO for Android Screen Projection

【技术实现步骤摘要】
安卓录屏投屏利用JAVANIO传输H264、H265数据格式的方法
本专利技术涉及安卓录屏投屏技术,尤其涉及一种安卓录屏投屏利用JAVANIO传输H264、H265数据格式的方法。
技术介绍
图1是标准iosocket示意图,其展示服务器端使用多线程处理的结构,对于服务器端:负责不断地请求echoServer.accept(),如果没有客户端请求主线程会阻塞,当有客户端请求服务器端时,主线程会用线程池新创建一个线程执行。也就是说一个线程负责一个客户端socket,当一个客户端socket因为网络延迟时,服务器端负责这个客户端的线程就会等待,浪费资源。对于客户端:假设主线程创建10个子线程去请求server,这是个模拟网络拥堵时的客户端socket,每打一个字符就会停1秒,这样服务器端的线程也要等待,就会造成服务器端的资源被浪费,运用标准iosocket的安卓录屏投屏同样具有低效的问题。图2是niosocket示意图,其展示服务器端多线程的结构,相较于标准iosocket,其通过事件通知的机制,当数据准备好了才会通知服务器端线程进行读写,避免了网络io等待。一个线程控制一个selector,一个selector可以轮询多个客户端的channel,这样服务器端线程不用等待网络io,只会处理准备好的数据。本专利技术基于JAVANIO来开发安卓录屏投屏,以期获得较好的用户体验。
技术实现思路
本专利技术正是针对上述的问题,提出一种安卓录屏投屏利用JAVANIO传输H264、H265数据格式的方法。一种安卓录屏投屏利用JAVANIO传输H264、H265数据格式的方法,包括步骤:录屏端录屏采集到第一数据,将该第一数据进行封装成H264或H265数据格式;将封装成H264或H265数据转成byte字节数据,然后进行通过byte字节数据转换成ByteBuffer,再交由NIO进行数据传输。优选地,所述录屏端为Android5.0以上版本。优选地,所述第一数据的数据格式为ByteBuffer类型。优选地,录屏端为服务器端,其niosocket给客户端传输数据,达到一对多的目的,也可以达到多对一对手机进行操控。优选地,客户端也采用niosocket进行数据接收与传输,与服务器端多线程交互。本专利技术技术所具有的有益效果为:本专利技术中录屏端作为服务器端,使用niosocket给客户端传输数据,这样一来可以达到一对多的目的,也可以达到多对一对手机进行操控。同时客户端也采用niosocket进行数据接收与传输,可以达到和服务器端更高效的交互。附图说明图1为现有技术标准iosocket示意图;图2为现有技术niosocket示意图;图3为本专利技术JAVANIO传输H264、H265数据格式方法的流程图。具体实施方式为了便于本领域的普通技术人员能够理解并实施本专利技术,下面将结合附图对本专利技术实施例作进一步说明。参考图3,本专利技术提供一种安卓录屏投屏利用JAVANIO传输H264、H265数据格式的方法,包括步骤:S1、录屏端录屏采集到第一数据,将该第一数据进行封装成H264或H265数据格式;S2、将封装成H264或H265数据转成byte字节数据,然后进行通过byte字节数据转换成ByteBuffer,再交由NIO进行数据传输。其中,录屏端为服务器端,其niosocket给客户端传输数据,达到一对多的目的,也可以达到多对一对手机进行操控。客户端也采用niosocket进行数据接收与传输,与服务器端多线程交互。作为本专利技术一优选技术方案,所述录屏端为Android5.0以上版本。作为本专利技术一优选技术方案,所述第一数据的数据格式为ByteBuffer类型。即为:Android5.0以上录屏采集获取到的数据格式是ByteBuffer类型的,然后再将获取到的ByteBuffer数据进行封装,封装成H264或H265的数据格式,将封装成H264或者H265的数据转成byte字节数据,然后进行通过byte字节数据转换成ByteBuffer,再交由NIO进行数据传输。本专利技术安卓录屏投屏利用JAVANIO传输H264、H265数据格式的方法,相比标准iosocket,使用niosocket方法处理效率远远高于iosocket,这样当我们在做手机的录屏,投屏控制的时候,可以提高用户的体验、减少资源浪费。以上所述实施例仅表达了本专利技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本专利技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变形和改进,这些都属于本专利技术的保护范围。因此,本专利技术专利的保护范围应以所附权利要求为准。本文档来自技高网...

【技术保护点】
1.一种安卓录屏投屏利用JAVA NIO传输H264、H265数据格式的方法,其特征在于,包括步骤:录屏端录屏采集到第一数据,将该第一数据进行封装成H264或H265数据格式;将封装成H264或H265数据转成byte字节数据,然后进行通过byte字节数据转换成ByteBuffer,再交由NIO进行数据传输。

【技术特征摘要】
1.一种安卓录屏投屏利用JAVANIO传输H264、H265数据格式的方法,其特征在于,包括步骤:录屏端录屏采集到第一数据,将该第一数据进行封装成H264或H265数据格式;将封装成H264或H265数据转成byte字节数据,然后进行通过byte字节数据转换成ByteBuffer,再交由NIO进行数据传输。2.根据权利要求1所述的安卓录屏投屏利用JAVANIO传输H264、H265数据格式的方法,其特征在于,所述录屏端为Android5.0以上版本。3.根据权利要求1或2所述的安卓录屏投屏利用JA...

【专利技术属性】
技术研发人员:黄宏发刘毅何蔚黄慈航严锦华
申请(专利权)人:深圳市瑞驰信息技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1