CN116132721A - 一种基于p2p的弱网环境下车载投屏方法及系统 - Google Patents

一种基于p2p的弱网环境下车载投屏方法及系统 Download PDF

Info

Publication number
CN116132721A
CN116132721A CN202310008937.2A CN202310008937A CN116132721A CN 116132721 A CN116132721 A CN 116132721A CN 202310008937 A CN202310008937 A CN 202310008937A CN 116132721 A CN116132721 A CN 116132721A
Authority
CN
China
Prior art keywords
server
client
screen
video
playing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310008937.2A
Other languages
English (en)
Inventor
王旭东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FAW Group Corp
Original Assignee
FAW Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FAW Group Corp filed Critical FAW Group Corp
Priority to CN202310008937.2A priority Critical patent/CN116132721A/zh
Publication of CN116132721A publication Critical patent/CN116132721A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43076Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明涉及车载无线投屏技术领域,具体涉及一种基于P2P的弱网环境下车载投屏方法及系统;在本方法中,服务端在用户登录后生成二维码,并创建等待连接子线程和接受数据子线程;用户在客户端通过扫描服务端生成的二维码与服务端建立网络连接,并开启子线程监测数据传输速率;在客户端和服务端建立连接后,客户端发送屏幕的尺寸信息到服务端;判断客户端是否为视频播放类投屏;在本方案中,在弱网环境下播放视频投屏或屏幕录屏投屏时,系统能够根据数据传输速率,动态调整客户端发送的图像编码帧数、码率、编码profile、level级别,降低传输延时。

Description

