CN107509086A - 一种云桌面下的视频重定向方法及装置 - Google Patents

一种云桌面下的视频重定向方法及装置 Download PDF

Info

Publication number
CN107509086A
CN107509086A CN201710797389.0A CN201710797389A CN107509086A CN 107509086 A CN107509086 A CN 107509086A CN 201710797389 A CN201710797389 A CN 201710797389A CN 107509086 A CN107509086 A CN 107509086A
Authority
CN
China
Prior art keywords
frame
video
client
service end
data
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.)
Granted
Application number
CN201710797389.0A
Other languages
English (en)
Other versions
CN107509086B (zh
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.)
Chengdu Wormhole Miracle Technology Co Ltd
Original Assignee
Chengdu Wormhole Miracle Technology Co Ltd
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 Chengdu Wormhole Miracle Technology Co Ltd filed Critical Chengdu Wormhole Miracle Technology Co Ltd
Priority to CN201710797389.0A priority Critical patent/CN107509086B/zh
Publication of CN107509086A publication Critical patent/CN107509086A/zh
Application granted granted Critical
Publication of CN107509086B publication Critical patent/CN107509086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/233Processing of audio elementary streams
    • H04N21/2335Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • 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/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/439Processing of audio elementary streams
    • H04N21/4398Processing of audio elementary streams involving reformatting operations of audio signals
    • 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
    • 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/643Communication protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于云计算技术领域,具体是一种云桌面下的视频重定向方法。本发明的视频重定向方法,用户在表达视频播放请求后,服务端根据视频播放请求,读取待重定向视频文件,分离视频帧和音频帧数据,在发送控制时间段内按比例发送,在一个发送控制时间内,音频帧或视频帧先发送完毕者进入等待,待数据帧全部发送完毕后,进入下一个发送控制时间段。本发明的重定向方法,对待重定向视频文件进行视频帧和音频帧进行分离,按视频帧与音频帧比例进行发送,同时在发送过程中根据视频文件情况进行发送比例调整,保证了所发送数据中视频帧数据与音频帧数据的比例性。客户端所收到的数据为按比例的有效数据,避免视频帧与音频帧不匹配的情况。

Description

