《一种基于应用虚拟化技术的视频重定向系统及方法.pdf》由会员分享,可在线阅读,更多相关《一种基于应用虚拟化技术的视频重定向系统及方法.pdf(12页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103957445 A (43)申请公布日 2014.07.30 CN 103957445 A (21)申请号 201410123732.X (22)申请日 2014.03.28 H04N 21/43(2011.01) H04N 21/434(2011.01) H04N 21/438(2011.01) H04N 21/44(2011.01) (71)申请人 山东乾云启创信息科技有限公司 地址 250101 山东省济南市高新区 (历下区) 银荷大厦 C 座 401 (72)发明人 程栋 张辉 石磊 刘毅枫 (74)专利代理机构 济南圣达知识产权代理有限 公司 37221。
2、 代理人 张勇 (54) 发明名称 一种基于应用虚拟化技术的视频重定向系统 及方法 (57) 摘要 本发明公开了一种基于应用虚拟化技术的视 频重定向系统及方法, 包括 : 应用虚拟化技术的 终端设备和服务器 ; 所述终端设备上集成解码器 模块, 服务器上集成解析器模块, 所述解码器模块 与解析器模块之间通过应用虚拟化技术专属的数 据通道实现数据的交互 ; 播放器首先调用解析器 模块, 由解析器模块读取视频文件, 利用专属数据 通道将视频流发送到终端设备, 解码器模块对视 频流进行分离和解码过程。本发明播放视频是由 终端集成的解码器完成, 因此播放视频格式的支 持不受服务器端的播放器播放视频格式。
3、的限制 ; 通过这种方式, 用户对视频的操作直接由终端设 备处理, 而不是由服务器端的播放器处理, 因此能 有效的提高用户交互的速度增强用户体验。 (51)Int.Cl. 权利要求书 2 页 说明书 5 页 附图 4 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书5页 附图4页 (10)申请公布号 CN 103957445 A CN 103957445 A 1/2 页 2 1. 一种基于应用虚拟化技术的视频重定向系统, 其特征是, 包括 : 应用虚拟化技术的 终端设备和服务器 ; 所述终端设备上集成解码器模块, 服务器上集成解析器模块, 所述解码 器模块。
4、与解析器模块之间通过应用虚拟化技术专属的数据通道实现数据的交互 ; 使用播放器软件播放视频时, 服务器端播放器首先调用服务器上的解析器模块, 由解 析器模块读取视频文件, 并将读取的内容保存为二进制视频流, 利用所述专属数据通道将 视频流发送到终端设备, 终端设备的解码器模块对视频流进行分离和解码过程。 2. 如权利要求 1 所述的一种基于应用虚拟化技术的视频重定向系统, 其特征是, 所述 解析器模块是一种软件实现, 集成在服务器上, 并能够被播放器软件调用。 3. 如权利要求 1 所述的一种基于应用虚拟化技术的视频重定向系统, 其特征是, 所述 解码器模块是一种软件实现, 集成在在终端设备上。
5、。 4. 一种如权利要求 1 所述的基于应用虚拟化技术的视频重定向系统的实现方法, 其特 征是, 包括以下步骤 : (1) 播放器软件调用服务器上的解析器模块, 解析器模块读取原始压缩视频流, 并将读 取的内容保存为二进制格式的视频流 ; (2) 服务器端将保存的二进制视频流通过应用虚拟化技术的专属数据通道发送至终端 的解码器模块 ; (3) 终端设备的解码器模块经过分离和解码过程, 将视频无缝渲染显示。 5. 如权利要求 4 所述的一种基于应用虚拟化技术的视频重定向系统的实现方法, 其特 征是, 所述步骤 (1) 的具体工作步骤如下 : 步骤 (1-1) : 服务器端启动播放器 ; 步骤 (。
6、1-2) : 播放器调用服务器上的解析器 ; 步骤 (1-3) : 解析器打开应用虚拟化技术的专属数据通道, 如果打开失败转入步骤 (1-6) ; 步骤 (1-4) : 解析器读取原始压缩视频文件, 如果读取失败转入步骤 (1-6) ; 步骤 (1-5) : 解析器循环读取视频文件, 直到视频文件结束, 并将读取的视频文件保存 为二进制格式视频流 ; 解析器每次读取一定流量的视频流, 并将视频流通过虚拟通道发送 到终端, 每次发送完数据, 都等待终端的响应, 如果响应内容为正常, 则继续发送数据, 否则 终止发送数据, 退出循环 ; 步骤 (1-6) : 解析器终止程序运行。 6. 如权利要求。
7、 4 所述的一种基于应用虚拟化技术的视频重定向系统的实现方法, 其特 征是, 所述步骤 (2) 中应用虚拟化技术的专属数据通道传输数据的具体工作步骤如下 : 步骤 (2-1) : 启动专属数据通道, 利用专属数据通道建立终端与服务器之间的连接 ; 其 中, 数据通道与终端连接构建数据通道客户端, 数据通道与服务器端连接构建数据通道服 务端 ; 步骤 (2-2) : 在数据通道客户端初始化接收视频流数据的队列, 启动播放视频的线程 ; 步骤 (2-3) : 当数据通道客户端接收到数据通道服务端发送的视频流数据时, 数据通道 客户端将数据放入到队列中 ; 步骤 (2-4) : 当队列中的数据大于等。
8、于队列放入数据与读取数据之间的阈值时, 停止接 收数据, 等待终端解码器读取数据, 直到队列中的数据小于所述阈值时继续放入数据 ; 权 利 要 求 书 CN 103957445 A 2 2/2 页 3 步骤 (2-5) : 在所述播放视频的线程中读取队列中的数据, 调用终端设备上的解码器提 供的相关接口, 处理视频。 7. 如权利要求 4 所述的一种基于应用虚拟化技术的视频重定向系统的实现方法, 其特 征是, 所述步骤 (3) 中终端解码器解码视频文件的具体工作步骤如下 : 步骤 (3-1) : 终端解码器读取队列中的视频流数据 ; 步骤 (3-2) : 判断视频的格式和编码, 如果能够播放则。
9、转入步骤 (3-3) , 否则提示用户不 支持该格式的视频播放, 终止程序 ; 步骤 (3-3) : 将视频流数据进行分离, 分离出视频数据和音频数据 ; 步骤 (3-4) : 将视频数据交给视频解码器处理, 将音频数据交给音频解码器处理。 权 利 要 求 书 CN 103957445 A 3 1/5 页 4 一种基于应用虚拟化技术的视频重定向系统及方法 技术领域 0001 本发明涉及应用虚拟化技术领域, 具体涉及一种基于应用虚拟化技术的视频重定 向系统及方法。 背景技术 0002 随着云计算技术的发展, 应用虚拟化为企业的移动办公提供了完整的解决方案。 应用虚拟化将企业的桌面和数据虚拟成云资。
10、源, 用户可以在常用的移动设备上访问这些资 源。然而, 对于某些应用例如视频的展示效果上, 用户能够明显感觉到与传统 PC 用户体验 效果上的不同, 一般会感觉到视频不流畅, 有明显的刷屏现象。 而且, 对于移动办公的用户, 一般使用2G或3G网络, 对网络带宽和网络流量都有一定的限制, 但是使用传统的应用虚拟 化技术, 终端用户在播放视频时, 会消耗比原视频文件大几倍的流量, 这样就增加了用户的 使用成本, 在一定程度上阻碍了应用虚拟化技术商业化的推广。 0003 传统的应用虚拟化技术在处理视频资源时, 由于其本身的技术限制, 造成用户体 验差, 网络带宽要求高, 并会消耗比原始文件更大的网。
11、络流量。 0004 应用虚拟化技术是将人机交互逻辑与计算逻辑相隔离, 当用户操作应用时, 应用 的展示和交互存在于终端设备上, 而应用资源的计算集中在服务器端设备上。 其原理是 : 应 用虚拟化技术将终端用户的操作封装成事件, 通过虚拟通道发送到服务器端, 服务器端完 成计算, 将图像通过虚拟通道发送到终端, 由终端处理完成后展现给用户。 0005 由于上述应用虚拟化技术的工作原理的限制, 当终端用户播放视频时, 视频的播 放是在服务器端进行的, 然后服务器端将解码后生成的一帧一帧的图片发送到终端, 这样 视频播放的流畅度就受限于终端处理图片的能力以及视频格式、 网络带宽等因素。此过程 概括为。
12、 : 服务器端解码视频, 生成一帧图片, 通过虚拟通道发送图片到终端, 终端处理图片。 发明内容 0006 本发明的目的就是为了解决上述问题, 提出了一种基于应用虚拟化技术的视频重 定向系统及方法, 服务器端将视频的原始流通过专属数据通道发送到终端, 终端集成解码 器, 接收到数据流, 通过调用解码器, 完成视频播放。 此过程概括为 : 服务器端读取原始视频 流, 通过专属数据通道发送到终端, 终端通过解码器播放视频。 0007 该方法将原始压缩视频流通过专属数据通道发送到终端, 由终端在本地解码显 示。 因为这种方法通过网络传输的是压缩的视频流, 而不是一系列未压缩的位图, 因此将显 著减少。
13、网络带宽的占用, 此时带宽占用与从视频播放器播放流内容或通过共享方式播放服 务器上的视频一致, 并且, 无论播放视频窗口是否全屏, 网络带宽占用率保持不变。这种方 法还可以节省服务器资源, 服务器不再花费 CPU 资源解码视频内容并进行二次编码, 视频 解码全由终端负责, 并在终端设备上被无缝的渲染显示。 0008 为了实现上述目的, 本发明采用如下技术方案 : 0009 一种基于应用虚拟化技术的视频重定向系统, 包括 : 应用虚拟化技术的终端设备 说 明 书 CN 103957445 A 4 2/5 页 5 和服务器 ; 所述终端设备上集成解码器模块, 服务器上集成解析器模块, 所述解码器模。
14、块与 解析器模块之间通过应用虚拟化技术专属的数据通道实现数据的交互。 0010 使用播放器软件播放视频时, 服务器端播放器首先调用服务器上的解析器模块, 由解析器模块读取视频文件, 并将读取的内容保存为二进制视频流, 利用所述专属数据通 道将视频流发送到终端设备, 终端设备的解码器模块对视频流进行分离和解码过程。 0011 所述解析器模块是一种软件实现, 集成在服务器上, 并能够被播放器软件调用。 0012 所述解码器模块是一种软件实现, 集成在在终端设备上。 0013 一种基于应用虚拟化技术的视频重定向系统的实现方法, 包括以下步骤 : 0014 (1) 播放器调用服务器上的解析器模块, 解。
15、析器模块读取原始压缩视频流, 并将读 取的内容保存为二进制格式的视频流。 0015 (2) 服务器端将保存的二进制视频流通过应用虚拟化技术的专属数据通道发送至 终端的解码器模块。 0016 (3) 终端设备的解码器模块经过分离和解码过程, 将视频无缝渲染显示。 0017 所述步骤 (1) 的具体工作步骤如下 : 0018 步骤 (1-1) : 服务器端启动播放器。 0019 步骤 (1-2) : 播放器调用服务器上的解析器。 0020 步骤 (1-3) : 解析器打开数据通道, 如果打开失败转入步骤 (1-6) 。 0021 步骤 (1-4) : 解析器读取原始压缩视频文件, 如果读取失败转入。
16、步骤 (1-6) 。 0022 步骤 (1-5) : 解析器循环读取视频文件, 直到视频文件结束, 并将读取的视频文件 保存为二进制格式视频流 ; 解析器每次读取一定流量的视频流, 并将视频流通过虚拟通道 发送到终端, 每次发送完数据, 都等待终端的响应, 如果响应内容为正常, 则继续发送数据, 否则终止发送数据, 退出循环。 0023 步骤 (1-6) : 解析器终止程序运行。 0024 所述步骤 (2) 中应用虚拟化技术的专属数据通道传输数据的具体工作步骤如下 : 0025 步骤 (2-1) : 启动专属数据通道, 利用专属数据通道建立终端与服务器之间的连 接 ; 其中, 数据通道与终端连。
17、接构建数据通道客户端, 数据通道与服务器端连接构建数据通 道服务端。 0026 步骤 (2-2) : 在数据通道客户端初始化接收视频流数据的队列, 启动播放视频的线 程。 0027 步骤 (2-3) : 当数据通道客户端接收到数据通道服务端发送的视频流数据时, 数据 通道客户端将数据放入到队列中。 0028 步骤 (2-4) : 当队列中的数据大于等于队列放入数据与读取数据之间的阈值时, 停 止接收数据, 等待终端解码器读取数据, 直到队列中的数据小于所述阈值时继续放入数据。 0029 步骤 (2-5) : 在所述播放视频的线程中读取队列中的数据, 调用终端设备上的解码 器提供的相关接口, 处。
18、理视频。 0030 所述步骤 (3) 中终端解码器解码视频文件的具体工作步骤如下 : 0031 步骤 (3-1) : 终端解码器读取队列中的视频流数据。 0032 步骤 (3-2) : 判断视频的格式和编码, 如果能够播放则转入步骤 (3-3) , 否则提示用 户不支持该格式的视频播放, 终止程序。 说 明 书 CN 103957445 A 5 3/5 页 6 0033 步骤 (3-3) : 将视频流数据进行分离, 分离出视频数据和音频数据。 0034 步骤 (3-4) : 将视频数据交给视频解码器处理, 将音频数据交给音频解码器处理。 0035 本发明的有益效果是 : 0036 本发明提出的。
19、基于应用虚拟化的专属数据通道技术进行视频重定向的系统及方 法, 思路新颖且易于实现。通过这种方式, 将播放视频的压力由服务器端转移到终端, 由 于终端设备的能力随着信息化技术的发展在不断增强, 因此能充分利用终端设备的硬件能 力。 0037 通过这种方式, 在原有应用虚拟化技术的基础上开辟了一条终端与服务器端视频 播放的专属通道, 由于专属数据通道技术是应用虚拟化技术的基础, 因此并没有引入难以 与应用虚拟化技术相融合的其他技术。 0038 通过这种方式, 网络传输的是原始视频流, 而不是经过服务器端解码后的位图, 因 此能有效减少网络带宽的占用 ; 通过这种方式, 服务器端只需要读取原始视频。
20、流, 而不需要 对视频流进行解码, 因此能有效减少服务器端 CPU 资源的占用。 0039 通过这种方式, 播放视频是由终端集成的解码器完成, 因此播放视频格式的支持 不受服务器端的播放器播放视频格式的限制 ; 通过这种方式, 用户对视频的操作直接由终 端设备处理, 而不是由服务器端的播放器处理, 因此能有效的提高用户交互的速度增强用 户体验。 附图说明 0040 图 1 为本发明终端与服务器端交互示意图 ; 0041 图 2 为本发明解析器模块读取视频文件流程图 ; 0042 图 3 为本发明专属数据通道传输数据流程图 ; 0043 图 4 为本发明解码器模块解码视频文件流程图 ; 具体实施。
21、方式 : 0044 下面结合附图与实施例对本发明做进一步说明 : 0045 此处所说明的附图用来提供对本发明的进一步理解, 构成本发明的一部分, 本发 明的示意实施例及其说明用于解释本发明, 并不够成对本发明的不当限定。 0046 本技术方案假设, 终端和服务器端之间基于某种应用虚拟化技术已经能够正常通 讯, 也就是说, 能够满足用户需求进行移动办公。因此, 本技术方案不涉及如何在终端安装 应用虚拟化客户端软件, 以及如何在服务器端安装应用虚拟化服务器端软件。 0047 如图 1 所示, 一种基于应用虚拟化技术的视频重定向系统, 包括 : 应用虚拟化技术 的终端设备和服务器 ; 所述终端设备上。
22、集成解码器模块, 服务器上集成解析器模块, 所述解 码器模块与解析器模块之间通过应用虚拟化技术专属的数据通道实现数据的交互。 0048 使用播放器播放视频时, 播放器首先调用服务器上的解析器模块, 由解析器模块 读取视频文件, 并将读取的内容保存为二进制视频流, 利用所述专属数据通道将视频流发 送到终端设备, 终端设备的解码器模块对视频流进行分离和解码过程。 0049 一种基于应用虚拟化技术的视频重定向系统的实现方法, 包括以下步骤 : 0050 (1) 播放器调用服务器上的解析器模块, 解析器模块读取原始压缩视频流, 并将读 说 明 书 CN 103957445 A 6 4/5 页 7 取的。
23、内容保存为二进制格式的视频流。 0051 (2) 服务器端将保存的二进制视频流通过专属数据通道发送至终端的解码器模 块。 0052 (3) 终端设备的解码器模块经过分离和解码过程, 将视频无缝渲染显示。 0053 步骤 (1) 中的服务器端是指应用虚拟化技术的服务端设备, 解析器模块是指一种 软件实现, 安装在服务器端设备上, 原始压缩视频流是指视频文件的二进制格式数据。 0054 步骤 (2) 中的专属数据通道是指终端设备与服务器端设备之间建立的一种用于数 据传输的网络通道, 将原始压缩数据流发送到终端是指, 将视频文件的二进制格式的数据 经过专属数据通道建立的网络连接, 由服务器端设备传递。
24、到终端设备。 0055 步骤 (3) 中的终端是指应用虚拟化技术的终端设备, 解码器模块是指一种能够播 放视频的软件实现, 安装在终端设备上。 渲染显示是指终端设备提供了展示图像的能力, 解 码器模块能够使用终端设备提供的能力将视频内容展示给用户。 0056 如图 2 所示, 解析器模块是一种软件实现, 需要安装在服务器端设备上, 并能够被 播放器软件调用。当用户在终端设备上通过应用虚拟化技术, 使用服务器端播放器软件播 放视频时, 播放器软件首先调用解析器模块, 由解析器模块读取视频文件, 并将读取的内容 保存为二进制视频流, 通过终端与服务器端之间建立的专属数据通道, 将视频流发送到终 端。
25、。服务器端解析器模块读取视频文件的具体工作步骤如下 : 0057 步骤 (1-1) : 服务器端启动播放器软件。 0058 步骤 (1-2) : 播放器软件调用解析器模块。 0059 步骤 (1-3) : 解析器模块打开专属数据通道, 如果失败转入步骤 (1-6) 。 0060 步骤 (1-4) : 解析器模块打开视频文件, 如果失败转入步骤 (1-6) 。 0061 步骤 (1-5) : 解析器模块循环读取视频文件, 直到视频文件结束。每次读取 128K 二进制视频流, 将视频流通过专属数据通道发送到终端。 每次发送完数据, 都等待终端的响 应, 如果响应内容为正常, 则继续发送数据, 否则。
26、终止发送数据, 退出循环。 0062 步骤 (1-6) : 解析器模块终止程序运行。 0063 如图 3 所示, 终端与服务器端之间建立的专属数据通道, 是应用虚拟化技术传输 数据的基础。应用虚拟化技术会提供建立专属数据通道, 以及通过专属数据通道发送数据 和接收数据等相关操作的接口。 安装在终端上的应用虚拟化客户端软件与安装在服务器端 的应用虚拟化服务器端软件, 通过网络在建立连接时, 需要建立一条终端解码器模块与服 务器端解析器模块之间数据交互的专属的数据通道。 专属数据通道传输数据的具体工作步 骤如下 : 0064 步骤 (2-1) : 终端与服务器端建立连接时, 启动专属数据通道。数据。
27、通道与终端的 连接称为数据通道客户端, 数据通道与服务器端的连接称为数据通道服务端。 0065 步骤 (2-2) : 当专属数据通道建立连接成功时, 在数据通道客户端初始化接收视频 流数据的队列, 启动播放视频的线程。 在该线程中读取队列中的数据, 调用解码器模块提供 的相关接口, 处理视频。 0066 步骤 (2-3) : 当数据通道客户端接收到数据通道服务端发送的视频流数据时, 数据 通道客户端将数据放入到队列中。 0067 步骤 (2-4) : 当队列中的数据大于等于 1M 时, 停止接收数据, 等待终端解码器模块 说 明 书 CN 103957445 A 7 5/5 页 8 读取数据,。
28、 直到队列中的数据小于 1M 时继续放入数据。 0068 所述步骤 (2-3) 中的队列, 是指一种存取数据的数据结构。 0069 所述步骤 (2-4) 中的数据大于等于 1M, 是指队列放入数据与读取数据之间的阈 值, 队列能够放入的数据应该大于 1M, 设置此值是为了控制服务器端发送视频流的速度。 0070 所述步骤 (2-4) 中的等待, 是指在满足条件之前的一种处理数据的状态。 0071 如图 4 所示, 解码器模块, 是一种软件实现, 需要安装在终端设备上。解码视频时, 要经过分离和解码两个过程。 本地播放视频文件时, 这两步都是在服务器端完成, 但是当要 使用视频重定向时, 分离和。
29、解码的过程都是在终端完成。首先由服务器端将原始视频流传 输到终端, 然后由终端进行分离和解码。 所述分离是指将视频流中的数据, 分离成视频数据 和音频数据。 所述解码是指使用视频解码器解码视频数据, 使用音频解码器解码音频数据。 终端解码器模块解码视频文件的具体工作步骤如下 : 0072 步骤 (3-1) : 读取队列中的视频流数据。 0073 步骤 (3-2) : 判断视频的格式和编码, 如果能够播放则转入步骤 (3-3) , 否则提示用 户不支持该格式的视频播放, 终止程序。 0074 步骤 (3-3) : 将视频流数据进行分离, 分离出视频数据和音频数据。 0075 步骤 (3-4) :。
30、 将视频数据交给视频解码器处理, 将音频数据交给音频解码器处理。 0076 上述虽然结合附图对本发明的具体实施方式进行了描述, 但并非对本发明保护范 围的限制, 所属领域技术人员应该明白, 在本发明的技术方案的基础上, 本领域技术人员不 需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。 说 明 书 CN 103957445 A 8 1/4 页 9 图 1 说 明 书 附 图 CN 103957445 A 9 2/4 页 10 图 2 说 明 书 附 图 CN 103957445 A 10 3/4 页 11 图 3 说 明 书 附 图 CN 103957445 A 11 4/4 页 12 图 4 说 明 书 附 图 CN 103957445 A 12 。