一种基于P2P的弱网环境下车载投屏方法及系统
技术领域
本发明涉及车载无线投屏技术领域,具体涉及一种基于P2P的弱网环境下车载投屏方法及系统。
背景技术
当下国内外主流的无线投屏协议由AirPlay、Miracast、DLNA、WiDi、WDHI、BJCsat、lelink等,这些主流的投屏协议,有的依赖硬件支持,有的只能适用于自家产品,有的只能在某些操作系统上使用,且使用起来有各种限制。且在弱网情况下,客户端进行视频的投屏播放时,容易出现卡顿、延时、网络异常中断等现象,很大程度地影响了用户体验。
如公开号为CN107396172A的已驳回的发明专利申请《低延迟投屏的方法》中记载,当在延迟时间阈值内接收端正常接收到完整的码流分片时,直接将接收的码流分片传递给播放器解码播放,输出实时画面,当超过延时时间阈值后,接收端没有接收到完整的码流分片时请求发送端重新发送码流分片,并将重新接收的码流分片存入网络抖动缓冲区进行重新排序后传递给播放器。然而,该方案主要体现在视频码流分片超时重发机制,没有说明在哪些系统下可以使用,使用条件高,实用性能差。
发明内容
针对现有技术中存在的不足,本发明目的是提供一种适用范围广、使用成本低、能够在弱网环境下播放视频并实现屏幕录屏投屏、有效提高用户体验的基于P2P的弱网环境下车载投屏方法及系统。
为解决上述技术问题,本发明提供的技术方案是:所述的基于P2P的弱网环境下车载投屏方法,该方法应用于客户端和服务端,该方法包括以下步骤:
(1)用户在客户端和服务端分别登录账号;
(2)服务端在用户登录后生成二维码,并创建等待连接子线程和接受数据子线程;
(3)用户在客户端通过扫描服务端生成的二维码与服务端建立网络连接,并开启子线程监测数据传输速率;
(4)在客户端和服务端建立连接后,客户端发送屏幕的尺寸信息到服务端;
(5)判断客户端是否为视频播放类投屏,若不是,则进行屏幕截图、对屏幕截图进行编码得到第一编码数据、将第一编码数据发送到服务端,服务端对第一编码数据进行解码后投屏显示;
若是,且数据传输速率≥预设速率,则对视频进行截图以及编码,同时动态调整发送的帧数得到第二编码数据,将第二编码数据发送到服务端,服务端对第二编码数据进行解码后播放视频并投屏显示;
若是,且数据传输速率<预设速率,则客户端发送url信息到服务端,服务端根据接收得到的url信息自行下载、播放视频并投屏显示;
在步骤(5)的编码的过程中,遵循新建的协议报文格式,协议报文格式中,报文包括屏幕投屏screen,视频播放投屏videohttp,视频播放位置控制videopos,播放速率控制videorate,播放音量大小控制videovolume,播放状态控制videostate,客户端屏幕宽高rect,心跳命令noop,客户端退出exit,调试错误码getlasterror,每个命令占3位,timestamp占14位,buflen大小占6位,buf表示屏幕截图的编码数据。
在上述方案中,在弱网环境下播放视频投屏或屏幕录屏投屏时,能够根据数据传输速率,动态调整客户端发送的图像编码帧数、码率、编码profile、level级别,降低传输延时。
进一步地,在步骤(5)中,服务端根据接收的url信息判断本地是否存在相对应的视频文件,若存在,则解码、播放视频并投屏显示,由此提高了实用性能。
进一步地,客户端和服务端同时网络连接有云服务器,云服务器上存储有可供投屏的资源文件。
进一步地,在步骤(5)中,客户端在通过云服务器下载视频的同时,服务端播放视频,客户端和服务端按预设条件进行播放进度同步检测。
进一步地,若客户端无操作,则屏幕熄屏,并每第一预设时间发送心跳命令noop保持连接;
若服务端在第二预设时间内未收到客户端发送的任何数据,则执行断开逻辑,并重新显示二维码界面等待客户端重新连接;
若客户端在第三预设时间内未收到服务端的应答反馈,则执行断开逻辑,每隔第四预设时间尝试重连服务端,直到重新连接。
所述的基于P2P的弱网环境下车载投屏系统,该系统应用于客户端和服务端,该系统包括客户端登录模块、服务端登陆模块、客户端连接模块、服务端连接模块、客户端编码模块、服务端播放模块;
客户端登陆模块,配置为提供用户在客户端进行个人账户的登陆;
服务端登陆模块,配置为提供用户在服务端进行个人账户的登陆;
客户端连接模块,配置为能够与服务端建立通信连接;
服务端连接模块,配置为能够与客户端建立通信连接;
客户端编码模块,配置为能够对客户端的图像信息进行编码并发送到服务端;
编码遵循新建的协议报文格式,协议报文格式中,报文包括屏幕投屏screen,视频播放投屏videohttp,视频播放位置控制videopos,播放速率控制videorate,播放音量大小控制videovolume,播放状态控制videostate,客户端屏幕宽高rect,心跳命令noop,客户端退出exit,调试错误码getlasterror,每个命令占3位,timestamp占14位,buflen大小占6位,buf表示屏幕截图的编码数据;
服务端播放模块,配置为能够对接收自客户端发送的编码进行解码并投屏显示。
在上述方案中,在若望环境下播放视频投屏或屏幕录屏投屏时,能够根据数据传输速率,动态调整客户端发送的图像编码帧数、码率、编码profile、level级别,降低传输延时。
进一步地,客户端编码模块首先判断客户端是否为视频播放类投屏,若不是,则进行屏幕截图、对屏幕截图进行编码得到第一编码数据、将第一编码数据发送到服务端,服务端播放模块对第一编码数据进行解码后投屏显示;
若是,且数据传输速率≥预设速率,则对视频进行截图以及编码,同时动态调整发送的帧数得到第二编码数据,将第二编码数据发送到服务端,服务端播放模块对第二编码数据进行解码后播放视频并投屏显示;
若是,且数据传输速率<预设速率,则客户端发送url信息到服务端,服务端播放模块根据接收得到的url信息自行下载、播放视频并投屏显示。
进一步地,服务端播放模块根据接收的url信息判断本地是否存在相对应的视频文件,若存在,则解码、播放视频并投屏显示。
进一步地,客户端和服务端同时网络连接由云服务器,云服务器上存储有可供投屏的资源文件,客户端编码模块在通过云服务器下载视频的同时,服务端播放模块播放视频,且客户端和服务端按预设条件进行播放进度的同步检测。
进一步地,若客户端无操作,则屏幕熄屏,并每第一预设时间发送心跳命令noop保持连接;
若服务端在第二预设时间内未收到客户端发送的任何数据,则执行断开逻辑,并重新显示二维码界面等待客户端重新连接;
若客户端在第三预设时间内未收到服务端的应答反馈,则执行断开逻辑,每隔第四预设时间尝试重连服务端,直到重新连接。
与现有技术相比,本方案具备的显著优点有:
本方案通过设计一种新的报文格式,对于客户端屏幕录屏投屏、根据数据传输速率,采用相应的低延时视频播放策略和自适应调整发送的投屏图像编码帧数据,降低传输延时和卡顿,并支持断开自动重连恢复投屏,对于客户端播放视频投屏,借助云服务器边下载边播放,两端进行播放进度同步检测,有效提高了用户体验。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明车载投屏方法在实施例中的步骤流程图;
图2为本实施例中hongqilink协议报文格式示意图;
图3为本发明车载投屏系统在实施例中的模块结构示意图。
具体实施方式
以下结合附图对本发明的优选实例进行说明,应当理解,此处所描述的优选实例仅用于说明和解释本发明,并不用于限定本发明。
当下的国内外主流的无线投屏协议包括有AirPlay、Miracast、DLNA、WiDi、WDHI、BJCsat、lelink等,其中,AirPlay协议是苹果开发的一种无线技术,可以通过WiFi将iPhone、iPad等iOS设备上的音视频、图片通过无线方式传输到支持AirPlay的设备。AirPlay协议只适用于苹果公司自家产品或授权的产品在同一局域网内使用。
Miracast协议是由Wi-Fi联盟所制定,以WiFi连接为基础的无线投屏协议,Miracast无线投屏是兼容性最广的投屏协议,但是该协议不支持非Android手机和智能电视,需要网卡、显卡和驱动的支持才可以使用。
DLNA协议是索尼、英特尔、微软等发起的一套PC、移动设备、消费电器之间互联互通的协议,可以将多媒体文件投屏到电视机或投影仪上,2017年开始不再更新DLNA协议。
WiDi是一种支持Windows10笔记本无线投屏的方式,其无需安装软件即可实现无线投屏,但依赖于硬件支持。
WDHI协议是HDMI传输解决方案,能够实现无损传输,但成本较高,发射端需要独立供电,并且需要无障碍传输。
诸如以上主流的投屏协议,有的依赖硬件支持,有的只能适用于自家产品,有的只能在某些操作系统上使用,使用起来存在各种限制。且在弱网情况下,客户端视频播放投屏会出现卡顿、延迟、网络异常中断等现象,很大程度上影响了用户体验。
本方案提出了一种基于P2P的弱网环境下的车载投屏方法及系统,无需安装新的硬件或数据线,且不局限于windows、ios、android、linux等操作系统,客户端和服务端是同一个APP应用程序,只需要两端同时联网即可使用投屏,应用范围广,实施成本低。
具体的,如图1所示,本发明所述的基于P2P的弱网环境下的车载投屏方法,该方法应用于客户端和服务端,该方法包括以下步骤:
(1)用户在客户端和服务端分别登陆账号;
(2)所述服务端在用户登录后生成二维码,并创建等待连接子线程和接收数据子线程;
(3)用户在客户端通过扫描服务端生成的二维码与服务端建立网络连接,并开启子线程监测数据传输速率;
(4)在客户端和服务端建立连接后,客户端发送屏幕的尺寸信息到服务端;
(5)判断客户端是否为视频播放类投屏,若不是,则进行屏幕截图、对屏幕截图进行编码得到第一编码数据、将第一编码数据发送到服务端,服务端对第一编码数据进行解码后投屏显示;
若是,且数据传输速率≥预设速率,则对视频进行截图以及解码,同时动态调整发送的帧数得到第二编码数据,将第二编码数据发送到服务端,服务端对第二编码数据进行解码后播放视频并投屏显示;
若是,且数据传输速率<预设速率,则客户端发送url信息到服务端,服务端根据接收得到的url信息自行下载、播放视频并投屏显示;
上述的预设速率在本实施例中为3Mbps,在实际使用过程中,该预设速率越高效果越好,但基本不低于3Mbps。
其中,在步骤(5)的编码过程中,遵循本方案新建的hongqilink投屏协议报文格式,该协议报文格式中,报文包括屏幕投屏screen,视频播放投屏videohttp,视频播放位置控制videopos,播放速率控制videorate,播放音量大小控制videovolume,播放状态控制videostate,客户端屏幕宽高rect,心跳命令noop,客户端退出exit,调试错误码getlasterror,每个命令占3位,timestamp占14位,buflen大小占6位,buf表示屏幕截图的编码数据,具体如图2所示。
该报文的设计原则为,用尽量少的字节数,允许一定的丢包率,因为录屏投屏不断的发送压缩图片,覆盖式的刷新显示,因此允许了一定的丢包率,来满足弱网情况下的低延迟,保障了用户体验。
在步骤(5)中,服务端根据接收的url信息来判断本地是否存在相对应的视频文件,比如在投屏之前就通过拷贝视频文件到服务端本地或本地已缓存过该视频文件,若存在,则直接解码、播放视频并投屏显示。
客户端和服务端同时网络连接由云服务器,该云服务器上存储由可供投屏的资源文件。客户端在通过云服务器下载视频的同时,服务端播放视频,客户端和服务端能够按预设条件、本实施例中是每秒,反馈播放进度,进行播放进度同步检测。
若客户端无操作,则屏幕熄屏,并每第一预设时间、本实施例中为5s,发送心跳命令noop保持连接。
若服务端在第二预设时间、本实施例中为10s,内未收到客户端发送的任何数据,则执行断开逻辑,并重新显示二维码等待界面等待客户端重新连接。
若客户端在第三预设时间、本实施例中为10s,内未收到服务端的应答反馈,则执行断开逻辑,每隔第四预设时间、本实施例中为3s尝试重连服务端,直到重新连接。
二维码生成可以使用开源的QRcode库,根据ip地址和端口生成一幅二维码图片,供客户端扫码并获得ip地址和端口,从而建立网络连接。
客户端开启一个子线程监测数据发送速率,客户端屏幕截图投屏或在弱网环境下,需要根据数据发送速率,动态调整每秒发送的压缩图像的帧数、帧率等信息,从而降低报文的数据量。
在录屏投屏显示方面,可以采用跨平台的OpenGI,视频播放可以采用基于ffmpeg的库,例如android系统可以使用ijkplayer等播放视频。
在上述方案中,设计了一种新的报文格式,对于客户端屏幕录屏投屏、根据数据传输速率,采用相应的低延时视频播放策略和自适应调整发送的投屏图像编码帧数据,降低传输延时和卡顿,并支持断开自动重连恢复投屏,对于客户端播放视频投屏,借助云服务器边下载边播放,两端进行播放进度同步检测,有效提高了用户体验。
如图3所示,本发明所述的基于P2P的弱网环境下车载投屏系统,该系统应用于客户端和服务端,该系统包括客户端登录模块、服务端登陆模块、客户端连接模块、服务端连接模块、客户端编码模块、服务端播放模块;
客户端登陆模块,配置为提供用户在客户端进行个人账户的登陆;
服务端登陆模块,配置为提供用户在服务端进行个人账户的登陆;
客户端连接模块,配置为能够与服务端建立通信连接;
服务端连接模块,配置为能够与客户端建立通信连接;
客户端编码模块,配置为能够对客户端的图像信息进行编码并发送到服务端;
编码遵循新建的协议报文格式,协议报文格式中,报文包括屏幕投屏screen,视频播放投屏videohttp,视频播放位置控制videopos,播放速率控制videorate,播放音量大小控制videovolume,播放状态控制videostate,客户端屏幕宽高rect,心跳命令noop,客户端退出exit,调试错误码getlasterror,每个命令占3位,timestamp占14位,buflen大小占6位,buf表示屏幕截图的编码数据;
服务端播放模块,配置为能够对接收自客户端发送的编码进行解码并投屏显示。
具体的,客户端编码模块首先判断客户端是否为视频播放类投屏,若不是,则进行屏幕截图、对屏幕截图进行编码得到第一编码数据、将第一编码数据发送到服务端,服务端播放模块对第一编码数据进行解码后投屏显示。
若是,且数据传输速率≥预设速率、则对视频进行截图以及编码,同时动态调整发送的帧数得到第二编码数据,将第二编码数据发送到服务端,服务端播放模块对第二编码数据进行解码后播放视频并投屏显示;
若是,且数据传输速率<预设速率,则客户端发送url信息到服务端,服务端播放模块根据接收得到的url信息自行下载、播放视频并投屏显示。
上述的预设速率在本实施例中为3Mbps,在实际使用过程中,该预设速率越高效果越好,但基本不低于3Mbps。
服务端播放模块根据接收的url信息判断本地是否存在相对应的视频文件,若存在,则解码、播放视频并投屏显示。
客户端和服务端同时网络连接由云服务器,该云服务器上存储由可供投屏的资源文件。客户端编码模块在通过云服务器下载视频的同时,服务端播放模块播放视频,客户端和服务端能够按预设条件、本实施例中是每秒,反馈播放进度,进行播放进度同步检测。
若客户端无操作,则屏幕熄屏,并每第一预设时间、本实施例中为5s,发送心跳命令noop保持连接。
若服务端在第二预设时间、本实施例中为10s,内未收到客户端发送的任何数据,则执行断开逻辑,并重新显示二维码等待界面等待客户端重新连接。
若客户端在第三预设时间、本实施例中为10s,内未收到服务端的应答反馈,则执行断开逻辑,每隔第四预设时间、本实施例中为3s尝试重连服务端,直到重新连接。
二维码生成可以使用开源的QRcode库,根据ip地址和端口生成一幅二维码图片,供客户端扫码并获得ip地址和端口,从而建立网络连接。
客户端开启一个子线程监测数据发送速率,客户端屏幕截图投屏或在弱网环境下,需要根据数据发送速率,动态调整每秒发送的压缩图像的帧数、帧率等信息,从而降低报文的数据量。
在录屏投屏显示方面,可以采用跨平台的OpenGI,视频播放可以采用基于ffmpeg的库,例如android系统可以使用ijkplayer等播放视频。
在上述方案中,设计了一种新的报文格式,对于客户端屏幕录屏投屏、根据数据传输速率,采用相应的低延时视频播放策略和自适应调整发送的投屏图像编码帧数据,降低传输延时和卡顿,并支持断开自动重连恢复投屏,对于客户端播放视频投屏,借助云服务器边下载边播放,两端进行播放进度同步检测,有效提高了用户体验。
最后应说明的是:以上所述仅为本发明的优选实例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于P2P的弱网环境下车载投屏方法,其特征在于,该方法应用于客户端和服务端,该方法包括以下步骤:
(1)用户在客户端和服务端分别登录账号;
(2)所述服务端在用户登录后生成二维码,并创建等待连接子线程和接受数据子线程;
(3)用户在所述客户端通过扫描所述服务端生成的二维码与所述服务端建立网络连接,并开启子线程监测数据传输速率;
(4)在所述客户端和所述服务端建立连接后,所述客户端发送屏幕的尺寸信息到所述服务端;
(5)判断所述客户端是否为视频播放类投屏,若不是,则进行屏幕截图、对屏幕截图进行编码得到第一编码数据、将所述第一编码数据发送到所述服务端,所述服务端对所述第一编码数据进行解码后投屏显示;
若是,且数据传输速率≥预设速率,则对视频进行截图以及编码,同时动态调整发送的帧数得到第二编码数据,将所述第二编码数据发送到所述服务端,所述服务端对所述第二编码数据进行解码后播放视频并投屏显示;
若是,且数据传输速率<预设速率,则所述客户端发送url信息到所述服务端,所述服务端根据接收得到的所述url信息自行下载、播放视频并投屏显示;
在步骤(5)的编码的过程中,遵循新建的协议报文格式,所述协议报文格式中,报文包括屏幕投屏screen,视频播放投屏videohttp,视频播放位置控制videopos,播放速率控制videorate,播放音量大小控制videovolume,播放状态控制videostate,客户端屏幕宽高rect,心跳命令noop,客户端退出exit,调试错误码getlasterror,每个命令占3位,timestamp占14位,buflen大小占6位,buf表示屏幕截图的编码数据。
2.根据权利要求1所述的基于P2P的弱网环境下车载投屏方法,其特征在于,在步骤(5)中,所述服务端根据接收的所述url信息判断本地是否存在相对应的视频文件,若存在,则解码、播放视频并投屏显示。
3.根据权利要求1所述的基于P2P的弱网环境下车载投屏方法,其特征在于,所述客户端和服务端同时网络连接有云服务器,所述云服务器上存储有可供投屏的资源文件。
4.根据权利要求3所述的基于P2P的弱网环境下车载投屏方法,其特征在于,在所述步骤(5)中,所述客户端在通过所述云服务器下载视频的同时,所述服务端播放视频,所述客户端和所述服务端按预设条件进行播放进度同步检测。
5.根据权利要求4所述的基于P2P的弱网环境下车载投屏方法,其特征在于,若所述客户端无操作,则屏幕熄屏,并每第一预设时间发送所述心跳命令noop保持连接;
若所述服务端在第二预设时间内未收到所述客户端发送的任何数据,则执行断开逻辑,并重新显示二维码界面等待所述客户端重新连接;
若所述客户端在第三预设时间内未收到所述服务端的应答反馈,则执行断开逻辑,每隔第四预设时间尝试重连所述服务端,直到重新连接。
6.一种基于P2P的弱网环境下车载投屏系统,其特征在于,该系统应用于客户端和服务端,该系统包括客户端登录模块、服务端登陆模块、客户端连接模块、服务端连接模块、客户端编码模块、服务端播放模块;
所述客户端登陆模块,配置为提供用户在所述客户端进行个人账户的登陆;
所述服务端登陆模块,配置为提供用户在所述服务端进行个人账户的登陆;
所述客户端连接模块,配置为能够与所述服务端建立通信连接;
所述服务端连接模块,配置为能够与所述客户端建立通信连接;
所述客户端编码模块,配置为能够对所述客户端的图像信息进行编码并发送到所述服务端;
所述编码遵循新建的协议报文格式,所述协议报文格式中,报文包括屏幕投屏screen,视频播放投屏videohttp,视频播放位置控制videopos,播放速率控制videorate,播放音量大小控制videovolume,播放状态控制videostate,客户端屏幕宽高rect,心跳命令noop,客户端退出exit,调试错误码getlasterror,每个命令占3位,timestamp占14位,buflen大小占6位,buf表示屏幕截图的编码数据;
所述服务端播放模块,配置为能够对接收自所述客户端发送的编码进行解码并投屏显示。
7.根据权利要求6所述的基于P2P的弱网环境下车载投屏系统,其特征在于,所述客户端编码模块首先判断所述客户端是否为视频播放类投屏,若不是,则进行屏幕截图、对屏幕截图进行编码得到第一编码数据、将所述第一编码数据发送到所述服务端,所述服务端播放模块对所述第一编码数据进行解码后投屏显示;
若是,且数据传输速率≥预设速率,则对视频进行截图以及编码,同时动态调整发送的帧数得到第二编码数据,将所述第二编码数据发送到所述服务端,所述服务端播放模块对所述第二编码数据进行解码后播放视频并投屏显示;
若是,且数据传输速率<预设速率,则所述客户端发送url信息到所述服务端,所述服务端播放模块根据接收得到的url信息自行下载、播放视频并投屏显示。
8.根据权利要求7所述的基于P2P的弱网环境下车载投屏系统,其特征在于,所述服务端播放模块根据接收的所述url信息判断本地是否存在相对应的视频文件,若存在,则解码、播放视频并投屏显示。
9.根据权利要求7所述的基于P2P的弱网环境下车载投屏系统,其特征在于,所述客户端和所述服务端同时网络连接由云服务器,所述云服务器上存储有可供投屏的资源文件,所述客户端编码模块在通过所述云服务器下载视频的同时,所述服务端播放模块播放视频,且所述客户端和所述服务端按预设条件进行播放进度的同步检测。
10.根据权利要求9所述的基于P2P的弱网环境下车载投屏系统,其特征在于,若所述客户端无操作,则屏幕熄屏,并每第一预设时间发送所述心跳命令noop保持连接;
若所述服务端在第二预设时间内未收到所述客户端发送的任何数据,则执行断开逻辑,并重新显示二维码界面等待所述客户端重新连接;
若所述客户端在第三预设时间内未收到所述服务端的应答反馈,则执行断开逻辑,每隔第四预设时间尝试重连所述服务端,直到重新连接。
CN202310008937.2A 2023-01-04 2023-01-04 一种基于p2p的弱网环境下车载投屏方法及系统 Pending CN116132721A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310008937.2A CN116132721A (zh) 2023-01-04 2023-01-04 一种基于p2p的弱网环境下车载投屏方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310008937.2A CN116132721A (zh) 2023-01-04 2023-01-04 一种基于p2p的弱网环境下车载投屏方法及系统