一种云桌面下的视频重定向方法及装置
技术领域
本发明属于云计算技术领域,具体是一种云桌面下的视频重定向方法。
背景技术
云计算技术不断发展,以客户端加网络再加云桌面的模式构建的虚拟化桌面应用越来越广泛。布置到云端服务器上的云桌面,可以在数据中心进行集中地运行和管理,极大地优化了IT资源,同时节约了管理成本,整体提高了系统的可靠性,也提升了企业的IT管理水平。在用户侧,可以随时随地通过各种终端接入云服务器中的用户个人桌面。
在云环境下,用户体验是一个重要因素,直接影响用户使用感受,影响推广。云桌面环境下的视频播放是常用的功能之一,现有技术中,常用的方法是服务器对视频进行解码,然后再传送到客户端,视频解码运算量较大,会增大服务器的负担。同时视频解码后本身就是大幅面,频次多、变化较快的数据,这种数据量比较大。如果直接传输解码后的数据,会对网络造成巨大冲击。如果对解码后的数据进行压缩后再传,会给服务器带来额外的压缩开销,同时压缩后的数据传输到客户端还需要解压,那么这里就有了多余的一次解码加一次压缩,显著增加了服务器开销,为了避免额外的开销,同时充分利用客户端的硬件资源,所以采用视频重定向方式,来提升用户视频播放体验。
中国专利申请201410496604,一种基于云计算的视频重定向方法,该申请中,数据传输采用UDP协议,将面临丢包风险。尤其针对传输的视频编码序列为IPB(如H.264等)结构时,若在一个GOP范围内I帧丢失,将导致本GOP内的数据都不能解码或者马赛克。通常来说GOP内包含的帧数为当前帧率的1-2倍,也就是说将导致至少1-2秒之内的画面无法正常显示。同时有相互编码依赖的帧丢失也会导致小范围内的马赛克。
另一方面,该方案只以音频时间戳作为同步标准,但并未考虑音频帧数据由于网络波动而导致的延迟送达的情况。假定音频帧A1、A2为连续的数据帧,若A1帧被播放完时,A2数据帧还没到来,则音频帧播放将出现不连续或者爆音;即该同步机制仅仅能保证播放体验较差下的音画同步。此外,若此时视频帧是IPB编码序列(如H.264等),则会由于未解码视频帧被直接丢弃,而导致与之相依赖的帧不能解码或马赛克。
中国专利申请201610117895,一种基于桌面云的视频重定向方法、云服务器及系统。该专利采用单一的视频重定向处理过程,与上面专利存在类似不足。
发明内容
本发明针对上述不足,考虑视频文件多样性、网络波动等因素的前提下,提出具有高兼容性、高可用性的视频重定向方案,以保障云桌面环境下的视频观看体验。
本发明的云桌面下的视频重定向方法,包括以下步骤:
S1,服务端获取用户视频播放请求;
S2,服务端与客户端通过握手交换,传输协议、组件版本、文件格式信息;
S3,客户端接收到服务端的传输协议、组件版本、文件格式信息,检测到可以支持播放后,客户端初始化缓冲单元、解码环境和渲染环境后,通知服务端;
S4,服务端根据视频播放请求,找到请求发送视频时间起点,读取待重定向视频文件,分离视频帧和音频帧数据,在发送控制时间段内按比例发送音频帧和视频帧数据,发送控制时间段内音频帧或视频帧先发送完毕者进入等待,待数据帧全部发送完毕后,进入下一个发送控制时间段;服务端收到客户端暂停发送数据帧消息后,发送完控制时间段内的数据,进入暂停,再次收到客户端的发送请求后进入发送;
S5,客户端接收音频帧和视频帧数据后进行播放;
S6,客户端缓冲单元数据存储量超过最大控制值时,客户端通知服务端停止发送数据,当缓冲单元数据存储量低于最小控制值时,客户端通知服务端进行数据发送。
进一步地,S6步还包括,服务端收到重新设定播放开始时间请求后,通知客户端清除缓冲单元数据,返回S4步。
进一步地,服务端收到播放暂停请求时,保持数据传输,直到收到客户端暂停发送数据帧消息后停止发送或重定播放开始时间请求后返回S4步;
进一步地,客户端接收用户操作信息,将操作信息发送服务端,服务端收到操作信息后根据操作信息得到用户意图请求信息。
进一步地,S3步中,客户端接收到服务端的传输协议、组件版本、文件格式信息,客户端检测到不能支持播放后终止播放过程。
进一步地,S4步中包括:
S41,服务端读取视频文件,计算在发送控制时间t1内,所需的视频播放帧数为V_nt1,音频播放帧数为A_nt1,当V_nt1>A_nt1时,播放帧比当V_nt1≤A_nt1时,播放帧比视频帧发送间隔音频帧发送间隔
S42,设定发送调控时间t2且t2<t1,初始期望播放帧比re=r1;
S43,在发送调控时间t2内,视频帧数据发送时,每帧数据发送周期为IV,音频帧数据发送时,每帧数据发送周期为IA;
S44,经过发送调控时间t2后,发送调控时间t2内的实际视频发送帧数为V_nt2,实际音频发送帧数为A_nt2,当V_nt1>A_nt1时,实际播放帧比当V_nt1≤A_nt1时,实际播放帧比
发送比例调控百分比为P,则最大发送比例调控值rmax=re×P+re,最小发送比例调控值rmin=re-re×P;
当rt2∈[rmin:rmax]时,更新发送间隔,当V_nt1>A_nt1时,播放帧比当V_nt1≤A_nt1时,播放帧比视频帧发送间隔音频帧发送间隔更新期望播放帧比re=r1,返回S43步;
时,时入S45步;
S45,当时,
如果V_nt1>A_nt1,
当rt2>re时,音频帧的期望帧数更新音频帧发送间隔更新期望播放帧比进入下一个发送调控时间t2,返回S43步;
当rt2<re时,视频帧的期望帧数Ve=A_nt2×re,更新视频帧发送间隔更新期望播放帧比进入下一个发送调控时间t2,返回S43步;
如果V_nt1≤A_nt1,
当rt2>re时,视频帧的期望帧数更新视频帧发送间隔更新期望播放帧比进入下一个发送调控时间t2,返回S43步;
当rt2<re时,音频帧的期望帧数Ae=V_nt2×re,更新音频帧发送间隔更新期望播放帧比进入下一个发送调控时间t2,返回S43步;
S46,经过多个发送调控时间t2且完成发送控制时间t1后,返回S41步,直到视频帧和音频帧数据发送完毕或收到停发指令。
进一步地,在步骤S41中,
当视频帧每帧播放时间恒定,音频帧每帧播放时间恒定时,视频帧每帧播放时间为V_t1,音频帧每帧播放时间为A_t1,则在发送控制时间t1内需要发送的视频帧数需要发送的音频帧数
当视频帧每帧播放时间和/或音频帧每帧播放时间不恒定时,
在发送控制时间t1,第1视频帧播放时间为V_t11,第2视频帧播放时间为V_t12……第k视频帧播放时间为V_t1k,对视频帧播放时间进行累加,V_t=V_t11+V_t12+......+V_t1k,当V_t≥t1时,发送控制时间t1内需要发送的视频帧数V_nt1=k;
在发送控制时间t1,第1音频帧播放时间为A_t11,第2音频帧播放时间为A_t12……第m音频帧播放时间为A_t1m,对音频帧播放时间进行累加,A_t=A_t11+A_t12+......+A_t1m,当A_t≥t1时,发送控制时间t1内需要发送的音频帧数A_nt1=m。
本发明还提供了一种云桌面下的视频重定向装置,其特征是上面云数据中心通过网络与客户端通信连接,
桌面云数据中心设置服务端,用于与客户端连接通信;
服务端设置:
分离单元,读取服务端待重定向的视频文件,并进行数据帧分离;
服务端视频帧解码模块,用于接收分离单元所分离出的视频文件中的视频帧数据;
服务端视频播放模块,用于接收服务端视频帧解码模块数据;
服务端音频帧解码模块,用于接收分离单元所分离出的视频文件中的音频帧数据;
服务端音频播放模块,用于接收服务端音频帧解码模块数据;
服务端重定向逻辑组件,用于与服务端视频帧解码模块、服务端视频播放模块、服务端音频帧解码模块和服务端音频播放模块进行数据交换;服务端重定向逻辑组件与客户端进行数据交换;
客户端设置:
客户端重定向逻辑组件,用于与服务端进行数据交换;
客户端视频帧解码模块,用于对视频帧数据进行解码;
客户端视频播放模块,用于播放解码后的视频数据;
客户端音频帧解码模块,用于对音频帧数据进行解码;
客户端音频播放模块,用于播放解码后的音频数据。
进一步地,所述服务端重定向逻辑组件中设置服务端重定向交互模块,用于与客户端进行握手交换,实现数据收发;
所述服务端重定向逻辑组件中设置业务逻辑模块,用于捕获客户端视频文件播放的请求、控制帧发送比例,接收客户端指令。
进一步地,所述客户端重定向逻辑组件中设置客户端重定向交互模块,用于与服务端进行握手交换,实现数据收发;
所述客户端重定向逻辑组件中设置客户端重定向业务逻辑控制模块,用于分配管理未解码帧缓冲单元和已解码帧缓冲单元,同时对视频帧数据和音频帧数据的接收、缓存和播放进行控制。
所述客户端重定向逻辑组件中设置未解码帧缓冲单元,用于缓冲未解码数据;
所述客户端重定向逻辑组件中设置已解码帧缓冲单元,用于缓冲已解码数据。
本发明的云桌面下的视频重定向方法,对待重定向视频文件进行视频帧和音频帧进行分离,按视频帧与音频帧比例进行发送,同时在发送过程中根据视频文件情况进行发送比例调整,保证了所发送数据中视频帧数据与音频帧数据的比例性。客户端所收到的数据为按比例的有效数据,避免客户端收到的数据只有视频帧或只有音频帧或者,视频帧与音频帧不匹配的情况,最优的利用了缓冲池,使得缓冲的数据能达到最大的播放时长,提供最佳播放体验。
另一方面,服务端按视频帧和音频帧的比例进行数据发送,在一个发送调控时间内,对于单独的视频帧或音频帧,都有一个发送周期,在这个发送周期内,只要发送完本帧数据,就会暂停发送,直到本次发送周期的时间结束。这样可以在满足数据发送的基础上,减少对网络带宽占用,提高了网络资源的利用率。
有客户端设置缓冲单元,缓冲单元内存储的数据帧可以播放一定时间,当网络出现波动时,可以利用缓冲单元中的数据帧进行播放,保证用户在一段时间内观看的流畅性。
另一方面,当视频的播放处于暂停状态,用户在对视频播放时间起点进行调整时,数据帧会保持输入,直到解码装置输出播放时间起点的数据帧后,才停止发送数据帧,从而可以兼容多种视频文件格式,并保证能正确展示该时间点的数据帧。
说明书附图
图1为本发明的重定向装置结构示意图。
1-桌面云数据中心,2-网络,3-客户端,10-服务端,101-服务端视频帧解码模块,102-服务端视频播放模块,103-分离单元,104-服务端重定向逻辑组件,105-服务端音频帧解码模块,106-服务端音频播放模块,1041-服务端重定向交互模块,1042-业务逻辑模块,31-客户端重定向逻辑组件,32-客户端视频帧解码模块,33-客户端视频播放模块,34-客户端音频播放模块,35-客户端音频帧解码模块,311-客户端重定向交互模块,312-客户端重定向业务逻辑控制模块,313-未解码帧缓冲单元,314-已解码帧缓冲单元。
具体实施方式
结合图1,云桌面下的视频重定向方法,包括以下步骤:
S1,服务端获取用户视频播放请求;服务端所获取的视频播放请求,是服务端所得到的,关于用户需要进行视频播放的信息。在云服务器提供虚拟机虚拟化桌面模式下,客户端所进行的操作通过协议传输到服务器中,再通过服务器对具体操作信息的分析得出用户的具体操作需求。用户在客户端进行操作时,比如对文件浏览,或启动某程序,都是传递用户操作信息,比如鼠标双击、单击以及鼠标操作位置等,虚拟机获取这些操作信息后,再结合云桌面显示,得到用户具体的操作意图。当用户需要播放视频时,在客户端进行相应操作,比如双击已打开的文件列表,虚拟机收到用户的双击信息,以及鼠标坐标位置,再结果所显示的文件列表,得出用户是针对某个具体视频文件进行双击,从而得到用户视频播放请求。
S2,服务端与客户端通过握手交换,传输协议、组件版本、文件格式信息;
S3,客户端接收到服务端的传输协议、组件版本、文件格式信息,检测到可以支持播放后,客户端初始化缓冲单元、解码环境和渲染环境后,通知服务端;
S4,服务端根据视频播放请求,找到请求发送视频时间起点,读取待重定向视频文件,分离视频帧和音频帧数据,在发送控制时间段内按比例发送音频帧和视频帧数据,发送控制时间段内音频帧或视频帧先发送完毕者进入等待,待数据帧全部发送完毕后,进入下一个发送控制时间段;服务端收到客户端暂停发送数据帧消息后,发送完控制时间段内的数据,进入暂停,再次收到客户端的发送请求后进入发送;
S5,客户端接收音频帧和视频帧数据后进行播放;
S6,客户端缓冲单元数据存储量超过最大控制值时,客户端通知服务端停止发送数据,当缓冲单元数据存储量低于最小控制值时,客户端通知服务端进行数据发送。在进行播放的时候,客户端会检测各缓冲单元的数据存储情况,客户端根据缓冲单元存储情况,通知服务端进行数据是否发送,当缓冲单元数据较满时,停止发送,可以有效节约带宽资源。
进一步地,S6步还包括,服务端收到重新设定播放开始时间请求后,通知客户端清除缓冲单元数据,返回S4步。当用户对视频的播放进度进行调整,用户可能会对当前播放内容不感兴趣,会需要播放时间点比当前时间点靠后的视频内容,或者需要播放当时时间点之前的播放内容时,最终服务端所收到的是一个重定播放开始时间。
进一步地,服务端收到播放暂停请求时,保持数据传输,直到收到客户端暂停发送数据帧消息后停止发送或重定播放开始时间请求后返回S4步;当服务端收到的信息是一个暂停播放信息,这时用户希望处于一个暂停播放状态,在暂停状态下,服务端会保持数据发送,当客户端缓冲单元数据存储较满时,会向服务端发送暂停发送信息。或者用户在暂停状态时,重新调整了播放开始时间点,也就是用户可能要求播放比暂停时间点更靠后面的视频内容,或播放比暂停时间点更靠前的视频内容,这时服务端根据具体时间点,重新组织数据发送。
进一步地,客户端接收用户操作信息,将操作信息发送服务端,服务端收到操作信息后根据操作信息得到用户意图请求信息。本发明中,客户端只是接收用户输入,将用户输入信息直接传递给服务器。也就是将用户的操作发送给服务端。例如用户对鼠标的单击,双击,以及单击或双击的坐标等信息,直接发送给服务端,服务端根据这些操作信息,对客户具体的具体操作是什么意图作出判断。
进一步地,S3步中,客户端接收到服务端的传输协议、组件版本、文件格式信息,客户端检测到不能支持播放后终止播放过程。
进一步地,S4步中包括:
S41,服务端读取视频文件,计算在发送控制时间t1内,所需的视频播放帧数为V_nt1,音频播放帧数为A_nt1,当V_nt1>A_nt1时,播放帧比当V_nt1≤A_nt1时,播放帧比视频帧发送间隔音频帧发送间隔
S42,设定发送调控时间t2且t2<t1,初始期望播放帧比re=r1;
设置发送控制时间t1时,根据客户端未解码帧缓冲单元的大小,发送控制时间t1与客户端未解码帧缓冲单元最大缓冲数据可播放的时间差不多相等。对于发送调控时间t2,在局域网中可以设置小于等于两秒,对于广域网中,可以设置小于等于5秒,根据服务器性能及网络情况设置也可以设置成其它时间,根据实验情况设置与使用服务器和网络最佳匹配时间。
S43,在发送调控时间t2内,视频帧数据发送时,每帧数据发送周期为IV,音频帧数据发送时,每帧数据发送周期为IA;
S44,经过发送调控时间t2后,发送调控时间t2内的实际视频发送帧数为V_nt2,实际音频发送帧数为A_nt2,当V_nt1>A_nt1时,实际播放帧比当V_nt1≤A_nt1时,实际播放帧比
发送比例调控百分比为P,则最大发送比例调控值rmax=re×P+re,最小发送比例调控值rmin=re-re×P;
当rt2∈[rmin:rmax]时,更新发送间隔,当V_nt1>A_nt1时,播放帧比当V_nt1≤A_nt1时,播放帧比视频帧发送间隔音频帧发送间隔更新期望播放帧比re=r1,返回S43步;
时,时入S45步;
S45,当时,
如果V_nt1>A_nt1,
当rt2>re时,音频帧的期望帧数更新音频帧发送间隔更新期望播放帧比进入下一个发送调控时间t2,返回S43步;
当rt2<re时,视频帧的期望帧数Ve=A_nt2×re,更新视频帧发送间隔更新期望播放帧比进入下一个发送调控时间t2,返回S43步;
如果V_nt1≤A_nt1,
当rt2>re时,视频帧的期望帧数更新视频帧发送间隔更新期望播放帧比进入下一个发送调控时间t2,返回S43步;
当rt2<re时,音频帧的期望帧数Ae=V_nt2×re,更新音频帧发送间隔更新期望播放帧比进入下一个发送调控时间t2,返回S43步;经过一个发送控制时间t2后,根据实际发送数据情况,及时调整视频帧或音频帧数据的发送周期,用以保证对所发送视频帧和音频帧数据的比例性。
S46,经过多个发送调控时间t2且完成发送控制时间t1后,返回S41步,直到视频帧和音频帧数据发送完毕或收到停发指令。在视频播放过程中,因用户操作可能会需要服务端停止发送,或者因为客户端缓存处于较满的状态,都可能会让服务端停止发送数据。
进一步地,在步骤S41中,
当视频帧每帧播放时间恒定,音频帧每帧播放时间恒定时,视频帧每帧播放时间为V_t1,音频帧每帧播放时间为A_t1,则在发送控制时间t1内需要发送的视频帧数需要发送的音频帧数
当视频帧每帧播放时间和/或音频帧每帧播放时间不恒定时,
在发送控制时间t1,第1视频帧播放时间为V_t11,第2视频帧播放时间为V_t12……第k视频帧播放时间为V_t1k,对视频帧播放时间进行累加,V_t=V_t11+V_t12+......+V_t1k,当V_t≥t1时,发送控制时间t1内需要发送的视频帧数V_nt1=k;
在发送控制时间t1,第1音频帧播放时间为A_t11,第2音频帧播放时间为A_t12……第m音频帧播放时间为A_t1m,对音频帧播放时间进行累加,A_t=A_t11+A_t12+......+A_t1m,当A_t≥t1时,发送控制时间t1内需要发送的音频帧数A_nt1=m。
本发明还提供了一种云桌面下的视频重定向装置,其特征是上面云数据中心通过网络2与客户端3通信连接,
桌面云数据中心1设置服务端10,用于与客户端3连接通信;
服务端10设置:
分离单元103,用于读取读取服务端10待重定向的视频文件;分离单元103将视频文件分成视频帧数据和音频帧数据;分离单元103,除了可以分离视频帧和音频帧数据外,还可以分离字幕数据。
服务端视频帧解码模块101,用于接收分离单元103所分离出的视频文件中的视频帧数据,但并不对数据进行解码;服务端视频帧解码模块101接收分离后的视频帧数据后,通过服务端重定向逻辑组件104中的服务端重定向交互模块1041发送到客户端3重定向逻辑组件31,同时接受客户端3重定向逻辑组件31控制指令按需发送数据;
服务端视频播放模块102,用于接收服务端视频帧解码模块101数据;并捕捉视频绘制区域、裁剪、位置移动、最大化和最小化、播放指令等消息,然后服务端重定向逻辑组件104中的服务端重定向交互模块1041将信息发送到客户端重定向逻辑组件31,但并不绘制数据。
服务端音频帧解码模块105,用于接收分离单元103所分离出的视频文件中的音频帧,但并不对数据进行解码;服务端音频帧解码模块105接收分离后的音频帧数据后,通过服务端重定向逻辑组件104中的服务端重定向交互模块1041发送到客户端重定向逻辑组件31,同时接受客户端3重定向逻辑组件31控制指令按需发送数据;
服务端音频播放模块106,用于接收服务端音频帧解码模块105数据;并捕捉播放指令等消息,然后服务端重定向逻辑组件104中的服务端重定向交互模块1041将信息发送到客户端重定向逻辑组件31,但并不进行声音播放。
服务端重定向逻辑组件104,用于与服务端视频帧解码模块101、服务端视频播放模块102、服务端音频帧解码模块105和服务端音频播放模块106进行数据交换;服务端重定向逻辑组件104与客户端3进行数据交换;
客户端3设置:
客户端重定向逻辑组件31,用于与服务端10进行数据交换;
客户端视频帧解码模块32,用于对视频帧数据进行解码;解码后的视频数据返回客户端重定向逻辑组件31;
客户端视频播放模块33,用于播放解码后的视频数据;同时处理绘制区域、裁剪、位置移动、最大化和最小化、重绘等消息;
客户端音频帧解码模块35,用于对音频帧数据进行解码;解码后的音频数据反回客户端重定向逻辑组件31;
客户端音频播放模块34,用于播放解码后的音频数据。
进一步地,所述服务端重定向逻辑组件104中设置服务端重定向交互模块1041,用于与客户端3进行握手交换,实现数据收发;
所述服务端重定向逻辑组件104中设置业务逻辑模块1042,用于捕获服务端10视频文件播放事件、控制帧发送比例,接收客户端3指令。
进一步地,所述客户端重定向逻辑组件31中设置客户端重定向交互模块311,用于与服务端10进行握手交换,实现数据收发;
所述客户端重定向逻辑组件31中设置客户端重定向业务逻辑控制模块312,用于分配管理未解码帧缓冲单元313和已解码帧缓冲单元314,同时对视频帧数据和音频帧数据的接收、缓存和播放进行控制。
所述客户端重定向逻辑组件31中设置未解码帧缓冲单元313,用于缓冲未解码数据;
所述客户端重定向逻辑组件31中设置已解码帧缓冲单元314,用于缓冲已解码数据。

