WO2016107174A1 - 多媒体文件数据的处理方法及系统、播放器和客户端 - Google Patents
多媒体文件数据的处理方法及系统、播放器和客户端 Download PDFInfo
- Publication number
- WO2016107174A1 WO2016107174A1 PCT/CN2015/086168 CN2015086168W WO2016107174A1 WO 2016107174 A1 WO2016107174 A1 WO 2016107174A1 CN 2015086168 W CN2015086168 W CN 2015086168W WO 2016107174 A1 WO2016107174 A1 WO 2016107174A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- filter
- file data
- media file
- player
- client
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
Definitions
- the present invention relates to the field of communications, and in particular to a method and system for processing multimedia file data, a player, and a client.
- the video file is decoded in the virtual machine, and then the decoded audio and video data is sent to the display channel of the transmission protocol and the transmission protocol.
- the client renders.
- Decoding on the virtual machine side will additionally occupy the CPU usage of the virtual machine, and also reduce the number of virtual machines that the same host can carry.
- the amount of data after decoding is tens or times the number of undecoded data, occupying a large number of networks. Bandwidth, which affects the efficiency of data transfer between the virtual machine and the desktop.
- FIG. 1 is a schematic diagram of a Windows player architecture in a cloud desktop in a related art, in which a multimedia player, such as Windows Media Player, Storm Video, is used to play multimedia files in a cloud desktop; as shown in FIG. 1 , in a Windows virtual machine, a media file Read, decode, render and play, the decoded multimedia data is transmitted to the client through the Spice channel, and finally presented on the client.
- the core components of the player on the Windows platform are based on DirectShow.
- the Windows version is based on the Media Foundation architecture by default. The data is read, decompressed and rendered by different plugins.
- different player applications implement a personalized UI that integrates different video portals.
- FIG. 2 is a schematic diagram of the architecture of a streaming media development package in the related art.
- the architecture of the streaming media development package DirectShow is mainly divided into a graphic filter management device Filter Graph Manager and three types of filter filters.
- the Filter Graph Manager is used to manage the processing of the entire data stream and manage the start, pause, and stop functions of the playback process.
- the function Filter it is divided into three categories: Source Filters to obtain data, data source can be file, digital camera of acquisition card in Internet computer, etc.; Transform Filters is used for data format conversion, such as data stream separation/synthesis, decoding/encoding, etc.
- the final destination of the Rendering Filters data is passed to the graphics card, the sound card is presented for multimedia presentation, or output to a file for storage.
- the video played by the Spice Server to the virtual machine is subjected to H.264 compression, and the decoding and compression cause the server CPU to occupy a high level, which affects the number of virtual machines supported by the server.
- the video file is decoded in the virtual machine, and now the compression ratio of various video encodings is high, but at the same time, the compression process and decompression are more and more complicated, which causes the video file to occupy a large amount of CPU resources when the virtual machine is decoded, and the CPU usage rate.
- the main purpose of the present invention is to provide a method and system for processing multimedia file data, a player and a client, so as to at least solve the video playback in the related art, the video playback is not smooth, unclear, and the virtual machine CPU is used. The problem is too high.
- a method for processing multimedia file data including: when a player constructs a graphics filter, calling a first filter and a second filter preset by the system according to a preset rule;
- the first filter transparently transmits the media file data sent by the received source filter to the second filter;
- the second filter sends the media file data to the client.
- the first filter is an empty decoding filter
- the second filter is a remote rendering filter
- the first filter preset by the system is invoked according to a preset rule.
- the second filter includes: receiving a user-triggered instruction, invoking the null decoding filter and the remote rendering filter according to the instruction; or calling the empty decoding filter according to a priority preset by the system The remote rendering filter, wherein the null decoding filter and the remote rendering filter have the highest priority.
- the first filter and the second filter are both remote rendering filters, and the first filter and the second filter preset by the system are invoked according to a preset rule.
- the method includes: acquiring function information of the application programming interface; determining whether the function information indicates that the default filter of the system is invoked, and when the determination result is yes, switching from the current default filter of the system to the remote rendering filtering Device.
- the second filter sends the media file data to the client by using an IP link.
- a method for processing multimedia file data where a client receives media file data sent by a player; the client decodes and renders the media file data; the client The video plays the video corresponding to the media file data according to the decoded and rendered media file data.
- a player including: a calling module, configured to invoke a first filter and a second filter preset by the system according to a preset rule when the player constructs the graphic filter
- the first filter is configured to transparently transmit media file data sent by the received source filter Go to the second filter
- the second filter is configured to send the media file data to a client.
- the first filter is an empty decoding filter
- the second filter is a remote rendering filter
- the calling module is configured to receive a user-triggered instruction, Invoking the null decoding filter and the remote rendering filter according to the instruction; or calling the null decoding filter and the remote rendering filter according to a priority order preset by the system, wherein the The null decoding filter and the remote rendering filter have the highest priority.
- the calling module includes: an acquiring unit, and a function set to acquire an application programming interface. a judging unit, configured to determine whether the function information indicates to invoke a default filter of the system; and the switching unit is configured to switch to the remote rendering by a filter of a current default of the system when the determination result is yes filter.
- a client including: a receiving module, configured to receive media file data sent by a player; and a processing module configured to decode and render the media file data;
- the playing module is configured to play the video corresponding to the media file data according to the decoded and rendered media file data.
- a system for processing multimedia file data comprising: the player and the client described above.
- the first filter and the second filter are invoked, and the first filter and the second filter do not convert and render the media file data, but only
- the obtained media file data is transparently transmitted to the client, and the format and rendering of the media file are performed on the client.
- the media file is not decoded and rendered in the player by the above manner, thereby saving CPU resources.
- FIG. 1 is a schematic diagram of a Windows player architecture in a cloud desktop in the related art
- FIG. 2 is a schematic structural diagram of a streaming media development package in the related art
- FIG. 3 is a flowchart 1 of a method for processing multimedia file data according to an embodiment of the present invention.
- FIG. 4 is a second flowchart of a method for processing multimedia file data according to an embodiment of the present invention.
- FIG. 5 is a block diagram showing the structure of a player according to an embodiment of the present invention.
- FIG. 6 is a block diagram of a client structure according to an embodiment of the present invention.
- FIG. 7 is a structural block diagram of a processing system of multimedia file data according to an embodiment of the present invention.
- Figure 8 is a block diagram showing the overall structure of a system in accordance with an alternative embodiment of the present invention.
- FIG. 9 is a schematic diagram of video redirection in a Windows XP system according to an embodiment of the present invention.
- FIG. 10 is a schematic diagram of video redirection under Windows 7 according to an embodiment of the present invention.
- FIG. 3 is a flowchart 1 of a method for processing multimedia file data according to an embodiment of the present invention. As shown in FIG. 3, the process includes the following steps:
- Step S302 When the player constructs the graphic filter, the first filter and the second filter preset by the system are called according to the preset rule;
- Step S304 The first filter transparently transmits the media file data sent by the received source filter to the second filter.
- Step S306 The second filter sends the media file data to the client.
- the first filter and the second filter are invoked, and the first filter and the second filter do not perform format conversion and rendering on the media file data, but only The obtained media file data is transparently transmitted to the client, and the format and rendering of the media file are performed on the client.
- the media file is not decoded and rendered in the player, which saves CPU resources.
- the manner in which the different systems invoke the first filter and the second filter is also different, and the first filter and the second filter are also different in different systems; Xp and Windows7 for the corresponding description;
- Application scenario 1 When the system is Windows xp, the first filter is an empty decoding filter, and the second filter is a remote rendering filter.
- the first filter and the first preset by the system are called according to a preset rule.
- the second filter can be implemented as follows:
- Method 1 Receive the user-triggered instruction, and call the empty decoding filter and the remote rendering filter according to the instruction.
- Method 2 The empty decoding filter and the remote rendering filter are called according to the preset priority of the system, wherein the null decoding filter and the remote rendering filter have the highest priority.
- Application scenario 2 When the system is Windows 7, the first filter and the second filter are both remote rendering filters.
- the first filter and the second filter preset by the system are invoked according to a preset rule. Can be achieved by:
- Step S11 acquiring function information of an application programming interface
- Step S12 determining whether the function information indicates that the default filter of the system is called, and when the judgment result is yes, the current system default filter is switched to the remote rendering filter.
- the second filter sends media file data to the client by using an IP link, where the optional IP link is a Socket channel.
- the optional IP link is a Socket channel.
- the band is taken out, and the Simple Protocol for Independent Computing Environment (Spice) is not used, thereby effectively saving bandwidth.
- Spice Simple Protocol for Independent Computing Environment
- FIG. 4 is a second flowchart of a method for processing multimedia file data according to an embodiment of the present invention. As shown in FIG. 4, the method includes:
- Step S402 The client receives the media file data sent by the player.
- Step S404 The client decodes and renders the media file data.
- Step S406 The client plays the video corresponding to the media file data according to the decoded and rendered media file data.
- the media file data to be played is decoded and rendered on the client, so that the decoding and rendering of the media file data in the player of the cloud desktop is not required, and the resources of the CPU are saved.
- a player and a client are also provided, and the player and the client are used to implement the above-mentioned embodiments and preferred embodiments, and the description thereof has been omitted.
- the term “module” may implement a combination of software and/or hardware of a predetermined function.
- FIG. 5 is a structural block diagram of a player according to an embodiment of the present invention. As shown in FIG. 5, the player includes:
- the calling module 52 is configured to, when the player constructs the graphic filter, invoke the first filter 54 and the second filter 56 preset by the system according to the preset rule; the first filter 54 is coupled with the calling module 52, and is set to The media file data sent by the received source filter is transparently transmitted to the second filter; the second filter 56 is coupled to the first filter 54 and configured to send the media file data to the client.
- the manner in which the different systems invoke the first filter and the second filter is also different, and the first filter and the second filter are also different in different systems; Xp and Windows7 for the corresponding description;
- Application scenario 1 When the system is Windows xp, the first filter is an empty decoding filter, and the second filter is a remote rendering filter;
- the calling module 52 is configured to receive a user-triggered instruction, invoke an empty decoding filter and a remote rendering filter according to the instruction; or call the null decoding filter and the remote rendering filter according to a preset order of priority of the system, Among them, the empty decoding filter and the remote rendering filter have the highest priority.
- the calling module 52 may further include: an obtaining unit configured to acquire function information of the application programming interface; the determining unit is coupled to the obtaining unit, and configured to determine whether the function information indicates to invoke a default filter of the system; and the switching unit is coupled with the determining unit. , set to switch to the remote rendering filter by the current system default filter when the judgment result is yes.
- FIG. 6 is a block diagram of a client structure according to an embodiment of the present invention.
- the client includes: a receiving module 62 configured to receive media file data sent by a player; and a processing module 64 coupled to the receiving module 62.
- the device is configured to decode and render the media file data.
- the playing module 66 is coupled to the processing module 64 and configured to play the video corresponding to the media file data according to the decoded and rendered media file data.
- FIG. 7 is a structural block diagram of a processing system of multimedia file data according to an embodiment of the present invention. As shown in FIG. 7, the system includes: a player and a client in the embodiment of the present invention.
- Detour and remote injection technology are used in the present embodiment.
- the player uses Windows Media Player as an example.
- the optional embodiment of the present invention is described in detail with reference to FIG. 8, FIG. 9 and FIG. 10.
- FIG. 8 is a description of the present invention.
- the overall structural block diagram of the system of the selected embodiment is as shown in FIG. 8.
- the player in the Windows virtual machine includes a media file
- the client includes components for decoding and playing the multimedia data.
- FIG. 9 is a schematic diagram of video redirection under Windows XP system according to an embodiment of the present invention.
- a video redirection scheme of Windows Media Player under Windows XP registering Null Filter and Remote written by us in the system.
- Renderer Filter the player will call our Filter when building the Filter Graph, which implements video redirection.
- the NULL Decoder is not actually implemented.
- Coded Filter The data sent by the Source Filter is transparently transmitted to the Remote Render, and the connection established by the Remote Render on the client is sent to the client, and the client decodes and renders it.
- FIG. 10 is a schematic diagram of video redirection under Windows 7 according to an embodiment of the present invention, as shown in FIG.
- the video code of the virtual machine is extracted and separated from the desktop protocol, and the video is not decoded in the virtual machine but directly transmitted to the client for decoding and playing, thereby reducing the CPU. Usage rate. Moreover, the transmission is passed through the Socket, that is, it is taken out of band, and does not need to pass through the Spice channel, thereby effectively saving bandwidth. It should be noted that the video redirected player can support multiple formats such as AVI, FLV, RM, RMVB.
- the first filter and the second filter are invoked, and the first filter and the second filter do not convert and render the media file data, but only
- the obtained media file data is transparently transmitted to the client, and the format and rendering of the media file are performed on the client.
- the media file is not decoded and rendered in the player by the above manner, thereby saving CPU resources.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了一种多媒体文件数据的处理方法及系统、播放器和客户端,其中该方法包括:在播放器构建图形过滤器时,依据预设规则调用系统预设的第一过滤器和第二过滤器;第一过滤器将接收的源过滤器发送的媒体文件数据透传到第二过滤器;第二过滤器向客户端发送媒体文件数据。通过本发明,解决了相关技术中进行视频播放时,会出现视频播放很不流畅、不清晰以及虚拟机CPU使用率过高的问题,此外在本发明中播放器中不对媒体文件进行解码和渲染,节省了CPU资源。
Description
本发明涉及通信领域,具体而言,涉及一种多媒体文件数据的处理方法及系统、播放器和客户端。
在云桌面中使用传统的带内视频方案播放视频时,视频文件在虚机内进行音视频解码,再把解码后的音视频数据分别通过传输协议的放音通道和传输协议的显示通道发送到客户端进行呈现。在虚机端解码会额外占用虚机的CPU使用率,也降低了同一主机能承载运行的虚机数量;同时解码后的数据量是未解码数据量的几十倍甚至上百倍,大量占用网络带宽,影响虚机和桌面之间的数据传输效率。
图1是相关技术中云桌面中Windows播放器架构示意图,在云桌面中使用多媒体播放器,如Windows Media Player、暴风影音,播放多媒体文件;如图1所示,在Windows虚拟机中,媒体文件被读取、解码、渲染播放,经过解码后的多媒体数据通过Spice通道传递到客户端,最后在客户端呈现。目前Windows平台上的播放器核心组件基于DirectShow,Vista以后Windows版本默认基于Media Foundation架构,由不同的插件完成数据的读取、解压和呈现。在此基础上,不同播放器应用实现个性化的UI,整合不同的视频入口。
图2是相关技术中流媒体开发包的架构示意图,如图2,流媒体开发包DirectShow的架构主要分为图形过滤器管理装置Filter Graph Manager和三种类型过滤器Filter。Filter Graph Manager用来管理整个数据流的处理过程,管理播放过程的开始、暂停、停止等功能。按照功能Filter分为三类:Source Filters用语获取数据,数据源可以是文件,因特网计算机里的采集卡数字摄像机等;Transform Filters用于数据的格式转换,例如数据流分离/合成,解码/编码等;Rendering Filters用语数据的最终去向将数据传给显卡,声卡进行多媒体的演示,或者输出到文件进行存储。
可见,相关技术中Spice视频方案为了节省网络带宽,在Spice Server对虚拟机内播放的视频还要进行H.264压缩,而解码和压缩都会导致服务器CPU占用较高,影响服务器支持虚机数量。而且视频文件在虚机中解码,而现在各种视频编码压缩率很高,但同时压缩过程和解压缩也越来越复杂,导致视频文件在虚机解码时占用了大量的CPU资源,CPU使用率过高;另外,解码后的多媒体数据量非常大,当这些数据在Spice通道内传输时,占用了大量的带宽,严重影响
了其它Spice通道的通信;可见在相关技术中进行视频播放时,会出现视频播放很不流畅、不清晰,经常出现卡顿,同时导致虚拟机CPU使用率过高,直接导致整个桌面出现卡死的现象。
针对相关技术中进行视频播放时,会出现视频播放很不流畅、不清晰以及虚拟机CPU使用率过高的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种多媒体文件数据的处理方法及系统、播放器和客户端,以至少解决相关技术中进行视频播放时,会出现视频播放很不流畅、不清晰以及虚拟机CPU使用率过高的问题。
根据本发明实施例的一个方面,提供了一种多媒体文件数据的处理方法,包括:在播放器构建图形过滤器时,依据预设规则调用系统预设的第一过滤器和第二过滤器;所述第一过滤器将接收的源过滤器发送的媒体文件数据透传到所述第二过滤器;所述第二过滤器向客户端发送所述媒体文件数据。
可选地,在所述系统为Windows xp时,所述第一过滤器为空解码过滤器,所述第二过滤器为远程渲染过滤器,依据预设规则调用系统预设的第一过滤器和第二过滤器包括:接收用户触发的指令,依据所述指令调用所述空解码过滤器和所述远程渲染过滤器;或依据所述系统预设的优先级调用所述空解码过滤器和所述远程渲染过滤器,其中,所述空解码过滤器和所述远程渲染过滤器具有最高优先级。
可选地,在所述系统为Windows7时,所述第一过滤器和所述第二过滤器都为远程渲染过滤器,依据预设规则调用系统预设的第一过滤器和第二过滤器包括:获取应用程序编程接口的函数信息;判断所述函数信息是否指示调用所述系统默认的过滤器,在判断结果为是时,由当前所述系统默认的过滤器切换到所述远程渲染过滤器。
可选地,所述第二过滤器通过IP链路向所述客户端发送所述媒体文件数据。
根据本发明实施例的另一个方面,提供了一种多媒体文件数据的处理方法,客户端接收播放器发送的媒体文件数据;所述客户端对所述媒体文件数据进行解码和渲染;所述客户端依据解码和渲染后的媒体文件数据,将对应于所述媒体文件数据的视频进行播放。
根据本发明实施例的再一个方面,提供了一种播放器,包括:调用模块,设置为在播放器构建图形过滤器时,依据预设规则调用系统预设的第一过滤器和第二过滤器;所述第一过滤器,设置为将接收的源过滤器发送的媒体文件数据透传
到所述第二过滤器;所述第二过滤器,设置为向客户端发送所述媒体文件数据。
可选地,在所述系统为Windows xp时,所述第一过滤器为空解码过滤器,所述第二过滤器为远程渲染过滤器;所述调用模块,设置为接收用户触发的指令,依据所述指令调用所述空解码过滤器和所述远程渲染过滤器;或,依据所述系统预设的优先级顺序调用所述空解码过滤器和所述远程渲染过滤器,其中,所述空解码过滤器和所述远程渲染过滤器具有最高优先级。
可选地,在所述系统为Windows7时,所述第一过滤器和所述第二过滤器都为远程渲染过滤器;所述调用模块包括:获取单元,设置为获取应用程序编程接口的函数信息;判断单元,设置为判断所述函数信息是否指示调用所述系统默认的过滤器;切换单元,设置为在判断结果为是时,由当前所述系统默认的过滤器切换到所述远程渲染过滤器。
根据本发明实施例的再一个方面,提供了一种客户端,包括:接收模块,设置为接收播放器发送的媒体文件数据;处理模块,设置为对所述媒体文件数据进行解码和渲染处理;播放模块,设置为依据解码和渲染后的媒体文件数据,将对应于所述媒体文件数据的视频进行播放。
根据本发明实施例的又一个方面,提供了一种多媒体文件数据的处理系统,所述系统包括:以上所述播放器和所述客户端。
通过本发明实施例,采用在播放器构建图像过滤器时,调用第一过滤器和第二过滤器,而该第一过滤器和第二过滤不对媒体文件数据进行格式的转换和渲染,仅仅是将获取到的媒体文件数据透传到客户端,在客户端进行媒体文件的格式转换和渲染,通过上述方式在播放器中不对媒体文件进行解码和渲染,节省了CPU资源。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是相关技术中云桌面中Windows播放器架构示意图;
图2是相关技术中流媒体开发包的架构示意图;
图3是根据本发明实施例的多媒体文件数据的处理方法流程图一;
图4是根据本发明实施例的多媒体文件数据的处理方法流程图二;
图5是根据本发明实施例的播放器结构框图;
图6是根据本发明实施例的客户端结构框图;
图7是根据本发明实施例的多媒体文件数据的处理系统结构框图;
图8是根据本发明可选实施例的系统整体结构框图;
图9是根据本发明实施例的在Windows xp系统下视频重定向的示意图;
图10是根据本发明实施例的在Windows7下视频重定向示意图。
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种多媒体文件数据的处理方法,图3是根据本发明实施例的多媒体文件数据的处理方法流程图一,如图3所示,该流程包括如下步骤:
步骤S302:在播放器构建图形过滤器时,依据预设规则调用系统预设的第一过滤器和第二过滤器;
步骤S304:第一过滤器将接收的源过滤器发送的媒体文件数据透传到第二过滤器;
步骤S306:第二过滤器向客户端发送媒体文件数据。
通过本实施例,采用在播放器构建图像过滤器时,调用第一过滤器和第二过滤器,而该第一过滤器和第二过滤不对媒体文件数据进行格式的转换和渲染,仅仅是将获取到的媒体文件数据透传到客户端,在客户端进行媒体文件的格式转换和渲染。通过本实施例在播放器中不对媒体文件进行解码和渲染,节省了CPU资源。
在本实施例中,不同的系统调用第一过滤器和第二过滤器的方式也是不一样的,而且,在不同的系统中第一过滤器和第二过滤器也是不相同的;下面以Windows xp和Windows7为例进行相应的说明;
应用场景一:在系统为Windows xp时,第一过滤器为空解码过滤器,第二过滤器为远程渲染过滤器,上述步骤S102中依据预设规则调用系统预设的第一过滤器和第二过滤器的方式可以通过如下方式来实现:
方式一:接收用户触发的指令,依据指令调用空解码过滤器和远程渲染过滤器。
方式二:依据系统预设的优先级调用空解码过滤器和远程渲染过滤器,其中,空解码过滤器和远程渲染过滤器具有最高优先级。
应用场景二:在系统为Windows7时,第一过滤器和第二过滤器都为远程渲染过滤器,上述步骤S102中依据预设规则调用系统预设的第一过滤器和第二过滤器的方式可以通过如下方式来实现:
步骤S11:获取应用程序编程接口的函数信息;
步骤S12:判断函数信息是否指示调用系统默认的过滤器,在判断结果为是时,由当前系统默认的过滤器切换到远程渲染过滤器。
需要说明的是,上述两种系统仅仅是用来进行举例说明,在其他能实现第一过滤器和第二过滤器相应的功能的系统也在本发明的保护范围之内。
可选地,在本实施例的一个可选实施方式中,第二过滤器通过IP链路向客户端发送媒体文件数据,可选的该IP链路为Socket通道。而对于该Socket通道走的是带外,没有通过简单协议独立计算环境(Simple Protocol for Independent Computing Environment简称为Spice),进而有效地节省了带宽。
图4是根据本发明实施例的多媒体文件数据的处理方法流程图二,如图4所示,该方法包括:
步骤S402:客户端接收播放器发送的媒体文件数据;
步骤S404:客户端对媒体文件数据进行解码和渲染;
步骤S406:客户端依据解码和渲染后的媒体文件数据,将对应于媒体文件数据的视频进行播放。
通过本实施例,将需要播放的媒体文件数据在客户端进行解码和渲染,从而不需要在云桌面的播放器中进行媒体文件数据的解码和渲染,节省了CPU的资源。
在本实施例中还提供了一种播放器以及客户端,该播放器和客户端用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。
图5是根据本发明实施例的播放器结构框图,如图5所示,该播放器包括:
调用模块52,设置为在播放器构建图形过滤器时,依据预设规则调用系统预设的第一过滤器54和第二过滤器56;第一过滤器54与调用模块52耦合连接,设置为将接收的源过滤器发送的媒体文件数据透传到第二过滤器;第二过滤器56与第一过滤器54耦合连接,设置为向客户端发送媒体文件数据。
在本实施例中,不同的系统调用第一过滤器和第二过滤器的方式也是不一样的,而且,在不同的系统中第一过滤器和第二过滤器也是不相同的;下面以Windows xp和Windows7为例进行相应的说明;
应用场景一:在系统为Windows xp时,第一过滤器为空解码过滤器,第二过滤器为远程渲染过滤器;
可选地,调用模块52,设置为接收用户触发的指令,依据指令调用空解码过滤器和远程渲染过滤器;或,依据系统预设的优先级顺序调用空解码过滤器和远程渲染过滤器,其中,空解码过滤器和远程渲染过滤器具有最高优先级。
应用场景二:在系统为Windows7时,第一过滤器和第二过滤器都为远程渲染过滤器;
调用模块52还可以包括:获取单元,设置为获取应用程序编程接口的函数信息;判断单元与获取单元耦合连接,设置为判断函数信息是否指示调用系统默认的过滤器;切换单元与判断单元耦合连接,设置为在判断结果为是时,由当前系统默认的过滤器切换到远程渲染过滤器。
图6是根据本发明实施例的客户端结构框图,如图6所示,该客户端包括:接收模块62,设置为接收播放器发送的媒体文件数据;处理模块64与接收模块62耦合连接,设置为对媒体文件数据进行解码和渲染;播放模块66与处理模块64耦合连接,设置为依据解码和渲染后的媒体文件数据,将对应于媒体文件数据的视频进行播放。
图7是根据本发明实施例的多媒体文件数据的处理系统结构框图,如图7所示,该系统包括:本发明实施例中播放器和客户端。
下面结合本发明的可选实施例对本发明进行举例说明;
在本可选实施例中使用了Detour和远程注入技术,播放器以Windows Media Player为例,结合图8、图9以及图10对本发明可选实施例进行详细说明,图8是根据本发明可选实施例的系统整体结构框图,如图8所示,该装置中Windows虚拟机中的播放器包含有媒体文件,而在客户端中包括用于对多媒体数据进行解码和播放的组件。
图9是根据本发明实施例的在Windows xp系统下视频重定向的示意图,如图9所示,Windows xp下的Windows Media Player的视频重定向方案:在系统中注册我们写的Null Filter和Remote Renderer Filter,播放器在构建Filter Graph时会调用我们的Filter,这样就实现了视频重定向。为避免在虚拟机内做软解码,并支持各种不同的播放器,则必须将播放器所创建Filter Graph中的Decoder Filter和Renderer Filter替换掉,如图五所示,NULL Decoder为不进行实际编码的Filter,
只是将Source Filter发送的数据透传给Remote Render,由Remote Render建立于客户端的连接,并将未解码的数据发送给客户端,由客户端进行解码和呈现。
针对采用智能连接的播放器,可以通过将NULL Decoder以及Remote Renderer Filter的优先级Merit值设置成高优先级,从而播放器在构造Filter Graph时自动选择NULL Decoder以及Remote Renderer Filter,从而实现媒体数据的重定向。
图10是根据本发明实施例的在Windows7下视频重定向示意图,如图10所示,
首先在媒体播放器构建FilterGraph的过程中根据用户需啊哟修改Windows7系统选定的Filter,通过截获Windows DirectShow的API,在钩子函数里面判断:如果是Decoder/Render,则将其替换成Remote Render,该Remote Render在接收到媒体数据后不会进行视频的解码和渲染,而是直接把媒体数据通过Socket发送到客户端。
通过本可选实施例,在虚机桌面中播放视频时,将虚机的视频编码提取出来和桌面协议分离,视频不在虚机中解码而是直接传输到客户端进行解码播放,降低了CPU的使用率。而且传输是通过Socket通过,即走的是带外,而不需要通过Spice通道,有效地节省了带宽。需要说明的是经过视频重定向的播放器可以支持多种格式如AVI、FLV、RM、RMVB。
针对本发明实施例涉及到的英文缩写进行解释如下表:
以上仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
通过本发明实施例,采用在播放器构建图像过滤器时,调用第一过滤器和第二过滤器,而该第一过滤器和第二过滤不对媒体文件数据进行格式的转换和渲染,仅仅是将获取到的媒体文件数据透传到客户端,在客户端进行媒体文件的格式转换和渲染,通过上述方式在播放器中不对媒体文件进行解码和渲染,节省了CPU资源。
Claims (10)
- 一种多媒体文件数据的处理方法,包括:在播放器构建图形过滤器时,依据预设规则调用系统预设的第一过滤器和第二过滤器;所述第一过滤器将接收的源过滤器发送的媒体文件数据透传到所述第二过滤器;所述第二过滤器向客户端发送所述媒体文件数据。
- 根据权利要求1所述的方法,其中,在所述系统为Windows xp时,所述第一过滤器为空解码过滤器,所述第二过滤器为远程渲染过滤器,依据预设规则调用系统预设的第一过滤器和第二过滤器包括:接收用户触发的指令,依据所述指令调用所述空解码过滤器和所述远程渲染过滤器;或依据所述系统预设的优先级调用所述空解码过滤器和所述远程渲染过滤器,其中,所述空解码过滤器和所述远程渲染过滤器具有最高优先级。
- 根据权利要求1所述的方法,其中,在所述系统为Windows7时,所述第一过滤器和所述第二过滤器都为远程渲染过滤器,依据预设规则调用系统预设的第一过滤器和第二过滤器包括:获取应用程序编程接口的函数信息;判断所述函数信息是否指示调用所述系统默认的过滤器,在判断结果为是时,由当前所述系统默认的过滤器切换到所述远程渲染过滤器。
- 根据权利要求1所述的方法,其中,所述第二过滤器通过IP链路向所述客户端发送所述媒体文件数据。
- 一种多媒体文件数据的处理方法,其中,客户端接收播放器发送的媒体文件数据;所述客户端对所述媒体文件数据进行解码和渲染;所述客户端依据解码和渲染后的媒体文件数据,将对应于所述媒体文件数据的视频进行播放。
- 一种播放器,包括:调用模块,设置在播放器构建图形过滤器时,依据预设规则调用系统预设的第一过滤器和第二过滤器;所述第一过滤器,设置将接收的源过滤器发送的媒体文件数据透传到所 述第二过滤器;所述第二过滤器,设置向客户端发送所述媒体文件数据。
- 根据权利要求6所述的播放器,其中,在所述系统为Windows xp时,所述第一过滤器为空解码过滤器,所述第二过滤器为远程渲染过滤器;所述调用模块,设置接收用户触发的指令,依据所述指令调用所述空解码过滤器和所述远程渲染过滤器;或,依据所述系统预设的优先级顺序调用所述空解码过滤器和所述远程渲染过滤器,其中,所述空解码过滤器和所述远程渲染过滤器具有最高优先级。
- 根据权利要求6所述的播放器,其中,在所述系统为Windows7时,所述第一过滤器和所述第二过滤器都为远程渲染过滤器;所述调用模块包括:获取单元,设置获取应用程序编程接口的函数信息;判断单元,设置判断所述函数信息是否指示调用所述系统默认的过滤器;切换单元,设置在判断结果为是时,由当前所述系统默认的过滤器切换到所述远程渲染过滤器。
- 一种客户端,包括:接收模块,设置接收播放器发送的媒体文件数据;处理模块,设置对所述媒体文件数据进行解码和渲染处理;播放模块,设置依据解码和渲染后的媒体文件数据,将对应于所述媒体文件数据的视频进行播放。
- 一种多媒体文件数据的处理系统,所述系统包括:权利要求6至8任一项所述播放器和权利要求9所述客户端。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410842842.1 | 2014-12-30 | ||
CN201410842842.1A CN105812922A (zh) | 2014-12-30 | 2014-12-30 | 多媒体文件数据的处理方法及系统、播放器和客户端 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016107174A1 true WO2016107174A1 (zh) | 2016-07-07 |
Family
ID=56284119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2015/086168 WO2016107174A1 (zh) | 2014-12-30 | 2015-08-05 | 多媒体文件数据的处理方法及系统、播放器和客户端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105812922A (zh) |
WO (1) | WO2016107174A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222783A (zh) * | 2017-07-13 | 2017-09-29 | 山东超越数控电子有限公司 | 一种基于spice协议的视频重定向实现方法 |
CN108600860A (zh) * | 2018-03-13 | 2018-09-28 | 山东超越数控电子股份有限公司 | 一种基于spice协议加速视频的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056385A (zh) * | 2007-04-29 | 2007-10-17 | 华为技术有限公司 | 视频通信方法、视频合成处理器、终端及服务器 |
CN101453662A (zh) * | 2007-12-03 | 2009-06-10 | 华为技术有限公司 | 立体视频通信终端、系统及方法 |
CN101902471A (zh) * | 2010-07-16 | 2010-12-01 | 福建升腾资讯有限公司 | Rdp环境下流媒体映射方法 |
US20120054719A1 (en) * | 2010-08-25 | 2012-03-01 | Sony Corporation Of America | Apparatus, method and program |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820535A (zh) * | 2008-08-15 | 2010-09-01 | 北京北大众志微系统科技有限责任公司 | 一种网络计算机多媒体视频播放方法和系统 |
US8578076B2 (en) * | 2009-05-01 | 2013-11-05 | Citrix Systems, Inc. | Systems and methods for establishing a cloud bridge between virtual storage resources |
WO2011060442A2 (en) * | 2009-11-16 | 2011-05-19 | Citrix Systems, Inc. | Methods and systems for selective implementation of progressive display techniques |
US8312471B2 (en) * | 2010-04-26 | 2012-11-13 | Vmware, Inc. | File system independent content aware cache |
US8725997B2 (en) * | 2011-01-27 | 2014-05-13 | Wyse Technology L.L.C. | Self-provisioning of configuration for a specific-purpose client having a windows-based embedded image with a write-filter |
CN102158553B (zh) * | 2011-03-31 | 2017-04-12 | 华为技术有限公司 | 用于远程桌面的播放多媒体文件的方法和装置 |
CN103873924B (zh) * | 2012-12-12 | 2017-09-05 | 华为技术有限公司 | 一种视频重定向的方法、装置、系统 |
-
2014
- 2014-12-30 CN CN201410842842.1A patent/CN105812922A/zh active Pending
-
2015
- 2015-08-05 WO PCT/CN2015/086168 patent/WO2016107174A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056385A (zh) * | 2007-04-29 | 2007-10-17 | 华为技术有限公司 | 视频通信方法、视频合成处理器、终端及服务器 |
CN101453662A (zh) * | 2007-12-03 | 2009-06-10 | 华为技术有限公司 | 立体视频通信终端、系统及方法 |
CN101902471A (zh) * | 2010-07-16 | 2010-12-01 | 福建升腾资讯有限公司 | Rdp环境下流媒体映射方法 |
US20120054719A1 (en) * | 2010-08-25 | 2012-03-01 | Sony Corporation Of America | Apparatus, method and program |
Also Published As
Publication number | Publication date |
---|---|
CN105812922A (zh) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10721282B2 (en) | Media acceleration for virtual computing services | |
KR101810496B1 (ko) | 무선 통신 시스템의 비디오 스트리밍 | |
WO2018121014A1 (zh) | 视频播放控制方法、装置及终端设备 | |
KR101780782B1 (ko) | 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치 | |
CN101582926B (zh) | 实现远程媒体播放重定向的方法和系统 | |
CN103179431A (zh) | Vdi环境下音视频重定向转码分离方法 | |
WO2014139269A1 (zh) | 基于虚拟桌面的视频播放、处理方法及装置 | |
CN104685873B (zh) | 编码控制设备以及编码控制方法 | |
WO2015176648A1 (zh) | 将智能终端上的数据传输至电视终端的方法、装置 | |
CN115243074B (zh) | 视频流的处理方法及装置、存储介质、电子设备 | |
WO2023216798A1 (zh) | 音视频的转码装置、方法、设备、介质及产品 | |
US10917477B2 (en) | Method and apparatus for MMT integration in CDN | |
CN103957445A (zh) | 一种基于应用虚拟化技术的视频重定向系统及方法 | |
WO2016107174A1 (zh) | 多媒体文件数据的处理方法及系统、播放器和客户端 | |
CN106658070B (zh) | 视频重定向的方法和装置 | |
WO2022116822A1 (zh) | 沉浸式媒体的数据处理方法、装置和计算机可读存储介质 | |
KR101832167B1 (ko) | 웹 프로토콜을 사용하는 클라우드 스트리밍 웹 서버 및 클라이언트 단말 | |
CN115134664A (zh) | 实时视频流的播放方法及系统、非易失性存储介质 | |
CN116546262A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
US11265357B2 (en) | AV1 codec for real-time video communication | |
CN116136751B (zh) | 一种用于主屏以及次屏跨操作系统的镜像方法 | |
WO2022068674A1 (zh) | 视频通话的方法、电子设备及系统 | |
CN113747099B (zh) | 视频传输方法和设备 | |
KR20160044732A (ko) | 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR101553929B1 (ko) | 미디어 리디렉션을 지원하는 가상 데스크톱 인프라 시스템 및 이를 이용한 미디어 송수신 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15874863 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15874863 Country of ref document: EP Kind code of ref document: A1 |