Publications (1)

Publication Number Publication Date
CN116132721A true CN116132721A (zh) 2023-05-16

Family

ID=86300384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310008937.2A Pending CN116132721A (zh) 2023-01-04 2023-01-04 一种基于p2p的弱网环境下车载投屏方法及系统

Country Status (1)

Country Link
CN (1) CN116132721A (zh)

Similar Documents

Publication Publication Date Title
CN111135569B (zh) 云游戏处理方法、装置、存储介质与电子设备
US8996762B2 (en) Customized buffering at sink device in wireless display system based on application awareness
US11197051B2 (en) Systems and methods for achieving optimal network bitrate
US9585062B2 (en) System and method for implementation of dynamic encoding rates for mobile devices
EP1782248B1 (en) Home network system with transmission error recovery
CN111711833B (zh) 直播视频流推送控制方法、装置、设备及存储介质
CN102158553A (zh) 用于远程桌面的播放多媒体文件的方法和装置
KR20090124993A (ko) 송신 장치, 송신 방법 및 수신 장치
WO2012006744A1 (en) A system and method for transmission of data signals over a wireless network
JP2010154547A (ja) パケット化データのビットレートの適合化とデータパケットの再送信との間の連携
WO2014054325A1 (ja) 符号化制御装置および符号化制御方法
CN114584833A (zh) 音视频的处理方法、装置及存储介质
JP2018507662A (ja) 低遅延生放送コンテンツ提供のためのプログラムを記録した記録媒体及び装置
US20080240684A1 (en) Data Transmission Method and Audio/Video System Capable of Splitting and Synchronizing Audio/Video Data
US20220030300A1 (en) Quick streaming reconnect by preserving streaming context on app exit
JP2014075735A (ja) 画像処理装置および画像処理方法
CN105049955A (zh) 一种实时传屏的方法和系统
CN116132721A (zh) 一种基于p2p的弱网环境下车载投屏方法及系统
WO2018054349A1 (zh) 数据发送方法、数据接收方法及其装置和系统
KR20200018493A (ko) 데이터를 스트리밍하기 위한 방법들 및 장치들
WO2024051426A1 (zh) 视频流码率调整方法、装置、计算机设备和存储介质
US20220394212A1 (en) Optimizing media experience in conferencing with diverse participants
JP2008016939A (ja) プログラム、情報記憶媒体、データ伝送装置およびデータ伝送システム
CN114727046A (zh) 容器虚拟子系统、无线投屏分享方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination