CN101067924B - 一种基于第三方播放软件的视频加速方法 - Google Patents
一种基于第三方播放软件的视频加速方法 Download PDFInfo
- Publication number
- CN101067924B CN101067924B CN200710028257A CN200710028257A CN101067924B CN 101067924 B CN101067924 B CN 101067924B CN 200710028257 A CN200710028257 A CN 200710028257A CN 200710028257 A CN200710028257 A CN 200710028257A CN 101067924 B CN101067924 B CN 101067924B
- Authority
- CN
- China
- Prior art keywords
- video
- interface
- playout software
- method based
- party
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种基于第三方播放软件的视频加速方法:它包括以下步骤:1、先建立系统提供给播放软件的图形显示接口特征库及相应处理方式;2、检测和分析播放软件的图形显示接口并与接口特征库比较,如果匹配则根据其对应的处理方式进行修改接口并截取其视频数据流和视频窗口坐标;3、解码视频流为图像帧;4、把图像发送给专用硬件进行放大或缩小并最终显示;5、告诉播放软件表示成功地播放了当前帧。通过此方法可以使第三方多媒体播放软件实时流畅地播放视频,同时占用系统资源极低即整个计算机处理速度不会因此而变慢。
Description
技术领域
本发明涉及计算机多媒体技术领域,尤其涉及一种在多通道输出单一完整桌面计算机结构或超高分辨率计算机中,基于第三方播放软件的视频加速方法。
背景技术
在现有技术中,计算机多媒体播放软件进行视频播放的流程如附图1,其实现方法主要有以下两大类:一类是,利用现有操作系统提供的多媒体解决方案如DirectX、OpenGL,开发者只需实现播放源的前端部分解码工作,后端图形处理和显示提交给操作系统完成;另一类是,利用操作系统提供的图形接口,从播放源的前端数据读取、解码到后端图像处理及显示全部逐一实现。
在多通道输出单一完整桌面计算机结构或超高分辨率计算机上,利用以上两类方法实现的播放器将面临重大挑战,其主要因素是由于显示硬件能力的限制以及图形驱动仅实现图形驱动的最小子集。在实践中,DirectX、OpenGL在多通道输出单一完整桌面计算机结构或超高分辨率计算机上无法满足显示要求,因为受显示硬件能力的限制以及图形驱动仅实现图形驱动的最小子集的制约,在实践中,常见第三方多媒体播放器如Window Media Player、视频会议系统等在此类计算机结构上播放时视频画面放大甚至全屏后刷新速度极慢且严重消耗系统资源,影响视频观看感观及其它应用软件的正常使用。
发明内容
本发明的目的是为克服现有技术上的不足,提出一种基于第三方播放软件的视频加速方法。
为了实现上述目的,本发明采用如下技术方案:
1、预先建立系统提供给播放软件的图形接口特征库及相应处理方式;
2、检测和分析播放软件的图形显示接口并与接口特征库比较,如果匹配则根据其对应的处理方式进行图形接口修改并截取其视频数据流和视频窗口坐标;
3、解码视频流为图像帧,根据坐标关系分割该图像帧为多块小图像,把各小块图像及坐标关系发送给一个或分别发送多个专用硬件进行放大或缩小并最终显示;或者对该图像帧不分块,把整块图像及坐标关系发送给专用硬件进行放大或缩小并最终显示;
4、告诉播放软件表示成功地播放了当前帧。
所述的系统为UNIX、LINUX、WINDOWS等计算机系统。
所述图形接口特征可以是绘图API接口,也可以是一种接口规范。
所述的图像接口修改可以API接口的拦截,也可以是文件替换。
所述专用硬件可以是逻辑芯片、DSP、或PC机。
通过此方法可以使第三方多媒体播放软件实时流畅地播放视频,同时占用系统资源极低即整个计算机处理速度不会因此而变慢。
附图说明
图1:现有技术中视频播放流程图。
图2:本发明的视频播放流程图。
图3:本发明实施例的流程图。
具体实施方式
本发明根据多媒体播放接口特征创建一个或多个加速器插件,这些插件能自动地加载到播放器的进程空间,并动态地检测、识别、修改进程中相关图形接口,从而达到自动截取图像数据流、解码、图像分块、多硬件缩放及多硬件加速显示,其视频播放流程如图2所示。
请参考图3,以Windows为例逐步解述其加速方法的实施步骤:
1、建立图形接口特征库。
在Windows中实现多媒体播放主要分两种方式:第一种是DirectX接口,
第二种原始图形API接口。分别对这两种方式建立特征库。
A、DirectX的RendererFilter取代
在DirectX的多媒体解决方案包括主要分三层:Source Filter、Transform Filter、Renderer Filter。涉及图形显示的是RendererFilter层。根据其接口规范创建一个最高优先级的RendererFilter的AX供的RenderFilter插件而使用此插件。
B、原始图形API接口拦截。
系统中提供很多丰富的底层图形绘图接口,如StretchBlt、BitBlt等。创建一个动态链接库文件,分别对这些图形接口进行特征记录及实现其对应的处理方式。例如,StretchBlt特征记录后,其新的对应函数为Sniffer_StretchBlt函数。
2、图形接口特征识别。
播放软件启动阶段中自动加载这两个加速器插件,并进行初始化、监控、分析、识别进程中的各种图形函数的调用,如果识别匹配则会进入图形接口修改。
3、图形接口修改。
在进程中利用重定位或者优先级屏蔽的方法,相应地修改原来播放软件实现的图形接口,被动式的等待进程调用。分别对这两方法举例:
A、重定位法。在加速器插件中实现了一个接口特征与StretchBlt函数一致的新函数,命名为Sniffer_StretchBlt。StretchBlt函数经动态函数重定位后其处理函数变成了Sniffer_StretchBlt函数,进程在调用StretchBlt函数时实际就是调用Sniffer_StretchBlt函数。
B、优先级屏蔽法。如果在系统存在多个RendererFilter插件,它们是通过优先级来确定使用。在加速器插件中实现一个比它们任何一个更高优先级的插件,来保证系统调用该插件。
4、图形截取和分块。
播放视频过程中,进程会自动调用被修改的接口并通过该接口传送图像数据到加速器内进行图像解码截取,并根据视频窗口坐标关系分割成多个小图像块。例如,在多通道输出单一完整桌面计算机结构中,视频原始图像尺寸为320×280,通过10×4个通道,在尺寸为10240×3072的桌面(由尺寸为1024×768的10×4个显示单元构成)上全屏显示该原始图像。首先,根据视频窗口坐标关系,将原始图像分割成10×4块尺寸为32×70的小图像,然后,分别发送到对应的通道进行相应倍数(10240×3072/10×4=1024×768/32×70=32×11)的放大,最后在在尺寸为10240×3072的桌面全屏显示。
5、多硬件放大或缩小处理。
加速器会根据视频窗口的坐标关系把多个小块图像分别传送给多个视频硬件同步进行缩小或放大处理,硬件可以是逻辑芯片、DSP、或PC机。
6、多个硬件加速显示。
加速器会把缩小或放大的图像结果利用多个硬件同步加速显示。
7、告诉播放软件播放成功。
返回播放软件上层调用,告诉播放软件表示播放当前帧成功。
以上步骤4-6是针对图像分块的具体实施例。当对图像不进行分块处理时,可以把整块图像及坐标关系发送给专用硬件进行放大或缩小并最终显示。
上列详细说明是针对本发明之一可行实施例的具体说明,该实施例并非用以限制本发明的专利范围,凡未脱离本发明所为的等效实施或变更,均应包含于本案的专利范围中。
Claims (5)
1.一种基于第三方播放软件的视频加速方法,其特征在于:它包括以下步骤:
a、预先建立系统提供给播放软件的图形接口特征库及相应处理方式;
b、检测和分析播放软件的图形显示接口并与接口特征库比较,如果匹配则根据其对应的处理方式进行图形接口修改并截取其视频数据流和视频窗口坐标;
c、解码视频流为图像帧,根据坐标关系分割该图像帧为多块小图像,把各小块图像及坐标关系发送给一个或分别发送多个专用硬件进行放大或缩小并最终显示;或者对该图像帧不分块,把整块图像及坐标关系发送给专用硬件进行放大或缩小并最终显示;
d、告诉播放软件表示成功地播放了当前帧。
2.根据权利要求1所述的一种基于第三方播放软件的视频加速方法,其特征在于:所述的系统为UNIX、LINUX或WINDOWS计算机系统。
3.根据权利要求1所述的一种基于第三方播放软件的视频加速方法,其特征在于:所述图形接口特征是绘图API接口,或者是一种接口规范。
4.根据权利要求1所述的一种基于第三方播放软件的视频加速方法,其特征在于:所述的图形接口修改是API接口的拦截,或者是文件替换。
5.根据权利要求1所述的一种基于第三方播放软件的视频加速方法,其特征在于:所述专用硬件是逻辑芯片、DSP或PC机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710028257A CN101067924B (zh) | 2007-05-28 | 2007-05-28 | 一种基于第三方播放软件的视频加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710028257A CN101067924B (zh) | 2007-05-28 | 2007-05-28 | 一种基于第三方播放软件的视频加速方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101067924A CN101067924A (zh) | 2007-11-07 |
CN101067924B true CN101067924B (zh) | 2010-05-19 |
Family
ID=38880456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710028257A Expired - Fee Related CN101067924B (zh) | 2007-05-28 | 2007-05-28 | 一种基于第三方播放软件的视频加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101067924B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8214857B2 (en) * | 2008-05-29 | 2012-07-03 | International Business Machines Corporation | Generating a combined video stream from multiple input video streams |
CN102098451A (zh) * | 2010-12-15 | 2011-06-15 | 广东威创视讯科技股份有限公司 | 一种基于合成视频的图像分割显示方法 |
CN104142881B (zh) * | 2013-05-07 | 2019-04-12 | 腾讯科技(深圳)有限公司 | 应用程序编程接口的适配缺陷检测方法及检测装置 |
CN104581401B (zh) * | 2013-10-10 | 2019-02-01 | 腾讯科技(深圳)有限公司 | 数据播放的方法及装置 |
CN107087230A (zh) * | 2016-02-16 | 2017-08-22 | 阿里巴巴集团控股有限公司 | 播放器插件加载方法及其装置 |
CN112188235B (zh) * | 2019-07-05 | 2023-03-24 | 上海交通大学 | 媒体处理方式的选择方法及媒体处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1482830A (zh) * | 2003-08-14 | 2004-03-17 | ����ó������˾ | 多种图形播放器的优化合成方法 |
CN1687893A (zh) * | 2005-04-30 | 2005-10-26 | 广东威创日新电子有限公司 | 一种多输出通道显示单一完整桌面的计算机结构 |
EP1635253A2 (en) * | 2004-08-30 | 2006-03-15 | QNX Software Systems | System for providing transparent access to hardware graphic layers |
-
2007
- 2007-05-28 CN CN200710028257A patent/CN101067924B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1482830A (zh) * | 2003-08-14 | 2004-03-17 | ����ó������˾ | 多种图形播放器的优化合成方法 |
EP1635253A2 (en) * | 2004-08-30 | 2006-03-15 | QNX Software Systems | System for providing transparent access to hardware graphic layers |
CN1687893A (zh) * | 2005-04-30 | 2005-10-26 | 广东威创日新电子有限公司 | 一种多输出通道显示单一完整桌面的计算机结构 |
Also Published As
Publication number | Publication date |
---|---|
CN101067924A (zh) | 2007-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101067924B (zh) | 一种基于第三方播放软件的视频加速方法 | |
KR101672611B1 (ko) | 페이드 및 핫 플러그 피처를 갖는 케이블 | |
US7774430B2 (en) | Media fusion remote access system | |
US20060161624A1 (en) | Methods and apparatuses for dynamically sharing a portion of a display for application based screen sampling | |
US20020130889A1 (en) | System, method, and computer program product for real time transparency-based compositing | |
CN108108140B (zh) | 一种多屏协同显示方法及存储装置及支持3d显示的设备 | |
WO2017185799A1 (zh) | 实现多屏互动的方法及装置 | |
CN100447739C (zh) | 一种实时获取多媒体图像的方法以及设备 | |
MX2008003406A (es) | Efectos visuales extensibles en contenido activo en interfaces de usuario. | |
US20130014029A1 (en) | Accessing window pixel data for application sharing | |
US20060161622A1 (en) | Methods and apparatuses for selectively sharing a portion of a display for application based screen sampling using direct draw applications | |
CN103283250A (zh) | 一种视频重定向的方法、装置、系统及计算机可读介质 | |
US20060176296A1 (en) | Systems and methods for rendering three-dimensional graphics in a multi-node rendering system | |
US20200020067A1 (en) | Concurrent binning and rendering | |
CN107301220B (zh) | 数据驱动视图的方法、装置、设备及存储介质 | |
JP2786589B2 (ja) | データ処理システムにおいてフルモーション・ビデオ・プレゼンテーションを操作する方法及び装置 | |
CN110362375A (zh) | 桌面数据的显示方法、装置、设备和存储介质 | |
CN103701854B (zh) | 基于应用虚拟化的网络实时音频传输方法 | |
US7425962B2 (en) | Systems and methods for generating a composite video signal from a plurality of independent video signals | |
US20040212629A1 (en) | Drawing processing apparatus, drawing processing method, drawing processing program and teleconference system equipped therewith | |
US6690826B2 (en) | System and method for detecting text in mixed graphics data | |
US20110298816A1 (en) | Updating graphical display content | |
EP0972279B1 (en) | Media wall for displaying financial information | |
US11381793B2 (en) | Room capture and projection | |
KR20190005035A (ko) | 영상 처리 장치 및 상기 영상 처리 장치의 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100519 Termination date: 20160528 |