CN103116492A - 光盘或光盘文件收录方法及系统 - Google Patents
光盘或光盘文件收录方法及系统 Download PDFInfo
- Publication number
- CN103116492A CN103116492A CN2013100076877A CN201310007687A CN103116492A CN 103116492 A CN103116492 A CN 103116492A CN 2013100076877 A CN2013100076877 A CN 2013100076877A CN 201310007687 A CN201310007687 A CN 201310007687A CN 103116492 A CN103116492 A CN 103116492A
- Authority
- CN
- China
- Prior art keywords
- information
- disc
- int
- program
- mirroring
- 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.)
- Pending
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明涉及一种能够将光盘或光盘镜像收录成用户需要的独立流媒体文件的收录方法和系统。根据一种实施例,本发明提供一种用于收录光盘或光盘镜像的方法,所述方法包括:读取光盘或光盘镜像并加载光盘信息或光盘镜像信息;将经加载的光盘信息或光盘镜像信息呈现给用户;接收用户对经加载的光盘信息或光盘镜像信息的用户编辑信息;以及根据所述用户编辑信息将光盘内容或光盘镜像内容收录成独立流媒体文件。根据另一实施例,本发明提供一种用于收录光盘或光盘镜像的系统。
Description
技术领域
本发明涉及光盘或光盘文件收录。
背景技术
目前用户得到媒体文件的途径一般包括:网络下载和拷贝以及光盘介质。现有的光盘介质又包括VCD、SVCD、DVD以及蓝光光盘等等。光盘是以光信息作为存储物的载体、用来存储数据的一种制品。发展历程从VCD、SVCD和DVD、再从DVD发展出HD-DVD和蓝光Blu-Ray,今后也可能发展出新的光盘形式。
例如,蓝光Blu-Ray(Blu-ray Disc,简称BD)用以存储高品质的影音以及高容量的数据。Blu-ray的系统层采用扩展的TS格式(M2TS即是在TS的头信息上加4个字节);音频采用LPCM、MPEG1layer II(MP2)、Dolby Digital(AC-3)、DTS、Enhanced AC-3(E-AC3)、Dolby TrueHD和DTS-HD编码;视频编码方式是MPEG-2、H.264/MPEG-4AVC、VC-1,图像分辨率为1920x1080。同时BD支持Java技术,使蓝光光盘播放器跟蓝光光盘可以作出交互功能。
当前,光盘介质在长时间或保管不当情况下,会降低光盘的使用寿命,因此对于备份光盘内容变得至关重要,但例如Blu-ray光盘容量一般可达到20G以上,这样就增加了存储成本并会将大量时间耗费在文件备份上。而且,用于制作镜像或复制光盘的现有软件无法实现用户对例如Blu-ray光盘内容进行选择性的收录,从而不得不对整张Blu-ray光盘的全部内容进行复制或收录,不仅降低了文件备份的效率也极大地增加了成本。
发明内容
提供本发明内容以便以简化形式介绍下面在具体实施方式中进一步描述的概念的选集。本发明内容不旨在标识所要求保护的本主题的关键特征或必要特征,也不预期用来帮助确定所要求保护的本主题的范围。
本发明要求保护一种能够将光盘或光盘文件收录成用户需要的独立流媒体文件的收录方法和系统。根据一个实施例,本发明提供一种用于收录光盘或光盘镜像的方法,所述方法包括:读取光盘或光盘镜像并加载光盘信息或光盘镜像信息;将经加载的光盘信息或光盘镜像信息呈现给用户;接收用户对经加载的光盘信息或光盘镜像信息的用户编辑信息;以及根据所述用户编辑信息将光盘内容或光盘镜像内容收录成独立流媒体文件。
根据另一实施例,本发明提供一种用于收录光盘或光盘镜像的系统,所述系统包括:用于读取光盘或光盘镜像并加载光盘信息或光盘镜像信息的装置;用于将经加载的光盘信息或光盘镜像信息呈现给用户的装置;用于接收用户对经加载的光盘信息或光盘镜像信息的用户编辑信息的装置;以及用于根据所述用户编辑信息将光盘内容或光盘镜像内容收录成独立流媒体文件的装置。包括且可获得其他实施例。
从下列具体实施方式的阅读和相关附图的回顾将明显看出这些和其他特征和优点。应理解,前述的一般描述和下列详细描述两者都仅是解释性的,且不限制所要求保护的本发明。
附图说明
图1示出了根据一个具体实施例的用于蓝光光盘的收录系统加载文件的屏幕截图。
图2示出了根据一个具体实施例的蓝光收录系统开始收录文件之后的屏幕截图。
图3示出了根据一个具体实施例的用于收录蓝光文件的方法的流程图。
图4示出了根据一个具体实施例的用于蓝光光盘的光盘收录系统的使用的屏幕截图。
具体实施方式
在以下描述的具体实施方式中,以蓝光光盘为例对本发明所要求保护的光盘或光盘文件收录系统及方法进行具体阐述。但应当理解,本发明所要求保护的方法和系统不旨在限于蓝光光盘,还可用于其他形式的光盘或光盘镜像文件。
蓝光收录方法和系统概述
根据一个实施例的蓝光收录方法和系统收录蓝光光盘或本地蓝光文件(以下统称为光盘镜像(从光盘中复制的完整目录和内容)),使得用户能够选择保留文件的音视频及字幕信息。通过本发明的收录方法或系统收录后的蓝光文件都保存成TS+XML样式。TS为单路节目即SPTS,XML中包含所有的视频流、音频流以及字幕数据描述信息。蓝光格式采用的M2TS,是TS格式的扩展,可以直接收录成TS格式。
参考图1,图1示出了根据一个具体实施例的用于蓝光光盘的收录系统加载文件的屏幕截图。如图1所示,根据一个实施例的蓝光收录方法及系统读取光盘或光盘镜像并加载光盘信息或光盘镜像信息,包括但不限于,枚举机器有几个光驱或虚拟光驱;光驱或虚拟光驱中是否有光盘或光盘镜像;获取光盘或光盘镜像的类型;光驱或虚拟光驱中有光盘或光盘镜像插入时,自动通知用户有光盘或光盘镜像插入;光驱或虚拟光驱中的光盘或光盘镜像退出时,提示用户光盘或光盘镜像已退出;加载蓝光影片(本地文件或光盘),并转换成TS文件;加载同时异步枚举光盘信息或光盘镜像信息,直到加载完成之前不可以取消该操作。加载完成后,枚举影片的属性,所述属性信息包括但不限于:加载影片的格式,有蓝光或未知;罗列出节目信息,包括:有几路节目、每路节目包含几路音频、几路视频和几路字幕以及影片时长:如图1所示的,1)音频:语言信息、音频PID、格式、声道数、采样率;2)视频:视频PID、格式、视频宽度、视频高度;以及3)字幕:文字信息、字幕PID、字幕类型。
除了能够检测和加载上述信息之外,根据一个实施例的蓝光收录方法和系统还包括根据用户选择来执行以下功能:1)检测文件信息,文件在收录之前,不能确保文件的合法性以及文件是否有损坏等问题,可以通过该项功能检测,检测结果反馈给用户,让用户决定是否要继续进行收录的工作;2)语言检索,例如蓝光中字幕可以达到32路,而字幕中的字符集按照ISO-639字符集标准中规定的语言代码就有400多个,当同一个国家或地区有两种语言时,该标准中就没有明确说明该字符集指向的是哪种语言,比如中文,在该标准中使用“zho”或“chi”来表示中文,但是中文包括“普通话”和“粤语”,因此造成表述不明确。基于上述问题考虑,添加了在收录例如蓝光文件时注明当前文件采用何种语言的功能。
在如图1所示的将经加载的信息呈现给用户之后,根据一个实施例的蓝光收录方法和系统接收用户对经加载的光盘信息或光盘镜像信息的用户编辑信息。所述用户编辑信息包括对节目信息中的音频、视频和字幕设置的收录要求。用户设置收录要求包括:选择收录1路节目或多路节目以及每路节目收录时具体要求。对每路节目收录时的具体要求可包括:对每路节目中的音频、视频和字幕的设置要求,可以分别设置为输出或不输出,但必须保证有1路视频。对每路节目收录时的具体要求还可包括:蓝光光盘中的PGS字幕,收录前可以选择“是否去除冗余数据”,如下文详细描述的。每路节目的PID以及音频、视频和字幕的PID,在收录时都可以进行修改。收录影片前,选择输出多个节目时,每路节目都可以设置保存的文件名称及保存的路径。
现在具体介绍根据一个实施例的蓝光收录方法和系统中如何去除蓝光PGS字幕中的冗余数据。在一个实施例中,对于蓝光PGS字幕,Segment是PGS字幕的基本组成单元,不同类型的Segment用于实现不同的功能,例如:有的Segment用于放置颜色表、有的Segment用于放置编码后的字幕图像信息。
PGS Segment的一个具体示例结构如下图所示:
在上述示例性PGS Segment结构中,segment_type:用于说明该Segment的类型,有多种可选值:0x14(Palette Definition Segment,PDS):用于放置颜色表;0x15(Object Definition Segment,ODS):用于放置编码后的字幕图像信息;0x16(Presentation Composition Segment,PCS):用于放置字幕的Presentation信息;0x17(Window Definition Segment,WDS):用于汇总存放子字幕的位置信息、尺寸信息;0x80(END ofDisplay Set Segment,END):用于控制字幕的显示问题。segment_length:不包括segment_type字段和自己在内的Segment的长度。
一个正常的字幕片段以0x16(Presentation Composition Segment)开始、以0x80(END ofDisplay Set Segment)结束,由若干个不同类型的Segment构成。常用的两种字幕片段格式包括,由5个Segment组成的字幕片段格式1:0x16(PresentationComposition Segment,PCS)→0x17(Window Definition Segment,WDS)→0x14(Palette Definition Segment,PDS)→0x15(Object Definition Segment,ODS)→0x80(END of Display Set Segment,END);由3个Segment组成的字幕片段格式2:0x16(Presentation Composition Segment,PCS)→0x17(Window DefinitionSegment,WDS)→0x80(END of Display Set Segment,END)。字幕片段格式2类型的字幕中不包括有效数据,实际上它是一个空字幕,用于结束显示前一字幕。
通常情况下,由一个到多个“采用字幕片段格式1的字幕片段”、一个“采用字幕片段格式2的字幕片段”构成一个完整的字幕。许多Blu-ray影片中的PGS字幕,没有采用前面介绍的字幕片段格式,其PGS字幕中存在冗余信息。
根据一个实施例的蓝光收录方法和系统的特点之一就是:可以去除蓝光PGS字幕中存在的冗余信息,减少收录下来的TS文件的尺寸,减少片库的存储空间。以一部视频编码格式为H.264、文件大小为20G的蓝光影片为例,经过收录后的TS文件可以节省比蓝光原文件少1/4的存储空间。下面具体介绍所采用的字幕去除冗余方法。一个到多个“采用字幕片段格式1的字幕片段”、一个“采用字幕片段格式2的字幕片段”构成了一个完整的字幕,该字幕一方面已经包含了媒体播放器正常播放字幕所需要的所有信息,另一方面该字幕中没有任何冗余信息,所有的信息都是必须的。即是一个数据量最小的完备字幕。Blu-ray Disk中提取出PGS字幕后,将分析该字幕是否为一个数据量最小的完备字幕。如果不是,有冗余数据,那么去除冗余数据,将其调整成一个数据量最小的完备字幕。
在接收到用户对经加载的光盘信息或光盘镜像信息的用户编辑信息之后,根据一个实施例的蓝光收录方法和系统根据所述用户编辑信息将光盘内容或光盘镜像内容收录成独立流媒体文件。具体地,TS流支持多节目,一个节目中可以包含多个视频流、音频流和字幕流。首先依据用户选定的节目以及各个节目中的视频流、音频流和字幕流,生成节目关联表(PAT)和节目映射表(PTM)。根据用户选定的节目以及各个节目中的视频流、音频流和字幕流,将相关的视频ES数据、音频ES数据和字幕ES数据从Blu-ray Disk中提取出来。“ES”,其中文定义是编码视频数据流或音频数据流,每个ES都由若干个存取单元(AU)组成,每个视频AU或音频AU都是由头部和编码数据两部分组成,1个AU相当于编码的1幅视频图像或1个音频帧,也可以说,每个AU实际上是编码数据流的显示单元,即相当于解码的1幅视频图像或1个音频帧的取样,有些情况下,本领域技术人员对“ES”会简称为“原始编码数据流”。根据所提取的视频ES数据、音频ES数据和字幕ES数据,分别创建出视频TS包、音频TS包和字幕TS包。以视频TS包为主体,执行以下步骤:按照100毫秒这一时间间隔将节目关联表(PAT)和节目映射表(PTM)定期插入到TS流中;按照40毫秒这一时间间隔将具有节目参考时钟(PCR)的TS包定期插入到视频TS包中;当当前音频TS包的解码时间(DTS)减去当前PCR的值约等于一常量(1000毫秒)时,插入音频TS包。当当前字幕TS包的解码时间(DTS)减去当前PCR的值约等于一常量(1000毫秒)时,插入字幕TS包。蓝光文件在收录时,会先获取影片的音频、视频以及字幕信息(包括:编码格式、音视频以及字幕的数目等),当影片存在多路节目时,采用一路视频收录成一个TS文件,多路时,则生会成多个TS文件。
ES可以理解为一段音频或者视频的数据,ES数据可能会很大,所以要拆分成PES包,PES包的长度是有限制的64KB。再将PES包分成几个TS包(188字节的数据包),同一个PES包分成的TS包的PID是相同的。
如图2所示,图2示出了根据一个具体实施例的蓝光收录系统开始收录文件之后的屏幕截图。收录过程采用异步操作,在收录过程中可以显示当前收录的是第几路节目以及当前节目的进度,并可以取消收录过程。收录完成后,生成XML文件,该文件包括收录后的TS影片中的所有信息,每路节目对应一个XML文件。除此之外,根据一个实施例的蓝光收录方法和系统还支持嵌入式播放。在收录例如蓝光光盘时若需要对画面进行调整,如添加logo标记、添加标题、添加或删除黑边等特殊处理时,可以通过在IE页面上嵌入特定的播放器来预览调整后的效果,做到发现问题即可实时解决,不需要等到调整完成后,才发现效果与计划不符,从而花费大量时间再从头开始,降低了工作效率。
收录完成后,根据一个实施例的蓝光收录方法和系统会在设置输出的目录中产生TS和XML文件。所述XML文件包括收录后的流媒体文件中的所有信息,每路节目对应一个XML文件。下面是转换后TS文件的信息描述XML文件的一个示例,该XML文件采用GB2312编码方式进行编码,参数值形如″″所示的字段,将在程序中自动填写相关值:
在以上具体描述了根据一个具体实施例的蓝光收录方法和系统的详细操作和步骤之后,现在参考图3,图3示出了根据一个具体实施例的用于收录蓝光光盘或光盘镜像的方法的流程图。尽管为图3的示例性流程描述了某种数量和顺序的操作,但应明白,可以根据所期望的实现使用其他数量和/或顺序。如图3所示,在步骤302,根据一个实施例的一种用于收录蓝光文件的方法包括读取光盘或光盘镜像并加载光盘信息或光盘镜像信息。在步骤304,所述方法包括将经加载的光盘信息或光盘镜像信息呈现给用户。在步骤306,所述方法包括接收用户对经加载的光盘信息或光盘镜像信息的用户编辑信息;以及在步骤308根据所述用户编辑信息将光盘内容或光盘镜像内容收录成独立流媒体文件。
对外接口
下面以蓝光收录系统作为具体实施例来介绍本发明要求保护的光盘或光盘镜
像收录系统的接口规范、事件、错误码等。但应当理解,本发明所要求保护的方法和系统不旨在限于蓝光光盘,还可用于其他形式的光盘文件或光盘镜像文件。在一个实施例中,蓝光光盘或光盘镜像收录系统可实现浏览器控件和客户端程序两种方式运行。
接口规范:
蓝光光盘收录控件对外提供的接口,采用下述格式:
GetCDRomInfo_DiskType([in]int CDRomIndex,[out]int DiskType);
●带有[in]的形参为输入型参数,带有[out]的形参为输出型参数。
●int为整型数据;string为字符型数据,采用Unicode编码方式。
●在JavaScript中执行该接口时,如果执行失败,系统将会抛出异常。
下述2个接口分别用于初始化COM组件、释放COM组件所消耗的资源。通常在加载网页时调用Init接口,在关闭网页时调用Uninit接口。
1、Init(void):
2、Uninit(void):
下述3个接口用于获取CD-ROM信息。注意:nCDRomIndex形参从0开始计数。
3、GetCDRomNumber([out]int CDRomNumber):用于获取机器中CD-ROM的数量。
4、GetCDRomInfo_LogicalDriveName([in]int CDRomIndex,[out]stringLogicalDriveName):用于获取指定的CD-ROM的逻辑盘符。例如:获取到的LogicalDriveName值为“F:\”。
5、GetCDRomInfo_DiskType([in]int CDRomIndex,[out]int DiskType):用于获取指定的CD-ROM中光盘的类型。DiskType有下述返回值:
●-1:CD-ROM中没有光盘。
●0:未知的光盘类型。
●1:VCD。
●2:SVCD。
●4:DVD。
●8:HD-DVD。
●16:Blu-ray。
下述2个接口分别用于加载Disk、释放相关的资源。注意:
●LoadDiskInfo接口和UnloadDiskInfo接口需遵循配对调用原则,即:调用LoadDiskInfo接口后,都需调用UnloadDiskInfo接口。
●BaseDirectory形参用于指定加载的Disk的路径,例如“F:\”。
●当机器中有多个CD-ROM时,一个光盘收录控件仅支持操作其中的一个CD-ROM,不支持同时操作多个CD-ROM。但是可以通过多个光盘收录控件,同时操作多个CD-ROM(建议不要采用该多个CD-ROM同时工作方式)。
●LoadDiskInfo接口采用异步工作方式,成功调用LoadDiskInfo接口,仅表示系统已经开始执行Load操作,Load结果将通过下文中提到的事件通知给客户端。
●正在执行Load操作时,不能正常执行UnloadDiskInfo接口,即:不可以取消Load操作。
●成功Load后,才能执行随后的GetDiskInfo_XXX等接口。
6、LoadDiskInfo([in]string BaseDirectory):
7、UnloadDiskInfo(void):
下述3个接口用于获取当前正在工作的Disk信息。
8、GetDiskInfo_BaseDirectory([out]string BaseDirectory):用于获取当前正在工作的光盘的路径。
9、GetDiskInfo_DiskType([out]int DiskType):用于获取当前正在工作的光盘的类型。光盘类型值已经在GetCDRomInfo_DiskType接口中说明。
10、GetDiskInfo_ProgramNumber([out]int ProgramNumber):用于获取当前正在工作的光盘中节目的数量。
下述6个接口用于获取指定节目的信息。注意:
●ProgramIndex形参从0开始计数。
●通过随后将要介绍到的SetOutputProgram接口,可以分别设置是否需要输出某节目、某节目输出媒体文件的名称,即:不同节目的输出媒体文件,可以存放在不同的存储介质上(例如:节目0的输出媒体文件,存放到片库A中;节目1的输出媒体文件,存放到片库B中)。此时,会出现下述问题:由于存储介质的问题(例如:存储介质的剩余空间不足),某些节目不能正常输出。出现上述问题后,光盘收录控件仍然认为Record成功(在下文中介绍了“如何判断是否Record成功”),此时需通过
GetProgramInfo_OutputResult接口,判断各个节目的输出结果。
11、GetProgramInfo_PID([in]int ProgramIndex,[out]int PID):用于获取指定节目的PID值。
12、GetProgramInfo_VideoNumber([in]int ProgramIndex,[out]int VideoNumber):用于获取指定节目中视频的数量。
13、GetProgramInfo_AudioNumber([in]int ProgramIndex,[out]int AudioNumber):用于获取指定节目中音频的数量。
14、GetProgramInfo_SubTitleNumber([in]int ProgramIndex,[out]int
SubTitleNumber):用于获取指定节目中字幕的数量。
15、GetProgramInfo_Duration([in]int ProgramIndex,[out]int Duration):用于获取指定节目的时长,以毫秒为单位。
16、GetProgramInfo_OutputResult([in]int ProgramIndex,[out]int OutputResult):用于获取指定节目的输出结果。注意:只有Record成功后,才能执行该接口。
OutputResult有下述3个返回值:
●-1:输出指定节目失败
●0:不需要输出指定节目
●1:成功输出指定节目
下述6个接口用于获取指定视频的信息。注意:
●ProgramIndex形参、VideoIndex形参都从0开始计数。
●通过Type形参确定视频的格式:
√4352:MPEG-2
√5888:VC-1
√5376:H.264
√其他值:未知的格式
17、GetVideoInfo_PID([in]int ProgramIndex,[in]int VideoIndex,[out]int PID):用于获取指定视频的PID值。
18、GetVideoInfo_Type([in]int ProgramIndex,[in]int VideoIndex,[out]int Type):用于获取指定视频的类型。
19、GetVideoInfo_SubType([in]int ProgramIndex,[in]int VideoIndex,[out]int
SubType):用于获取指定视频的子类型。
20、GetVideoInfo_Width([in]int ProgramIndex,[in]int VideoIndex,[out]int Width):用于获取指定视频的宽度。
21、GetVideoInfo_Height([in]int ProgramIndex,[in]int VideoIndex,[out]int
Height):用于获取指定视频的高度。
22、GetVideoInfo_FrameRate([in]int ProgramIndex,[in]int VideoIndex,[out]int
FrameRate):用于获取指定视频的帧率。帧率以1000为单位,例如:FrameRate值为23976时,表示帧率为23.976。
下述8个接口用于获取指定音频的信息。注意:
●ProgramIndex形参、AudioIndex形参都从0开始计数。
●通过SubType形参确定音频的格式:
√2:Blu-ray LPCM
√3:DVD LPCM
√258、261和270:MPEG Audio Layer II(MP2)
√1025:AC-3
√1026:E-AC3(DD+/DD Plus)
√1027:Dolby True-HD
√1281:DTS
√1284:DTS-HD
√其他值:未知的格式
23、GetAudioInfo_LanguageNameChinese([in]int ProgramIndex,[in]int AudioIndex,[out]string LanguageNameChinese):用于获取指定音频的语言信息(用中文描述)。例如:汉语。
24、GetAudioInfo_LanguageNameEnglish([in]int ProgramIndex,[in]int AudioIndex,[out]string LanguageNameEnglish):用于获取指定音频的语言信息(用英文描述)。例如:Chinese。
25、GetAudioInfo_PID([in]int ProgramIndex,[in]int AudioIndex,[out]int PID):用于获取指定音频的PID值。
26、GetAudioInfo_Type([in]int ProgramIndex,[in]int AudioIndex,[out]int Type):用于获取指定音频的类型。
27、GetAudioInfo_SubType([in]int ProgramIndex,[in]int AudioIndex,[out]int
SubType):用于获取指定音频的子类型。
28、GetAudioInfo_ChannelNumber([in]int ProgramIndex,[in]int AudioIndex,
[out]int ChannelNumber):用于获取指定音频的声道数。
29、GetAudioInfo_Frequency([in]int ProgramIndex,[in]int AudioIndex,[out]intFrequency):用于获取指定音频的采样频率。
30、GetAudioInfo_SampleSize([in]int ProgramIndex,[in]int AudioIndex,[out]intSampleSize):用于获取指定音频的BitsPerSample。
下述5个接口用于获取指定字幕的信息。注意:
●ProgramIndex形参、SubTitleIndex形参都从0开始计数。
●通过SubType形参确定字幕的格式:
√4609:DVD SubTitle
√6401:Blu-ray PGS SubTitle
√其他值:未知的格式
31、GetSubTitleInfo_LanguageNameChinese([in]int ProgramIndex,[in]intSubTitleIndex,[out]string LanguageNameChinese):用于获取指定字幕的语言信息
(用中文描述)。例如:汉语。
32、GetSubTitleInfo_LanguageNameEnglish([in]int ProgramIndex,[in]intSubTitleIndex,[out]string LanguageNameEnglish):用于获取指定字幕的语言信息(用英文描述)。例如:Chinese。
33、GetSubTitleInfo_PID([in]int ProgramIndex,[in]int SubTitleIndex,[out]intPID):用于获取指定字幕的PID值。
34、GetSubTitleInfo_Type([in]int ProgramIndex,[in]int SubTitleIndex,[out]intType):用于获取指定字幕的类型。
35、GetSubTitleInfo_SubType([in]int ProgramIndex,[in]int SubTitleIndex,[out]intSubType):用于获取指定字幕的子类型。
下述4个接口用于设置需输出哪些节目、视频、音频和字幕,同时还可以设置一些输出配置。注意:
●ProgramIndex形参、VideoIndex形参、AudioIndex形参和SubTitleIndex形参都从0开始计数。
●OutputProgram形参、OutputVideo形参、OutputAudio形参和OutputSubTitle形参分别用于说明是否需要输出该指定节目、视频、音频和字幕,“1”表示需要输出、“0”表示不需要输出。其中,OutputProgram的优先级高于OutputVideo、OutputAudio、OutputSubTitle:
√OutputProgram值为“0”时,说明不输出该指定节目。
√OutputProgram值为“1”时,说明将输出该指定节目,同时还可以通过OutputVideo、OutputAudio、OutputSubTitle分别控制是否需输出各个VideoStream、Audio Stream、SubTitle Stream。
●DstPID形参为“0”时,表示不调整PID值;不为“0”时,表示需调整PID值,对PID值有下述约束:
√PID值的取值范围是[256,8190]。
√一个节目中用于标识Program、Video Stream、Audio Stream、SubTitle Stream的PID值不能重复。
●当OutputXmlFileName形参为空字符串时,表示不需要创建相关的XML文件;否则,表示需要创建“转换后TS文件的信息描述XML文件”,该XML文件如上文已经详细描述的。
●当指定音频的格式为“DVD LPCM”时,那么OutputDVDLPcm16Bit形参将发挥作用,“1”时表示需将DVD LPCM调整到16Bits Per Sample。
●当指定字幕的格式为“Blu-ray PGS SubTitle”时,那么RemoveBlurayDup形参将发挥作用,“1”时表示需去除Blu-ray PGS SubTitle中的冗余数据。
36、SetOutputProgram([in]int ProgramIndex,[in]int OutputProgram,[in]int DstPID,[in]string OutputMediaFileName,[in]string OutputXmlFileName):
37、SetOutputVideo([in]int ProgramIndex,[in]int VideoIndex,[in]int OutputVideo,[in]int DstPID):
38、SetOutputAudio([in]int ProgramIndex,[in]int AudioIndex,[in]int OutputAudio,[in]int DstPID,[in]int OutputDVDLPcm16Bit):
39、SetOutputSubTitle([in]int ProgramIndex,[in]int SubTitleIndex,[in]intOutputSubTitle,[in]int DstPID,[in]int RemoveBlurayDup):
下述2个接口用于控制Record工作。注意:
●至少选择1路节目进行转换。待转换的1路节目中至少包含1路视频。
●StartRecordContentFromDisk接口采用异步工作方式,成功调用
StartRecordContentFromDisk接口,仅表示系统已经开始执行Record操作,
Record结果将通过下文中提到的事件通知给客户端。
●正在执行Record工作时,可以通过CancealRecordContentFromDisk接口取消该Record工作。
40、StartRecordContentFromDisk(void):
41、CancealRecordContentFromDisk(void):
下述5个接口用于获取光盘收录控件的运行状态。注意:
GetCompletePercent_XXX这4个接口仅在“正在执行Record工作”时,才能正常工作。
42、GetStatus([out]int Status):用于获取光盘收录控件的运行状态,有下述可选状态:
●0(STATUS_UNINIT):未初始化。
●1(STATUS_INITED):已经初始化。
●2(STATUS_LOADING):正在加载Disk。
●3(STATUS_LOAD_SUCCESS):Disk加载成功。
●4(STATUS_LOAD_FAIL):Disk加载失败。
●5(STATUS_RECORDING):正在Record。
●6(STATUS_RECORD_SUCCESS):Record成功。
●7(STATUS_RECORD_FAIL):Record失败。
43、GetCompletePercent CurrentProgramIndex([out]int CurrentProgramIndex):用于获取当前正在输出哪一路节目(从0开始计数)。
44、GetCompletePercent_ProgramNumber([out]int ProgramNumber):用于获取总共需输出多少路节目。
45、GetCompletePercent CompletePercent([out]int CompletePercent):用于说明当前正在输出的那一路节目的完成百分比,取值范围是[0,10000]。
46、GetCompletePercent_RunningSecond([out]int RunningSecond):用于说明从执行StartRecordContentFromDisk接口,开始Record起,已经过去了多少时间,以秒为单位。注意:该时间不是指某一路节目已经花费的Record时间,而是指所有节目已经花费的Record时间。
事件
光盘收录控件对外提供的事件,采用下述格式:
OnNotify(int NotifyType,int Param,int Param2)
包括了下述事件:
●NOTIFY_TYPE_DISK_DEVICE_CHANGE:光盘插入/移出通知,NotifyType=0
√A device has been inserted and is now available(有光盘插入到CD-ROM中):NotifyType=0,Param=0,Param2=logical drive
√A device has been removed(有光盘从CD-ROM中移出):NotifyType=0,Param=1,Param2=logical drive
●NOTIFY_TYPE_LOAD_RESULT:Load结果通知,NotifyType=1
√Load success:NotifyType=1,Param=0,Param2=not used
√Loadfail:NotifyType=1,Param=1,Param2=loadfail error code
●NOTIFY_TYPE_RECORD_RESULT:Record结果通知,NotifyType=2
√Record success:NotifyType=2,Param=0,Param2=not used
Recordfail:NotifyType=2,Param=1,Param2=recordfail error code
错误码
蓝光收录系统的部署
下面以蓝光收录系统作为具体实施例来介绍本发明要求保护的光盘或光盘镜像收录系统的部署。但应当理解,本发明所要求保护的方法和系统不旨在限于蓝光光盘,还可用于其他形式的光盘文件或光盘镜像文件。
根据一个实施例的蓝光收录系统可以在例如以下运行环境中运行:操作系统为windows XP32bit以上版本;硬件:通用PC Server(CPU2G+,内存1G+),如Dell R710;大容量硬盘(80G以上)、DVD光驱、蓝光光驱;软件:Any DVDHD软件(光盘备份软件)。
若蓝光收录系统为控件方式,则通过运行cmd,并输入“regsvr32DiskRecordControl.dll”命令注册蓝光光盘收录控件(注意:在Windows Vista和Windows7中需以管理员身份运行cmd,且所需的DLL文件必须与控件放在同一目录下)。若蓝光收录系统为客户端程序,则可直接运行程序文件(库文件与程序文件在同一目录下)。
1.客户端程序DiskRecordUI的使用
如上所述,根据一个实施例的蓝光收录系统可实现控件和客户端程序两种方式运行。首先介绍客户端程序DiskRecordUI的使用。参考图4,图4示出了
DiskRecordUI的使用的屏幕截图。下面参考图4来描述DiskRecordUI的使用。
检测光驱内光盘类型
点击“检测”按钮(快捷键Alt+D)可以探测光驱内光盘的类型,能检测到的类型包括VCD、SVCD、DVD、HD-DVD、Blu-ray。如果光驱内没有光盘会显示没有光盘。
加载光盘
在“待录制的光盘内容目录”中输入光盘根目录的路径或通过点击按钮选择(路径可以是:复制到本地或网盘上的光盘内容的根目录;光盘的根目录)。然后,点击“加载”,光盘里节目的信息就会显示出来,如果要再次加载其它光盘,必须先点击“卸载”将之前加载的光盘卸载掉。
默认勾选上时长大于30分钟的节目
光盘加载成功后,系统默认会将时长大于30分钟的节目全部勾选上。
输出目录
在“输出目录”中输入录制内容要存放的路径,也可以通过点击按钮进行选择。
蓝光PGS字幕的去冗余
录制蓝光光盘时,如果字幕类型是PGS,那么SubTitle Stream中会有一个子节点“去除蓝光盘PGS字幕中的冗余数据”,如果勾选该节点,录制时会去除PGS字幕中的冗余数据。
调整PID值
所有Program、Video Stream、Audio Stream、SubTitle Stream的PID都可以由用户自定义。具体操作方法:选上“调整PID值”后,在被选中要录制的节目的Program、Video Stream、Audio Stream、SubTitle Stream旁会出现编辑框(如上图所示),在编辑框中输入合法的数字,然后按回车键,对应的PID就被调整成了用户输入的值。注意:必须在编辑框可见时按回车键才会有效,并且同一个节目(Program)中,所有的PID都不能重复。
FTP上传功能
选择“上传到FTP”后,便可以在“FTP地址”中输入FTP地址,将录制的节目上传到指定的FTP服务器。FTP地址的格式:p://username:passwordhost:port/path。如果选上了“删除本地文件”,那么存储在本地的录制内容将会被删除。
所有设置完毕后,点击“开始录制”就可以录制节目了,录制的进度信息将会显示在标题栏上。录制过程中,可以点击“取消录制”来中断录制。点击“退出系统”,将退出光盘收录系统。
2.浏览器部署
根据一个实施例的蓝光收录系统可以作为浏览器控件被部署在例如MicrosoftInternet Explorer中。在使用Microsoft Internet Explorer8的情况下,由于IE8具有严格的安全管理,需要通过不启用IE8的保护模式或者将光盘收录控件的网页添加到“可信站点”中同时确保不选择“对该区域中的所有站点要求服务器验证(https:)”复选框来进行部署。
本发明要求保护的光盘或光盘镜像收录方法和系统主要是为了解决运营商及个人用户光盘介质备份及存储的问题。如若用户要将光盘文件备份后放入母片库,以便日后在网络中传输,则用户只需要保留源片中的1路视频、1路或多路音频(当出现多路音频时,可根据需要选择音质最佳、满足一般用户需要的音频流,比如声道数、语言、采样率、比特率等)和字幕流(可根据字符集等数据信息判断),最后,用户可根据生成的XML文件里的描述信息将收录后的TS文件归类,同时也可依照XML信息制作成电子菜单,与高级功能中的播放器相结合,做到音频、字幕播放时相互切换。
尽管已经结合各种示例性的实施例描述了本发明,但本领域中的普通技术人员将理解,可以在下面的权利要求的范围内对其做出多种修改。因此,不预期本发明的范围以任何方式受到以上描述的限制,而是完全参考下面的权利要求来确定。
Claims (7)
1.一种用于收录光盘或光盘镜像的方法,所述方法包括:
读取光盘或光盘镜像并加载光盘信息或光盘镜像信息;
将经加载的光盘信息或光盘镜像信息呈现给用户;
接收用户对经加载的光盘信息或光盘镜像信息的用户编辑信息;以及
根据所述用户编辑信息将光盘内容或光盘镜像内容收录成独立流媒体文件。
2.如权利要求1所述的方法,其特征在于,所述光盘或光盘镜像包括蓝光光盘或蓝光光盘镜像。
3.如权利要求1所述的方法,其特征在于,所述用户编辑信息包括对所述节目信息中的音频、视频和字幕设置的收录要求。
4.如权利要求1所述的方法,其特征在于,所述收录过程采用异步操作,在收录过程中能够显示当前收录的是第几路节目以及当前节目的进度。
5.如权利要求1所述的方法,其特征在于,收录完成之后生成XML文件,所述XML文件包括收录后的流媒体文件中的所有信息,每路节目对应一个XML文件。
6.如权利要求1所述的方法,其特征在于,所述方法能够以浏览器控件或客户端程序的形式来实现。
7.一种其上存储有用于执行权利要求1-6中的任一项的方法的计算机可执行指令的计算机可读存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100076877A CN103116492A (zh) | 2013-01-09 | 2013-01-09 | 光盘或光盘文件收录方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100076877A CN103116492A (zh) | 2013-01-09 | 2013-01-09 | 光盘或光盘文件收录方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103116492A true CN103116492A (zh) | 2013-05-22 |
Family
ID=48414878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013100076877A Pending CN103116492A (zh) | 2013-01-09 | 2013-01-09 | 光盘或光盘文件收录方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103116492A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239009A (zh) * | 2013-06-14 | 2014-12-24 | 苏州广海信息科技有限公司 | 一种蓝光备份软件 |
CN106648961A (zh) * | 2016-09-27 | 2017-05-10 | 上海爱数信息技术股份有限公司 | 一种一体化蓝光光盘库备份归档方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1842857A (zh) * | 2003-08-26 | 2006-10-04 | 松下电器产业株式会社 | 信息处理系统、信息处理方法和在信息处理系统中执行的计算机程序 |
US20070002166A1 (en) * | 2005-07-01 | 2007-01-04 | Eklund Don | File format translation |
CN1893664A (zh) * | 2005-06-29 | 2007-01-10 | 株式会社东芝 | 编码流再生装置 |
CN1898737A (zh) * | 2004-06-09 | 2007-01-17 | 松下电器产业株式会社 | 记录装置以及记录方法 |
CN1985513A (zh) * | 2004-07-12 | 2007-06-20 | 松下电器产业株式会社 | 流记录/再现设备 |
CN101006506A (zh) * | 2005-02-18 | 2007-07-25 | 松下电器产业株式会社 | 流再现装置、流供给装置 |
-
2013
- 2013-01-09 CN CN2013100076877A patent/CN103116492A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1842857A (zh) * | 2003-08-26 | 2006-10-04 | 松下电器产业株式会社 | 信息处理系统、信息处理方法和在信息处理系统中执行的计算机程序 |
CN1898737A (zh) * | 2004-06-09 | 2007-01-17 | 松下电器产业株式会社 | 记录装置以及记录方法 |
CN1985513A (zh) * | 2004-07-12 | 2007-06-20 | 松下电器产业株式会社 | 流记录/再现设备 |
CN101006506A (zh) * | 2005-02-18 | 2007-07-25 | 松下电器产业株式会社 | 流再现装置、流供给装置 |
CN1893664A (zh) * | 2005-06-29 | 2007-01-10 | 株式会社东芝 | 编码流再生装置 |
US20070002166A1 (en) * | 2005-07-01 | 2007-01-04 | Eklund Don | File format translation |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239009A (zh) * | 2013-06-14 | 2014-12-24 | 苏州广海信息科技有限公司 | 一种蓝光备份软件 |
CN106648961A (zh) * | 2016-09-27 | 2017-05-10 | 上海爱数信息技术股份有限公司 | 一种一体化蓝光光盘库备份归档方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100481914C (zh) | 再现装置和记录方法 | |
EP2234109B1 (en) | Individual sales oriented recording medium, recording device, reproducing device and method for them | |
CN101853683B (zh) | 流供给装置 | |
CN101964914B (zh) | 信息记录装置以及信息记录方法 | |
US20060188229A1 (en) | Information storage medium, information recording method, and information playback method | |
US7996448B2 (en) | Recording medium, and method and apparatus for reproducing data from the recording medium | |
TW200839560A (en) | Reproducer, program, and reproducing method | |
EP2299446B1 (en) | Reproduction device, reproduction method, and program | |
TWI259454B (en) | Information playback apparatus and information playback method | |
KR20070052642A (ko) | 데이터 재생방법 및 재생장치와 데이터 전송방법 | |
JP6272534B2 (ja) | 再生方法、および再生装置 | |
JP2006277389A (ja) | 情報記録媒体およびその再生装置、再生方法。 | |
CN103116492A (zh) | 光盘或光盘文件收录方法及系统 | |
WO2007013587A1 (ja) | 記録機器および再生機器 | |
JP2007059011A (ja) | データ記録方法、記録媒体、再生装置及び記録再生装置 | |
US8014648B2 (en) | Information recording apparatus, information recording method, program storage medium, and program | |
JP2007018365A (ja) | 宣言型言語で記述された再生制御環境の起動条件を考慮した情報記録媒体およびその再生装置、再生方法。 | |
JP5295572B2 (ja) | 情報記録媒体および情報記録媒体再生システム | |
US8712223B2 (en) | Authoring method, authoring device and program | |
JP2007011899A (ja) | 宣言型言語で記述された再生制御環境の起動条件を考慮した情報記録媒体およびその再生装置、再生方法。 | |
JP2009004035A (ja) | 情報記憶媒体,その製造方法,および情報再生方法 | |
JP2007018623A (ja) | 情報記録媒体、およびその再生装置、再生方法。 | |
JP2009017478A (ja) | 記録装置及び再生装置 | |
JP2007048383A (ja) | 情報記録媒体およびその記録装置、記録方法、記録プログラム | |
JP4654161B2 (ja) | 記録装置及び記録方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130522 |