一种媒体服务方法、装置、设备及计算机存储介质与流程

文档序号:30349825发布日期:2022-06-08 10:52阅读:142来源:国知局
1.本发明实施例涉及但不限于多媒体服务领域,具体而言,涉及但不限于一种媒体服务方法、装置、设备及计算机存储介质。
背景技术
::2.近年来,使用ip(internetprotocol,网际互连协议)来分发图像的诸如iptv(internetprotocoltelevision,网路协议电视)等的互联网流式传输正在进行标准化。例如,适用于基于http(hypertexttransferprotocol,超文本传输协议)流式传输的vod(videoondemand,视频点播)流式传输和直播流式传输的方式的标准化。在例如传统的iptv系统中,字幕以单独的流形式承载在mpegts(movingpictureexpertsgrouptransportstream,动态图像专家组传输流)文件格式中。3.然而在相关技术中,媒体字幕信息,尤其是录制得到的直播分片中的字幕无法满足不同流媒体协议类型的字幕展示需求,灵活度低。技术实现要素:4.本发明实施例提供的媒体服务方法、装置、设备及计算机存储介质,主要解决的技术问题是相关技术中,字幕无法满足不同流媒体协议类型的字幕展示需求,灵活度低。5.为解决上述技术问题,本发明实施例提供一种媒体服务方法,包括:6.获取媒体分片文件,所述媒体分片文件包括原始字幕信息;7.将所述媒体分片文件转换为第一媒体格式的中间媒体文件,所述原始字幕信息被转换为第一字幕格式的中间字幕信息封装于所述中间媒体文件中;8.在接收到服务请求时,根据所述中间媒体文件提供媒体服务;9.根据所述中间媒体文件提供媒体服务包括:根据所述中间字幕信息形成所述服务请求所对应的目标格式的目标字幕信息以提供字幕服务。10.本发明实施例还提供一种媒体服务装置,包括:11.获取模块,用于获取媒体分片文件,所述媒体分片文件包括原始字幕信息;12.封装模块,用于将所述媒体分片文件转换为第一媒体格式的中间媒体文件,所述原始字幕信息被转换为第一字幕格式的中间字幕信息封装于所述中间媒体文件中;13.服务模块,用于在接收到服务请求时,根据所述中间媒体文件提供媒体服务;14.根据所述中间媒体文件提供媒体服务包括:根据所述中间字幕信息形成所述服务请求所对应的目标格式的目标字幕信息以提供字幕服务。15.本发明实施例还提供一种媒体服务设备,包括处理器、存储器及通信总线;16.所述通信总线用于实现处理器和存储器之间的连接通信;17.所述处理器用于执行存储器中存储的一个或者多个计算机程序,以实现如上所述的媒体服务方法的步骤。18.本发明实施例还提供一种计算机存储介质,所述计算机存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的媒体服务方法的步骤。19.根据本发明实施例提供的媒体服务方法、装置、设备及计算机存储介质,通过获取媒体分片文件,媒体分片文件包括原始字幕信息;将媒体分片文件转换为第一媒体格式的中间媒体文件,原始字幕信息被转换为第一字幕格式的中间字幕信息封装于中间媒体文件中,当接收到服务请求后,根据中间字幕信息形成服务请求所对应的目标格式的目标字幕信息以提供字幕服务,由于包括原始字幕信息的媒体分片文件被转换为中间媒体文件,且相应的原始字幕信息也转换为中间字幕信息,在使用时转换为其他需要的格式,因而在某些实施过程中可实现包括但不限于使得媒体中的字幕能够更多的满足不同流媒体协议类型的字幕展示需求,进而提升媒体服务的灵活度的技术效果,同时,媒体分片文件被转换为中间媒体文件使得原本碎片化的分片文件被整合到一个中间媒体文件中,降低了媒体文件的碎片化程度。20.本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。附图说明21.图1为本发明实施例一的媒体服务方法的流程示意图;22.图2为本发明实施例一的获取媒体分片文件的流程示意图;23.图3为本发明实施例二的媒体服务方法的流程示意图;24.图4为本发明实施例二的获取媒体分片文件的流程示意图;25.图5为本发明实施例二的接收udpmpegts码流的示意图;26.图6为本发明实施例二的对ts包进行分类和排列的示意图;27.图7为本发明实施例二的媒体分片文件封装为mp4文件的示意图;28.图8为本发明实施例二的服务模块根据mp4文件提供媒体服务的示意图;29.图9为本发明实施例三的媒体服务装置的结构示意图;30.图10为本发明实施例三的媒体服务设备的结构示意图。具体实施方式31.为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。32.实施例一:33.为了使媒体的字幕能够满足更多不同流媒体协议类型的字幕展示需求,提升媒体服务的灵活度,本实施例提供一种媒体服务方法,请参见图1,该方法包括:34.s101、获取媒体分片文件,该媒体分片文件包括原始字幕信息;35.在一些具体应用中,例如可以直接从存储中获取媒体分片文件,或者接收传输而来的媒体分片文件,还或者可以将接收到的媒体流划分为媒体分片文件,可以理解的是,媒体分片文件中包括了视频数据,音频数据,字幕以及其他可能的信息。具体应用中,媒体分片文件可以是ts(transportstream,传输流)分片文件。可以理解的是,在一些具体实施过程中,媒体分片文件中可包括不止一个字幕,例如包括两个或以上可供选择的字幕。36.在本实施例中,该原始字幕信息指媒体分片文件中所携带的字幕,在具体实施过程中,可以是包括图形字幕和/或文本字幕等类型的字幕。作为具体的示例,图形字幕可包括但不限于dvb(digitalvideobroadcasting,数字视频广播)subtitle字幕,文字字幕包括但不限于dvb(digitalvideobroadcasting,数字视频广播)teltext字幕,这两种作为示例的字幕可用于dvb(digitalvideobroadcasting,数字视频广播)码流。37.s102、将媒体分片文件转换为中间媒体文件,原始字幕信息转换成中间字幕信息封装于中间媒体文件中;38.作为示例,媒体分片文件包含视频数据,音频数据,字幕并可能携带其他信息。应当说明的是,第一媒体格式的中间媒体文件中,除了能够封装有视频数据,音频数据以外,还应当能够容纳例如字幕等其他数据,例如mp4(movingpictureexpertsgroup4,动态图像专家组定义的数字音频压缩技术)文件等,这类格式的中间媒体文件可以通过适应性的自定义或适配等方式,将字幕数据或其他数据与视频数据,音频数据封装在一起。以媒体分片文件为ts分片文件,中间媒体文件为mp4文件为例,在一种具体的示例中,mp4文件中的视频数据,音频数据,字幕分别用不同的trackbox(数据轨打包器)存放,视频数据,音频数据可能以es(elementarystream,基本码流)流的形式存储在ts分片文件中,对于这类视频数据,音频数据的es流,可以直接转封装到mp4文件中,也即分别使用不同的trackbox记录视频数据,音频数据的es流信息。39.第一字幕格式是能够存储到中间媒体文件中的格式,同样作为一种示例,xml(extensiblemarkuplanguage,可扩展标记语言)格式的字幕信息可以通过对mp4的标准格式进行自定义后封装到mp4文件中,因此中间字幕信息可以是xml字幕信息。可以理解的是,xml字幕信息即指xml格式的字幕信息,应当说明的是,在实际应用中,标准的mp4格式并非支持所有的xml字幕信息,当xml字幕信息不被标准的mp4格式所支持时,使用自定义字段在mp4文件中对xml字幕信息进行标识。xml字幕信息可以是smpte-tt(societyofmotionpictureandtelevisionengineerstimetext,电影电视工程师协会时序文本)字幕信息,ttml(timetextmarkuplanguage,时序文本标记语言)字幕信息等,例如图形字幕可转换为smpte-tt字幕信息,文字字幕可转换为ttml字幕信息。示例性的,在一些具体的实施方式中,dvbsubtitle字幕通过编解码形成smpte-tt字幕信息,dvbteltext字幕通过编解码形成ttml字幕信息。应当理解的是,本示例并不限于上述的几类xml字幕信息,实际应用中可根据需求形成其他种类的xml字幕信息封装至mp4文件中。在其他示例中,可以是非xml格式的字幕信息封装到其他格式的中间媒体文件中。40.还可以理解的是,各种数据根据第一媒体格式的标准存储到一个中间媒体文件中,还能够避免因媒体分片文件中视频数据,音频数据以及字幕相互独立所导致的文件碎片化问题,可见本实施例将媒体分片文件转换为中间媒体文件能够便于进行管理,在需要提供相应媒体服务时更为便捷。41.s103、若接收到服务请求,根据所述中间媒体文件提供媒体服务;42.应当理解的是,本实施例中所说的服务请求,即是对于媒体内容的服务请求,当接受到服务请求后,为发起这个服务请求的一端提供相应的媒体内容。应当说明的是,根据所述中间媒体文件提供媒体服务包括:根据中间字幕信息形成服务请求所对应的目标格式的目标字幕信息以提供字幕服务。在一种具体示例中将媒体分片文件转换为mp4文件,在响应服务请求进行相应的媒体服务时,基于该mp4文件进行。mp4文件中封装有xml字幕信息,mp4文件中的xml字幕信息封装为服务请求所对应的目标格式的目标字幕信息以提供字幕服务,服务请求可以有多种,各种服务请求所对应的目标格式可能并不相同,在一些具体实施中也可以理解为不同服务请求所支持的格式可能有差异,在一些情况下,需要对xml字幕信息的格式再次进行转换形成新的文件。43.但还应当说明的是,若服务请求所对应的目标格式与中间字幕信息的格式是相同的,则不会对中间字幕信息的格式再进行转换,直接从中间媒体文件中将该中间字幕信息抽取出来,并形成用于提供字幕服务的相应文件即可。若服务请求所对应的目标格式与当前的中间字幕信息的格式不同,或者说服务请求并不支持当前中间字幕信息的格式,则将中间字幕信息由当前的格式封装为服务请求所对应的目标格式的目标字幕信息,以重新封装得到的目标格式的目标字幕信息提供字幕服务。44.作为一种具体的示例,服务请求可为hls(httplivestreaming,基于http的流媒体网络传输协议)服务请求,dash(dynamicadaptivestreamingoverhttp,基于http的动态自适应流)服务请求等。在一些示例中,hls服务请求不支持ttml格式,因而,当xml字幕信息具体为ttml字幕信息,由ttml格式封装为例如webvtt(webvideotexttracks,网络视频文本轨道)等hls服务所支持的格式的文件提供字幕服务。还在一些示例中,hls服务请求也可支持ttml格式,则可不将ttml字幕信息封装为其他格式的文件。45.在一些具体实施过程中,服务请求包括hls服务请求,若接收到服务请求,根据所述mp4文件提供媒体服务,其中,根据xml字幕信息形成服务请求所对应的目标格式的目标字幕信息以提供字幕服务包括以下至少一种:46.一、若接收到不支持smpte-tt字幕信息以及ttml字幕信息的hls服务请求,可将ttml字幕信息封装为webvtt字幕信息,直接根据该webvtt字幕信息提供字幕服务。47.应当说明的是,不支持smpte-tt字幕信息以及ttml字幕信息的传统hls服务请求通常并不支持图片格式的字幕信息,因此一般情况下smpte-tt字幕信息不对上述的传统hls服务请求提供字幕服务。可见,本发明实施例的媒体服务方法通过上述方法能够使得媒体中的字幕能够更多的满足不同流媒体协议类型的字幕展示需求,但并不应理解为能够满足所有情况下的字幕展示需求。48.二、若接收到支持smpte-tt字幕信息以及ttml字幕信息的hls服务请求,将smpte-tt字幕信息和ttml字幕信息中的至少一个随mp4文件中的音视频封装入m4s(fragmentmp4格式的文件,简称m4s)文件,根据m4s文件提供字幕服务。49.还在一些具体实施过程中,服务请求包括dash服务请求,若接收到服务请求,根据所述mp4文件提供媒体服务,其中,根据xml字幕信息形成服务请求所对应的目标格式的目标字幕信息以提供字幕服务包括:50.若接收到dash服务请求,将smpte-tt字幕信息和ttml字幕信息中的至少一个随mp4文件中的音视频封装入m4s文件,根据m4s文件提供字幕服务。51.本实施例的媒体服务方法可以仅对一种服务请求进行服务,也可以分别对多种服务请求进行服务,例如仅对上述的hls服务请求、dash服务请求中的一种提供服务,也可以都提供服务。52.进一步的,在上述具体实施过程中,接收到服务请求后,根据中间媒体文件提供媒体服务还包括:53.s104、根据中间媒体文件中的视频数据以及音频数据形成服务请求所对应的目标音视频文件以提供音视频服务;54.应当说明的是,目标音视频文件包括分别独立的音频文件以及视频文件,或者在一些实施过程中音频文件以及视频文件并不独立。55.步骤s104与步骤s103的执行顺序并不限制,在中间媒体文件中的还包括有记录有时间信息的文件,发起服务请求的一端可根据这些时间信息实现音频、视频以及字幕的同步播放。56.可以理解的是,一些格式的中间媒体文件(例如mp4文件)可直接提供给发起服务请求的一端。但在实际应用中,通常将中间媒体文件根据服务请求的需求转换为其他格式的文件以提供媒体服务。57.本实施例中以应用较为广泛的hls服务请求和dash服务请求作为示例。在hls服务请求的示例中,一个mp4文件对应一个ts分片文件,mp4文件中的音频文件、视频文件(即mp4中的音频和视频track(数据轨))封装为mpegts格式。在dash服务请求的示例中,一个mp4文件对应一个m4s文件,mp4文件中的音频文件、视频文件和字幕信息(即mp4中的音频、视频和字幕track)封装成m4s文件。58.在一些实施方式中,如图2所示,步骤s101具体包括:59.s201、接收媒体码流;60.媒体码流中应当携带有视频数据、音频数据、原始字幕信息以及例如时间信息等其他可能的数据,作为一种具体示例,媒体码流可以是udpmpegts(userdatagramprotocolmovingpictureexpertsgrouptransportstream,用户数据报协议传输的动态图像专家组传输流)码流,视频数据、音频数据、原始字幕信息等数据分别封装在ts包中。61.s202、对媒体码流中的不同类型的数据包进行分类,数据包包括字幕数据包、音频数据包以及视频数据包,字幕数据包中包括原始字幕信息;62.不同类型即指视频数据、音频数据、字幕数据,将所有携带视频数据的数据包分为一类,所有携带音频数据的数据包分为一类,所有携带字幕数据的数据包分为一类。63.s203、将各类数据包的时间对齐;64.具体应用中,可获取各类数据包的时间信息,根据时间信息对数据包按照时间顺序排好序。之后,可以使用相关的算法程序将各数据包的时间对齐。65.s204、将数据包切片,封装成媒体分片文件,每个媒体分片文件包括各类数据包的切片,且每个切片所对应的时间相同;66.其中,每个切片的时间长短可根据实际需求设定,例如根据视频编码参数和相应的配置参数进行计算得到,或者也可以被直接指定。67.可以理解的是,在步骤s203中,各类数据包的时间被对齐,因而,步骤s204所形成的媒体分片文件是时间同步的。也因此,步骤s102中的中间媒体文件中的媒体内容也是同步的,并最终提供的相应媒体服务的时间也同步。68.还应当说明的是,本实施例中上述的例如原始字幕信息、中间字幕信息等字幕信息,在实际应用中,其可以是承载于某个单独的文件中,也可以记录为某个文件中的一部分信息,或者在传输过程中以数据流的形式存在。69.本发明实施例提供的媒体服务方法,通过将包括原始字幕信息的媒体分片文件转换为中间媒体文件,原始字幕信息通过编解码形成中间字幕信息封装在中间媒体文件中,若接收到服务请求,根据所述中间媒体文件提供媒体服务,根据中间文件中的中间字幕信息形成服务请求所对应的目标格式的目标字幕信息以提供字幕服务;碎片化的媒体分片封装到一个中间媒体文件中解决了碎片化的问题,同时,在提供字幕服务时基于中间媒体文件中的中间字幕信息进行,中间字幕信息可根据服务请求再转换为所需格式的字幕信息,一些实施过程中保证了媒体中字幕的兼容度和灵活度,能够更多的满足不同流媒体协议类型的字幕展示需求。70.实施例二:71.为了更好的体现本发明的媒体服务方法,本实施例结合具体的实施过程对媒体服务方法进行进一步的说明,本实施例中,中间媒体文件为mp4文件,中间字幕信息为xml字幕信息,请参见图3;72.s301、获取媒体分片文件,该媒体分片文件包括原始字幕信息;73.参见图4,下面以一个具体示例对步骤s301的具体过程进行说明:74.s401、接收udpmpegts码流;75.如图5,为接收udpmpegts码流的示意图,加入udp(userdatagramprotocol,用户数据报协议)组播或者绑定udp单播地址接收udpmpegts码流。76.s402、对码流中不同类型的ts包进行分类;77.s403、将各类ts包的时间对齐;78.ts包分类后,每类ts包按dts(decodetimestamp,解码时间戳)值进行升序排序,可以理解,各类ts包即携带相应的数据,例如音频ts包携带音频数据。如图6,对音频、视频、字幕的ts包按pid值进行重组分类,每个重组队列按该码流的pes(packetizedelementarystream,打包基本码流)包中的dts值升序进行排列。其中,标记为startindicator的ts包的中有pes包,pes包中会对es流描述其时间信息,包括pts(presentationtimestamp,显示时间标签),dts等,其中dts就用于音频、视频、字幕播放同步。根据算法可将各ts包的时间对齐。79.s404、将ts包切片,封装成媒体分片文件;80.对这几类ts包进行切片,生成ts分片文件,该ts分片文件中包含了音视频和字幕的es流,同时每个生成的ts文件都有个unix时间戳(unixtimestamp,例如1590821980016,单位毫秒),用于记录该ts文件的开始时间,该时间存储到一个文本文件中。应当说明的是,分片的时间长短根据需要进行设定,在实际应用中通常根据视频编码参数和配置参数,计算切片时间时长。81.s302、将媒体分片文件转换为mp4文件;82.接下来将ts分片文件转封装成mp4文件,视频和音频es流不做任何处理,原封不动的转封装到mp4文件中,在mp4文件中用不同的trackbox来记录不同es流信息。在本示例中,字幕包括dvbsubtitle和dvbteltext两种格式的字幕,将dvbsubtitle和dvbteltext两种字幕通过编解码操作分别生成smpte-tt和ttml两种xml格式字幕信息。在一些示例中,使用dvbsubtitle字幕解码器对dvbsubtitlepes包进行解码,获取该字幕的字幕展示位置信息和字幕png(portablenetworkgraphics,便携式网络图形)图片二进制数据;还在一些示例中,使用dvbteltext字幕解码器对dvbteltextpes包进行解码,获取字幕的pageid、字幕展示位置信息和字幕文本数据,其中pageid用于在pmt表(programmaptable,节目映射表)中找到该pageid字幕的语言信息。字幕解码器可以通过软件、硬件或组合的方式实现,具体如何进行解码在本实施例中并不限定。如图7,音频、视频和解码后的字幕以单独不同的流封装成mp4文件,作为示例,将dvbteltextpes包解码后得到的字幕的pageid、字幕展示位置信息和字幕文本数据等数据,填充到ttml格式中,ttml格式字幕信息封装到mp4格式的文件的一个track中,dvbsubtitlepes包解码后的字幕展示位置信息和字幕png图片二进制数据填充到smpte-tt格式中,smpte-tt格式的字幕信息封装到mp4格式的文件的一个track中。83.标准的mp4格式不支持smpte-tt和ttml这两种xml格式的字幕信息,因而使用自定义字段在mp4文件中对xml字幕信息进行标识。84.作为示例,对将xml字幕信息封装到mp4文件的过程进行说明。在mp4格式中采用自定义的handlertype,对于转换后是ttml的字幕,在mp4中的moov-》trak-》mdia-》hdlrbox中的handlertype的值就是‘subt’,以表明该字幕的原始码流是dvbteltext,是属于纯文本字幕。对于转换后是smpte-tt的字幕,在mp4中的moov-》trak-》mdia-》hdlrbox中的handlertype的值就是‘sub’,以表明该字幕的原始码流是dvbsubtitle,是属于图片字幕。应当说明的是,上述‘subt’以及‘sub’是自定义的值,实际应用中可以按照mp4格式允许的规范任意命名这些值。85.同时ts分片文件的开始时间减去一个固定utc(universaltimecoordinated,协调世界时)时间(单位毫秒)的差值,拆分成秒和毫秒两部分,秒数部分存储到trak-》edts-》elst第一个entry的emptyduration中,毫秒部分存储到trak-》edts-》elst第二个entry的emptyduration中。本实施例中,smpte-tt字幕信息和/或ttml字幕信息可以分别以一个sample(样本)封装到mp4文件中去,一个sample存储字幕信息,不需要将字幕信息拆分到多个sample中,整体性更好,提取时的效率也更高。86.smpte-tt和ttml字幕信息中每条字幕都有开始和结束时间,xml字幕信息中的begin和end时间由于长度限制,所以以该字幕的在直播中的对应开始的utc时间(单位毫秒)减去一个固定utc时间(单位毫秒)值的差值(单位毫秒)作为begin的值,以该字幕的在ts分片结束的对应的utc时间(单位毫秒)减去一个固定utc时间(单位毫秒)值的差值(单位毫秒)作为end的值。87.s303、利用mp4文件提供媒体服务;88.经过上述处理,基于接收到的码流以及生成的媒体分片文件形成了mp4文件,下面对使用该mp4文件提供媒体服务的具体过程进行说明。89.如图8,服务模块提供相关服务,其中mp4文件即是上述形成的mp4文件,每个mp4文件都有个utc时间,utc时间用于产生服务请求使用的协议的索引文件中需要的时间信息,比如hls协议的索引文件中的ext-x-program-date-time标签的值和dash协议的索引文件中publishtime标签的值。90.在一示例中,接收到dash服务请求,此时,一个mp4文件对应一个m4s文件(fragmentmp4格式的文件),mp4文件中的音频文件、视频文件和xml字幕信息(smpte-tt字幕信息和/或ttml字幕信息)封装成m4s文件进行对外服务。还应当说明的是,服务可分为直播和点播两种场景,在直播情况下,smpte-tt和ttml字幕信息以m4s格式文件进行服务,字幕信息内容无需改动;在点播情况下,字幕的开始时间是以0作为基准时间,这点与直播是不一样的。在服务的时候,封装在m4s格式的字幕的begin和end时间需要修改,新的begin(毫秒)=视频已播放时长(毫秒)+字幕信息begin时间(毫秒)-mp4文件中字幕trak-》edts-》elst中两个emptyduration的和(即上述ts分片文件的开始时间减去一个固定utc时间的差值)。91.在另一示例中,若接收到不支持smpte-tt字幕信息以及ttml字幕信息的hls服务请求,此时,一个mp4文件对应一个ts分片文件,mp4文件中的音视频文件封装为mpegts格式,可以理解的是在mp4文件中的音视频文件分别为音频和视频track文件。ttml字幕信息由ttml格式封装为webvtt格式的字幕信息以提供字幕服务。还在一示例中,接收到同时支持ttml字幕信息以及smpte-tt字幕信息的hls服务请求,此时可以不改变ttml字幕信息以及smpte-tt字幕信息的格式,本示例中,与接收到dash服务请求时一样,将一个mp4文件中的音频文件、视频文件和xml字幕信息(smpte-tt字幕信息和/或ttml字幕信息)封装成一个m4s文件进行对外服务。在响应hls服务请求时,对于直播和点播两种服务场景下的时间处理方式,与上述响应dash服务请求的示例相同,在此不赘述。92.相关技术中,iptv平台转换到ott平台时媒体分片文件中的dvbsubtitle和dvbteltext字幕无法被ott平台所应用,而在本技术的上述示例中,通过将媒体分片文件转换为mp4文件,并将dvbsubtitle和dvbteltext两种字幕通过编解码操作分别生成smpte-tt和ttml两种xml格式字幕信息,从而使得ott平台可以播放媒体中的音视频和显示字幕,可见,通过本技术的媒体服务方法,在一些实施过程中能够使得媒体分片中的字幕满足更多流媒体协议类型的字幕展示。93.应当说明的是,在中间媒体文件为其他格式的文件的实施过程中,中间字幕信息相应的以中间媒体文件所能够支持(包括格式标准本身支持,或可通过对格式中的部分内容进行自定义、适配等手段提供支持)的格式封装在中间媒体文件中。在提供服务时,基于具体的格式需求,转换为请求所需的格式(若请求的格式与中间媒体文件当前的格式一致,也可不进行格式转换)进行服务。94.实施例三:95.本实施例提供一种媒体服务装置,参见图9,媒体服务装置1包括:96.获取模块11,用于获取媒体分片文件,媒体分片文件包括原始字幕信息;97.封装模块12,用于将媒体分片文件转换为第一媒体格式的中间媒体文件,原始字幕信息被转换为第一字幕格式的中间字幕信息封装于中间媒体文件中;98.服务模块13,用于在接收到服务请求后,根据中间媒体文件提供媒体服务;99.根据中间媒体文件提供媒体服务包括:根据中间字幕信息形成服务请求所对应的目标格式的目标字幕信息以提供字幕服务。100.在一些实施方式中,原始字幕信息包括图形字幕和/或文本字幕等类型的字幕。101.在一些实施方式中,图形字幕可包括dvbsubtitle字幕,文字字幕包括dvbteltext字幕,封装模块12将原始字幕信息转换为中间字幕信息具体包括:102.dvbsubtitle字幕通过编解码形成smpte-tt字幕信息;103.dvbteltext字幕通过编解码形成ttml字幕信息。104.在上述实施方式的具体实施过程中,封装模块12还用于在第一媒体格式的标准不兼容第一字幕格式的中间字幕信息时,对第一媒体格式进行自定义或使第一字幕格式与第一媒体格式适配,例如在一种具体示例中,以自定义字段在所述mp4文件中分别标识所述smpte-tt字幕信息和/或ttml字幕信息。105.在一些实施方式中,服务请求包括hls服务请求,服务模块13具体用于实现以下至少一种步骤:106.一、若接收到不支持smpte-tt字幕信息以及ttml字幕信息的hls服务请求,将ttml字幕信息封装为webvtt字幕信息,根据webvtt字幕信息提供字幕服务;107.二、若接收到支持ttml字幕信息以及ttml字幕信息的hls服务请求,将smpte-tt字幕信息和ttml字幕信息中的至少一个随mp4文件中的音视频封装入m4s文件,根据m4s文件提供字幕服务。108.还在一些具体实施过程中,服务请求包括dash服务请求,服务模块13具体用于若接收到dash服务请求,将smpte-tt字幕信息和ttml字幕信息中的至少一个随mp4文件中的音视频封装入m4s文件,根据m4s文件提供字幕服务。109.在一些实施方式中,服务模块13还用于在接收到服务请求后,根据所述中间媒体文件中的视频数据以及音频数据形成所述服务请求所对应的目标音视频文件以提供音视频服务。110.在一些实施方式中,获取模块11具体包括:111.码流接收单元,用于接收媒体码流,在一种具体示例中,媒体码流可以是udpmpegts码流,视频数据、音频数据、原始字幕信息等数据分别封装在ts包中;112.分类单元,用于对媒体码流中的不同类型的数据包进行分类,数据包包括字幕数据包、音频数据包以及视频数据包,字幕数据包中包括原始字幕信息;113.同步单元,用于对分类后的各类数据包的时间进行对齐;114.切片单元,用于将数据包切片,封装成媒体分片文件,每个媒体分片文件包括各类数据包的切片,且每个切片所对应的时间相同。115.本实施例还提供一种媒体服务设备,参见图10所示,其包括处理器101、存储器102及通信总线103,其中:116.通信总线103用于实现处理器101和存储器102之间的连接通信;117.处理器101用于执行存储器102中存储的一个或者多个计算机程序,以实现上述实施例一和实施例二中的媒体服务方法中的至少一个步骤。118.本实施例还提供一种计算机存储介质,该计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机存储介质包括但不限于ram(randomaccessmemory,随机存取存储器),rom(read-onlymemory,只读存储器),eeprom(electricallyerasableprogrammablereadonlymemory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compactdiscread-onlymemory,光盘只读存储器),dvd(digitalversatiledisc,数字多功能盘)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。119.本实施例中的计算机存储介质可用于存储一个或者多个计算机程序,其存储的一个或者多个计算机程序可被处理器执行,以实现上述实施例一和实施例二中的媒体服务方法的至少一个步骤。120.本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。121.此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。122.以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属
技术领域
:的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1