一种基于P2P的弱网环境下车载投屏方法及系统与流程

文档序号:34181195发布日期:2023-05-17 08:59阅读:104来源:国知局
一种基于P2P的弱网环境下车载投屏方法及系统与流程

本发明涉及车载无线投屏,具体涉及一种基于p2p的弱网环境下车载投屏方法及系统。


背景技术:

1、当下国内外主流的无线投屏协议由airplay、miracast、dlna、widi、wdhi、bjcsat、lelink等,这些主流的投屏协议,有的依赖硬件支持,有的只能适用于自家产品,有的只能在某些操作系统上使用,且使用起来有各种限制。且在弱网情况下,客户端进行视频的投屏播放时,容易出现卡顿、延时、网络异常中断等现象,很大程度地影响了用户体验。

2、如公开号为cn107396172a的已驳回的发明专利申请《低延迟投屏的方法》中记载,当在延迟时间阈值内接收端正常接收到完整的码流分片时,直接将接收的码流分片传递给播放器解码播放,输出实时画面,当超过延时时间阈值后,接收端没有接收到完整的码流分片时请求发送端重新发送码流分片,并将重新接收的码流分片存入网络抖动缓冲区进行重新排序后传递给播放器。然而,该方案主要体现在视频码流分片超时重发机制,没有说明在哪些系统下可以使用,使用条件高,实用性能差。


技术实现思路

1、针对现有技术中存在的不足,本发明目的是提供一种适用范围广、使用成本低、能够在弱网环境下播放视频并实现屏幕录屏投屏、有效提高用户体验的基于p2p的弱网环境下车载投屏方法及系统。

2、为解决上述技术问题,本发明提供的技术方案是:所述的基于p2p的弱网环境下车载投屏方法,该方法应用于客户端和服务端,该方法包括以下步骤:

3、(1)用户在客户端和服务端分别登录账号;

4、(2)服务端在用户登录后生成二维码,并创建等待连接子线程和接受数据子线程;

5、(3)用户在客户端通过扫描服务端生成的二维码与服务端建立网络连接,并开启子线程监测数据传输速率;

6、(4)在客户端和服务端建立连接后,客户端发送屏幕的尺寸信息到服务端;

7、(5)判断客户端是否为视频播放类投屏,若不是,则进行屏幕截图、对屏幕截图进行编码得到第一编码数据、将第一编码数据发送到服务端,服务端对第一编码数据进行解码后投屏显示;

8、若是,且数据传输速率≥预设速率,则对视频进行截图以及编码,同时动态调整发送的帧数得到第二编码数据,将第二编码数据发送到服务端,服务端对第二编码数据进行解码后播放视频并投屏显示;

9、若是,且数据传输速率<预设速率,则客户端发送url信息到服务端,服务端根据接收得到的url信息自行下载、播放视频并投屏显示;

10、在步骤(5)的编码的过程中,遵循新建的协议报文格式,协议报文格式中,报文包括屏幕投屏screen,视频播放投屏videohttp,视频播放位置控制videopos,播放速率控制videorate,播放音量大小控制videovolume,播放状态控制videostate,客户端屏幕宽高rect,心跳命令noop,客户端退出exit,调试错误码getlasterror,每个命令占3位,timestamp占14位,buflen大小占6位,buf表示屏幕截图的编码数据。

11、在上述方案中,在弱网环境下播放视频投屏或屏幕录屏投屏时,能够根据数据传输速率,动态调整客户端发送的图像编码帧数、码率、编码profile、level级别,降低传输延时。

12、进一步地,在步骤(5)中,服务端根据接收的url信息判断本地是否存在相对应的视频文件,若存在,则解码、播放视频并投屏显示,由此提高了实用性能。

13、进一步地,客户端和服务端同时网络连接有云服务器,云服务器上存储有可供投屏的资源文件。