Claims (10)

1.一种云桌面下的视频重定向方法,包括以下步骤:
S1,服务端获取用户视频播放请求;
S2,服务端与客户端通过握手交换,传输协议、组件版本、文件格式信息;
S3,客户端接收到服务端的传输协议、组件版本、文件格式信息,检测到可以支持播放后,客户端初始化缓冲单元、解码环境和渲染环境后,通知服务端;
S4,服务端根据视频播放请求,找到请求发送视频时间起点,读取待重定向视频文件,分离视频帧和音频帧数据,在发送控制时间段内按比例发送音频帧和视频帧数据,发送控制时间段内音频帧或视频帧先发送完毕者进入等待,待数据帧全部发送完毕后,进入下一个发送控制时间段;服务端收到客户端暂停发送数据帧消息后,发送完控制时间段内的数据,进入暂停,再次收到客户端的发送请求后进入发送;
S5,客户端接收音频帧和视频帧数据后进行播放;
S6,客户端缓冲单元数据存储量超过最大控制值时,客户端通知服务端停止发送数据,当缓冲单元数据存储量低于最小控制值时,客户端通知服务端进行数据发送。
2.根据权利要求1所述的云桌面下的视频重定向方法,其特征是,S6步还包括,服务端收到重新设定播放开始时间请求后,通知客户端清除缓冲单元数据,返回S4步。
3.根据权利要求2所述的云桌面下的视频重定向方法,其特征是,服务端收到播放暂停请求时,保持数据传输,直到收到客户端暂停发送数据帧消息后停止发送或重定播放开始时间请求后返回S4步。
4.根据权利要求2所述的云桌面下的视频重定向方法,其特征是,客户端接收用户操作信息,将操作信息发送服务端,服务端收到操作信息后根据操作信息得到用户意图请求信息。
5.根据权利要求1到4任一所述的云桌面下的视频重定向方法,其特征是,S3步中,客户端接收到服务端的传输协议、组件版本、文件格式信息,客户端检测到不能支持播放后终止播放过程。
6.根据权利要求5所述的云桌面下的视频重定向方法,其特征是,S4步中包括:
S41,服务端读取视频文件,计算在发送控制时间t1内,所需的视频播放帧数为V_nt1,音频播放帧数为A_nt1,当V_nt1>A_nt1时,播放帧比当V_nt1≤A_nt1时,播放帧比视频帧发送间隔音频帧发送间隔
S42,设定发送调控时间t2且t2<t1,初始期望播放帧比re=r1;
S43,在发送调控时间t2内,视频帧数据发送时,每帧数据发送周期为IV,音频帧数据发送时,每帧数据发送周期为IA;
S44,经过发送调控时间t2后,发送调控时间t2内的实际视频发送帧数为V_nt2,实际音频发送帧数为A_nt2,当V_nt1>A_nt1时,实际播放帧比当V_nt1≤A_nt1时,实际播放帧比
发送比例调控百分比为P,则最大发送比例调控值rmax=re×P+re,最小发送比例调控值rmin=re-re×P;
当rt2∈[rmin:rmax]时,更新发送间隔,当V_nt1>A_nt1时,播放帧比当V_nt1≤A_nt1时,播放帧比视频帧发送间隔音频帧发送间隔更新期望播放帧比re=r1,返回S43步;
时,时入S45步;
S45,当时,
如果V_nt1>A_nt1,
当rt2>re时,音频帧的期望帧数更新音频帧发送间隔更新期望播放帧比进入下一个发送调控时间t2,返回S43步;
当rt2<re时,视频帧的期望帧数Ve=A_nt2×re,更新视频帧发送间隔更新期望播放帧比进入下一个发送调控时间t2,返回S43步;
如果V_nt1≤A_nt1,
当rt2>re时,视频帧的期望帧数更新视频帧发送间隔更新期望播放帧比进入下一个发送调控时间t2,返回S43步;
当rt2<re时,音频帧的期望帧数Ae=V_nt2×re,更新音频帧发送间隔更新期望播放帧比进入下一个发送调控时间t2,返回S43步;
S46,经过多个发送调控时间t2且完成发送控制时间t1后,返回S41步,直到视频帧和音频帧数据发送完毕或收到停发指令。
7.根据权利要求5所述的云桌面下的视频重定向方法,其特征是,在步骤S41中,
当视频帧每帧播放时间恒定,音频帧每帧播放时间恒定时,视频帧每帧播放时间为V_t1,音频帧每帧播放时间为A_t1,则在发送控制时间t1内需要发送的视频帧数需要发送的音频帧数
当视频帧每帧播放时间和/或音频帧每帧播放时间不恒定时,
在发送控制时间t1,第1视频帧播放时间为V_t11,第2视频帧播放时间为V_t12……第k视频帧播放时间为V_t1k,对视频帧播放时间进行累加,V_t=V_t11+V_t12+......+V_t1k,当V_t≥t1时,发送控制时间t1内需要发送的视频帧数V_nt1=k;
在发送控制时间t1,第1音频帧播放时间为A_t11,第2音频帧播放时间为A_t12……第m音频帧播放时间为A_t1m,对音频帧播放时间进行累加,A_t=A_t11+A_t12+......+A_t1m,当A_t≥t1时,发送控制时间t1内需要发送的音频帧数A_nt1=m。
8.一种云桌面下的视频重定向装置,其特征是上面云数据中心通过网络(2)与客户端通信连接,
桌面云数据中心(1)设置服务端(10),用于与客户端(3)连接通信;
服务端(10)设置:
分离单元(103),用于读取桌面云数据中心(1)存储单元(11)中的文件;
服务端视频帧解码模块(101),用于接收分离单元(103)所分离出的视频文件中的视频帧数据;
服务端视频播放模块(102),用于接收服务端视频帧解码模块(101)数据;
服务端音频帧解码模块(105),用于接收分离单元(103)所分离出的视频文件中的音频帧数据;
服务端音频播放模块(106),用于接收服务端音频帧解码模块(105)数据;
服务端重定向逻辑组件(104),用于与服务端视频帧解码模块(101)、服务端视频播放模块(102)、服务端音频帧解码模块(105)和服务端音频播放模块(106)进行数据交换;服务端重定向逻辑组件(104)与客户端进行数据交换;
客户端(3)设置:
客户端重定向逻辑组件(31),用于与服务端(10)进行数据交换;
客户端视频帧解码模块(32),用于对视频帧数据进行解码;
客户端视频播放模块(33),用于播放解码后的视频数据;
客户端音频帧解码模块(35),用于对音频帧数据进行解码;
客户端音频播放模块(34),用于播放解码后的音频数据。
9.根据权利要求8所述的云桌面下的视频重定向装置,其特征是,所述服务端重定向逻辑组件(104)中设置服务端重定向交互模块(1041),用于与客户端(3)进行握手交换,实现数据收发;
所述服务端重定向逻辑组件(104)中设置业务逻辑模块(1042),用于捕获客户端(10)视频文件播放的请求、控制帧发送比例,接收客户端(3)指令。
10.根据权利要求8或9所述的云桌面下的视频重定向装置,其特征是,所述客户端重定向逻辑组件(31)中设置客户端重定向交互模块(311),用于与服务端(10)进行握手交换,实现数据收发;
所述客户端重定向逻辑组件(31)中设置客户端重定向业务逻辑控制模块(312),用于分配管理未解码帧缓冲单元(313)和已解码帧缓冲单元(314),同时对视频帧数据和音频帧数据的接收、缓存和播放进行控制;
所述客户端重定向逻辑组件(31)中设置未解码帧缓冲单元(313),用于缓冲未解码数据;
所述客户端重定向逻辑组件(31)中设置已解码帧缓冲单元(314),用于缓冲已解码数据。
CN201710797389.0A 2017-09-06 2017-09-06 一种云桌面下的视频重定向方法及装置 Active CN107509086B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710797389.0A CN107509086B (zh) 2017-09-06 2017-09-06 一种云桌面下的视频重定向方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710797389.0A CN107509086B (zh) 2017-09-06 2017-09-06 一种云桌面下的视频重定向方法及装置

