多媒体网页录制的方法和装置
技术领域
本发明涉及流媒体技术领域,特别是涉及一种多媒体网页录制的方法和装置。
背景技术
当今,流媒体技术的应用非常普及,任何媒体文件结合网络,就达到了全球共享的目的。媒体内容提供商,为保护自己的利益,加强了多媒体文件的数字版权管理(Digital RightManagement,DRM),利用DRM技术,完全可以控制到文件播放次数、复制次数、甚至是有效的播放时间限制等,对文件的分享带来了很多限制。要能很好的实现DRM媒体文件的共享,可以通过正常的播放过程,进行录制、编码得到新的目的文件,本发明将介绍一种非常有效的多媒体文件的录制方法——利用网页播放录制的方法。
多媒体文件,只需要播放即可进行录制,但是对一些特殊的多媒体文件(例如:Audible提供的AA、AAX文件)进行播放时,需要利用到Windows操作系统的核心组件,这些核心组件不能通过直接微软提供的软件开发工具包(Software Development Kit,SDK)来调用,只用微软自己提供的应用程序才可以调用到,因此要能方便、快速地实现多种文件格式的播放,存在一定的技术瓶颈,实现多个文件同时转换,是一个相当大的考验。本专利提供的一种多媒体网页录制的方法,很好的解决了这些问题,充分利用了Windows操作系统内核组件,同时也实现多路文件的播放转换。
现有技术的技术方案:
技术方案之一,使用微软提供的WMPSDK(Windows Media Player SDK),直接实现播放器功能,通过实现的播放器,控制多媒体文件的播放,然后对播放内容进行录制、编码产生目的文件,该方案可以适用于部分常用文件,但是对特殊文件的是无法实现播放的(比如AA文件)。
技术方案之二,利用微软提供的WMFSDK(Windows Media Format SDK),直接实现播放器功能,通过实现的播放器,控制多媒体文件的播放,然后对播放内容进行录制、编码产生目的文件,该方案可以针对专门有DRM保护的文件进行播放,但是需要利用到微软附加收费的SDK,并且该附加SDK的费用额度相当之高(一般不低于$10,000),对实际使用带来了极大不便。
技术方案之三,直接利用微软操作系统提供的WMP(Windows Media Player)播放多媒体文件,然后通过控制WMP播放,实现对WMP的播放内容进行录制、编码产生目的文件,该方案可以适用于任何文件格式(只要WMP能够支持播放即可),但是无法实现多路文件的同时播放。
现有技术方案的主要缺点:
技术方案之一,使用微软提供WMPSDK实现的播放器,只能针对部分普通文件的播放,并且实现的播放器不能直接利用到Windows操作系统内部的核心组件,因此对一些特殊受保护的多媒体文件,是无法实现播放,这样就无法支持所有文件格式,其兼容性存在缺陷。
技术方案之二,使用微软提供的WMFSDK实现的播放器,是可以播放针对那些拥有DRM保护的文件,但是微软要价不菲的特殊开发费用,对大众化使用是一个缺陷。
技术方案之三,直接利用Windows操作系统自带的WMP来播放,是可以支持任何多媒体文件格式,但是在实现多路播放录制时,是无法实现的,系统控制WMP只能拥有一个进程,是该方案的一个缺陷。
发明内容
本发明的主要目的就是针对现有技术的不足,提供一种支持任何格式的媒体文件(特别是拥有DRM保护的文件)播放录制的多媒体网页录制的方法和装置。
本发明另一目的在于提供一种采用该多媒体网页录制的装置的多媒体录制设备。
为实现上述目的,本发明采用以下技术方案:
一种多媒体网页录制的装置,包括:
内存共享装置,用于提供关于播放和录制的初始化参数;
播放录制装置,用于依据所述初始化参数绑定多媒体文件中的录制对象并在播放多媒体文件的过程中录制被绑定的对象;
网页装置,由基于Windows操作系统框架的浏览器启动,用于调用嵌入所述网页装置的所述播放录制装置;
优选地:
所述网页装置在超文本标记语言网页上实现。
所述播放录制装置基于DirectShow自动选择需要的组件以建立播放链路。
一种多媒体网页录制的装置,包括:
前述的一种多媒体网页录制的装置;
编码及输出装置,用于对录制的数据进行编码并输出到目的文件。
一种多媒体网页的录制方法,包括以下步骤:
S.1:向内存共享装置写入关于播放和录制的初始化参数;
S.2:通过运行基于Windows操作系统框架的浏览器以启动网页装置;
S.3:所述网页装置调用嵌入到其中的播放录制装置;
S.4:所述播放录制装置读取所述内存共享装置中的所述初始化参数,依据所述初始化参数绑定多媒体文件中的录制对象,并在播放多媒体文件的过程中录制被绑定的对象;
优选地:
还包括以下步骤:
S.5:获取录制的内容,编码后输出到目的文件。
所述步骤S.4中,所述播放录制装置执行的内容包括以下步骤:
SA.1:加载播放需要的初始化参数,包含输入文件与播放过程中需要绑定的录制对象;
SA.2:检测初始化参数的有效性,如果有效,进入下一步,如果参数错误,直接跳转到结束;
SA.3:根据初始化参数获取录制对象;
SA.4:判断录制对象是否获取成功,如果成功,进入下一步,如果失败,直接跳转到结束;
SA.5:绑定录制对象,建立播放链路;
SA.6:启动多媒体文件的播放。
所述步骤S.3中,所述网页装置执行的内容包括以下步骤:
SB.1:加载所述播放录制装置;
SB.2:检测加载是否成功,如果成功,进入下一步,如果失败,直接跳转到结束;
SB.3:启动所述播放录制装置以在网页上播放多媒体文件。
所述步骤S.1进一步包括以下步骤:
SC1.1:查询内存共享装置的内存映射区的读取信号状态,如果被读取,进入下一步,如果是没有被读取,则等待,此时不能写入数据;
SC1.2:获取映射内存块,准备写入数据;
SC1.3:检测获取是否成功,如果成功,进入下一步,如果失败,直接跳转结束;
SC1.4:写入数据到内存映射区;
SC1.5:设置数据已经写入信号状态。
所述步骤S.4中,所述初始化参数的读取进一步包括以下步骤:
SC2.1:查询内存共享装置的内存映射区的写入信号状态,如果被写入,进入下一步,如果是没有被写入,则等待,此时不能读取数据;
SC2.2:获取映射内存块,准备读取数据;
SC2.3:检测获取是否成功,如果成功,进入下一步,如果失败,直接跳转结束;
SC2.4:从内存映射区读取数据;
SC2.5:设置数据已经读取信号状态。
本发明有益的技术效果是:
本发明提供在多媒体文件解码播放过程中,对其实行快速高效的进行录制、编码、转换输出到另外一种文件格式的流媒体数据录制的方法。通过单独的播放录制装置,嵌入到网页装置,通过内存共享装置传递初始化数据,最后使用基于Windows操作系统框架的浏览器来启动播放,进行录制编码输出,本发明可利用Windows操作系统提供的SDK开发播放器,支持任何格式的媒体文件播放(特别是拥有DRM保护的文件),并能够支持多路文件的同时播放、录制转换,以最小的投入达到最好、最快的使用效果。更具体地来说,本发明包括以下方面的优点:
1.使用基于Windows操作系统框架的浏览器例如IE播放媒体文件,直接利用Windows操作系统的内核框架,确保系统核心组件的利用;能够兼容任何多媒体文件的播放,提高了对受DRM保护的多媒体文件格式的兼容;
2.设置内存共享装置,提升了播放装置与网页装置之间交互数据的高效性和稳定性;
3.采用录制对象与播放装置的绑定,提升了整套系统的稳定性和易用性;
4.支持多路媒体文件的播放,增强实用效率,加强并行应用,缩短等待时间;
5.不需要采用特殊的附加收费的SDK,减少了系统开发成本。
附图说明
图1为本发明多媒体网页录制的装置和多媒体录制设备的结构框图;
图2为本发明多媒体网页录制的方法一个实施例的整体流程图;
图3为本发明一个实施例中启用播放录制装置的流程图;
图4为本发明一个实施例中启用网页装置的流程图;
图5为本发明一个实施例中向内存共享装置写入初始化参数的流程图;
图6为本发明一个实施例中从内存共享装置读取初始化参数的流程图。
具体实施方式
以下通过实施例结合附图对本发明进行进一步的详细说明。
本文中使用到的术语:
DRM:Digital Right Management--数字版权管理;
SDK:Software Development Kit--软件开发工具包;
WMP、WMPlayer:Windows Media Player-Windows多媒体播放器;
IE:Internal Explorer-浏览器;
WMF:Windows Media Format-Windows多媒体格式;
HTML:Hyper Text Mark-up Language-超文本标记语言,是网页的主要语言;
DShow:DirectShow-微软提供的多媒体开发包的特定代号;
内核组件:泛指操作系统内部调用,不直接向开发者提供的核心模块,一般只有操作系统框架才能加载,如WMPlayer,IE之类初始化会加载系统核心组件;
多路播放:多个同时并行播放简称多路播放;
进程:以单独的可执行程序独立存在的模块;
自动建链:是利用DShow的一种技术,直接利用系统自动选择需要的组件,建立播放链路。
如图1所示,一个实施例的多媒体录制设备包括多媒体网页录制的装置和编码及输出装置,该多媒体网页录制的装置包括内存共享装置、播放录制装置和网页装置,其中内存共享装置和网页装置与播放录制装置相耦合,播放录制装置的输出端接编码及输出装置的输入端。内存共享装置可供写入和读取关于播放和录制的初始化参数;播放录制装置用于依据所述初始化参数绑定多媒体文件中的录制对象,并在播放多媒体文件的过程中录制被绑定的对象;网页装置用于在基于Windows操作系统框架的浏览器例如IE运行时启动以调用嵌入所述网页装置的所述播放录制装置;编码及输出装置用于对录制的数据进行编码并输出到目的文件。所述网页装置优选在HTML网页上实现,例如静态HTML网页。所述播放录制装置优选采用DirectShow技术,自动选择需要的组件以建立播放链路,即自动建链。
如图2所示,在一个实施例中,多媒体网页录制的方法的整体流程包括以下步骤:
向内存共享装置写入关于播放和录制的初始化参数;
通过运行基于Windows操作系统框架的浏览器以启动网页装置;
所述网页装置调用嵌入到其中的播放录制装置;
所述播放录制装置读取所述内存共享装置中的所述初始化参数,依据所述初始化参数绑定多媒体文件中的录制对象,并在播放多媒体文件的过程中录制被绑定的对象;
优选地,还包括以下步骤:
获取录制的内容,将相应的音视频数据编码后输出到目的文件。
优选地,浏览器采用Windows系统的IE。
如图3所示,在优选的实施例中,所述播放录制装置执行的内容包括以下步骤:
加载播放需要的初始化参数,包含输入文件与播放过程中需要绑定的录制对象;
检测初始化参数的有效性,如果有效,进入下一步,如果参数错误,直接跳转到结束;
根据初始化参数获取录制对象;
判断录制对象是否获取成功,如果成功,进入下一步,如果失败,直接跳转到结束;
绑定录制对象,建立播放链路;
启动多媒体文件的播放。
上述的获取包括查询录制对象是否可用并得到可用的录制对象。一般会存在多个录制对象,且每个录制对象只能被一条播放链路使用,即播放链路绑定一个录制对象。
优选地,播放链路是采用DirectShow,自动选择需要的组件来建立。
如图4所示,所述网页装置执行的内容包括以下步骤:
加载所述播放录制装置;
检测加载是否成功,如果成功,进入下一步,如果失败,直接跳转到结束;
启动所述播放录制装置以在网页上播放多媒体文件。
优选地,所述多媒体文件是在超文本标记语言网页上播放。
如图5所示,向内存共享装置写入初始化参数进一步包括以下步骤:
查询内存共享装置的内存映射区的读取信号状态,如果被读取,进入下一步,如果是没有被读取,则等待,此时不能写入数据;
获取映射内存块,准备写入数据;
检测获取是否成功,如果成功,进入下一步,如果失败,直接跳转结束;
写入数据到内存映射区;
设置数据已经写入信号状态。
如图6所示,从内存共享装置读取所述初始化参数进一步包括以下步骤:
查询内存共享装置的内存映射区的写入信号状态,如果被写入,进入下一步,如果是没有被写入,则等待,此时不能读取数据;
获取映射内存块,准备读取数据;
检测获取是否成功,如果成功,进入下一步,如果失败,直接跳转结束;
从内存映射区读取数据;
设置数据已经读取信号状态。
通过如图5、6所示的步骤可建立起良好的读写处理机制,防止异常,保证初始化参数在内存共享装置中正常读写。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,使用不同方式、技术去实现所述的网页装置、内存共享装置、播放录制装置及相关的控制装置,都属于本发明的范畴。在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。