14、进一步地,在步骤(5)中,客户端在通过云服务器下载视频的同时,服务端播放视频,客户端和服务端按预设条件进行播放进度同步检测。

15、进一步地,若客户端无操作,则屏幕熄屏,并每第一预设时间发送心跳命令noop保持连接;

16、若服务端在第二预设时间内未收到客户端发送的任何数据,则执行断开逻辑,并重新显示二维码界面等待客户端重新连接;

17、若客户端在第三预设时间内未收到服务端的应答反馈,则执行断开逻辑,每隔第四预设时间尝试重连服务端,直到重新连接。

18、所述的基于p2p的弱网环境下车载投屏系统,该系统应用于客户端和服务端,该系统包括客户端登录模块、服务端登陆模块、客户端连接模块、服务端连接模块、客户端编码模块、服务端播放模块;

19、客户端登陆模块,配置为提供用户在客户端进行个人账户的登陆;

20、服务端登陆模块,配置为提供用户在服务端进行个人账户的登陆;

21、客户端连接模块,配置为能够与服务端建立通信连接;

22、服务端连接模块,配置为能够与客户端建立通信连接;

23、客户端编码模块,配置为能够对客户端的图像信息进行编码并发送到服务端;

24、编码遵循新建的协议报文格式,协议报文格式中,报文包括屏幕投屏screen,视频播放投屏videohttp,视频播放位置控制videopos,播放速率控制videorate,播放音量大小控制videovolume,播放状态控制videostate,客户端屏幕宽高rect,心跳命令noop,客户端退出exit,调试错误码getlasterror,每个命令占3位,timestamp占14位,buflen大小占6位,buf表示屏幕截图的编码数据;

25、服务端播放模块,配置为能够对接收自客户端发送的编码进行解码并投屏显示。

26、在上述方案中,在若望环境下播放视频投屏或屏幕录屏投屏时,能够根据数据传输速率,动态调整客户端发送的图像编码帧数、码率、编码profile、level级别,降低传输延时。

27、进一步地,客户端编码模块首先判断客户端是否为视频播放类投屏,若不是,则进行屏幕截图、对屏幕截图进行编码得到第一编码数据、将第一编码数据发送到服务端,服务端播放模块对第一编码数据进行解码后投屏显示;

28、若是,且数据传输速率≥预设速率,则对视频进行截图以及编码,同时动态调整发送的帧数得到第二编码数据,将第二编码数据发送到服务端,服务端播放模块对第二编码数据进行解码后播放视频并投屏显示;

29、若是,且数据传输速率<预设速率,则客户端发送url信息到服务端,服务端播放模块根据接收得到的url信息自行下载、播放视频并投屏显示。

30、进一步地,服务端播放模块根据接收的url信息判断本地是否存在相对应的视频文件,若存在,则解码、播放视频并投屏显示。

31、进一步地,客户端和服务端同时网络连接由云服务器,云服务器上存储有可供投屏的资源文件,客户端编码模块在通过云服务器下载视频的同时,服务端播放模块播放视频,且客户端和服务端按预设条件进行播放进度的同步检测。

32、进一步地,若客户端无操作,则屏幕熄屏,并每第一预设时间发送心跳命令noop保持连接;

33、若服务端在第二预设时间内未收到客户端发送的任何数据,则执行断开逻辑,并重新显示二维码界面等待客户端重新连接;

34、若客户端在第三预设时间内未收到服务端的应答反馈,则执行断开逻辑,每隔第四预设时间尝试重连服务端,直到重新连接。

35、与现有技术相比,本方案具备的显著优点有:

36、本方案通过设计一种新的报文格式,对于客户端屏幕录屏投屏、根据数据传输速率,采用相应的低延时视频播放策略和自适应调整发送的投屏图像编码帧数据,降低传输延时和卡顿,并支持断开自动重连恢复投屏,对于客户端播放视频投屏,借助云服务器边下载边播放,两端进行播放进度同步检测,有效提高了用户体验。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1