Publications (2)

Publication Number Publication Date
CN107509086A true CN107509086A (zh) 2017-12-22
CN107509086B CN107509086B (zh) 2020-07-10

Family

ID=60696050

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710797389.0A Active CN107509086B (zh) 2017-09-06 2017-09-06 一种云桌面下的视频重定向方法及装置

Country Status (1)

Country Link
CN (1) CN107509086B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108055565A (zh) * 2017-12-26 2018-05-18 合肥中科云巢科技有限公司 音视频的重定向方法及装置
CN110096295A (zh) * 2019-05-08 2019-08-06 吉旗(成都)科技有限公司 基于ReactNative的多模块移动应用的热更新方法及系统
CN116684515A (zh) * 2022-09-27 2023-09-01 荣耀终端有限公司 流媒体视频的seek处理方法、电子设备及存储介质
WO2023208102A1 (zh) * 2022-04-29 2023-11-02 华为技术有限公司 一种云桌面数据传输方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1557073A (zh) * 2001-09-21 2004-12-22 ���˹���Ѷ��� 计算每个流的可用带宽和比特流协调的发送多数据流的数据通信方法和系统
US20090268730A1 (en) * 2008-04-25 2009-10-29 Ranatunga Vijitha Sanjeewa Data transmitting apparatus and method and program for controlling transmission rate
CN103139559A (zh) * 2011-11-30 2013-06-05 中国电信股份有限公司 多媒体信号传输方法和装置
CN105791892A (zh) * 2016-03-02 2016-07-20 汉柏科技有限公司 一种基于桌面云的视频重定向方法、云服务器及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1557073A (zh) * 2001-09-21 2004-12-22 ���˹���Ѷ��� 计算每个流的可用带宽和比特流协调的发送多数据流的数据通信方法和系统
US20090268730A1 (en) * 2008-04-25 2009-10-29 Ranatunga Vijitha Sanjeewa Data transmitting apparatus and method and program for controlling transmission rate
CN103139559A (zh) * 2011-11-30 2013-06-05 中国电信股份有限公司 多媒体信号传输方法和装置
CN105791892A (zh) * 2016-03-02 2016-07-20 汉柏科技有限公司 一种基于桌面云的视频重定向方法、云服务器及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108055565A (zh) * 2017-12-26 2018-05-18 合肥中科云巢科技有限公司 音视频的重定向方法及装置
CN110096295A (zh) * 2019-05-08 2019-08-06 吉旗(成都)科技有限公司 基于ReactNative的多模块移动应用的热更新方法及系统
CN110096295B (zh) * 2019-05-08 2023-08-08 吉旗(成都)科技有限公司 基于ReactNative的多模块移动应用的热更新方法及系统
WO2023208102A1 (zh) * 2022-04-29 2023-11-02 华为技术有限公司 一种云桌面数据传输方法及相关装置
CN116684515A (zh) * 2022-09-27 2023-09-01 荣耀终端有限公司 流媒体视频的seek处理方法、电子设备及存储介质
CN116684515B (zh) * 2022-09-27 2024-04-12 荣耀终端有限公司 流媒体视频的seek处理方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN107509086B (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
CN107509086A (zh) 一种云桌面下的视频重定向方法及装置
CN106385590B (zh) 视频推送远程控制方法及装置
CN102883135B (zh) 屏幕共享及控制方法
US6760749B1 (en) Interactive conference content distribution device and methods of use thereof
CN106060582B (zh) 视频传输系统、方法及装置
US9172979B2 (en) Experience or “sentio” codecs, and methods and systems for improving QoE and encoding based on QoE experiences
EP2789120B1 (en) Collaboration system and method
CN102752667B (zh) 一种多流流媒体直播互动系统及直播互动方法
CN109168031A (zh) 流媒体推送方法及装置、流媒体平台
CN105530535A (zh) 一种多人观看视频实时互动的方法及系统
CN102761603A (zh) VDI环境下的网页flash视频重定向的方法
CN110677406A (zh) 基于网络的同声传译方法及系统
CN101795240A (zh) 即时数据分享系统及其机器可读取媒体
WO2022227938A1 (zh) 一种云游戏的处理方法、装置、设备及存储介质
CN103327287B (zh) 一种会议信号播放方法和装置、视频会议终端、移动设备
CN102158690A (zh) 远程多路实时视频监控系统
WO2014054325A1 (ja) 符号化制御装置および符号化制御方法
US8872886B2 (en) Method, apparatus, and system for establishing multi-cascade channel
CN105025047A (zh) 一种云桌面的推送方法、系统以及推送端和接收端
US20220255981A1 (en) Method and Apparatus for Adjusting Attribute of Video Stream
CN114598931A (zh) 一种多开云游戏的串流方法、系统、装置及介质
KR20030036154A (ko) 이동 통신 사용자들을 위한 비디오 및 그래픽 분배 시스템
CN102438119B (zh) 一种数字电视的音视频通讯系统
CN112311784A (zh) 一种投屏系统及投屏方法
CN105791964B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Two Street South Chengdu Dayuan high tech Zone of Sichuan province 610000 City 1 floor No. 39

Applicant after: Chengdu Lingyue yunchuang Technology Co., Ltd

Address before: Two Street South Chengdu Dayuan high tech Zone of Sichuan province 610000 City 1 floor No. 39

Applicant before: CHENGDU CHONGDONG QIJI TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant