CN106899881B - 音视频文件的播放方法及播放装置 - Google Patents
音视频文件的播放方法及播放装置 Download PDFInfo
- Publication number
- CN106899881B CN106899881B CN201710066178.XA CN201710066178A CN106899881B CN 106899881 B CN106899881 B CN 106899881B CN 201710066178 A CN201710066178 A CN 201710066178A CN 106899881 B CN106899881 B CN 106899881B
- Authority
- CN
- China
- Prior art keywords
- audio
- video
- menu
- subtitles
- instruction
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4345—Extraction or processing of SI, e.g. extracting service information from an MPEG stream
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/438—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4341—Demultiplexing of audio and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4438—Window management, e.g. event handling following interaction with the user interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
Abstract
本发明公开了一种音视频文件的播放方法及播放装置,该方法包括:依据音视频文件的类型解析音视频文件,并保存解析得到的音视频文件的菜单元数据;解析一交互菜单的指令,以确定交互菜单的指令所对应的菜单元数据,依据交互菜单的指令所对应的菜单元数据来确定是否切换至交互菜单的指令所映射的音视频章节和/或字幕进行播放。通过上述方式,本发明能够在GStreamer多媒体播放框架下根据用户的选择播放包括多段独立的音视频章节和/或字幕的音视频文件。
Description
技术领域
本发明涉及音视频播放技术领域,特别是涉及一种音视频文件的播放方法及播放装置。
背景技术
GStreamer是一个开源的多媒体框架库。利用GStreamer,可以构建一系列的媒体处理模块,包括从简单的Ogg播放功能到复杂的音频(混音)和视频(非线性编辑)的处理,其中Ogg是由Xiph.Org Foundation维护的自由、开放的容器格式(container format)。Ogg名称来源于“ogging”,其为电脑游戏Netrek的行话,这意味着强有力地执行某事,可能没有考虑到对未来资源的流失。应用程序可以透明的利用解码和过滤技术。开发者可以使用简洁通用的接口来编写一个简单的插件来添加新的解码器或滤镜。
DivX目录(Menu)文件包括多级菜单,可供用户选择。很多厂商在Linux平台上,都选择使用GStreamer多媒体播放框架。GStreamer的现有音频视频交错格式(Audio VideoInterleaved,AVI)插件(Plugins)只支持播放DivX目录文件的第一段视频或者是普通AVI/DivX文件(只有一段音视频),并不支持用户选择此种有多段音视频的DivX目录文件的其他章节视频。
发明内容
本发明主要解决的技术问题是提供一种音视频文件的播放方法及播放装置,能够在GStreamer多媒体播放框架下根据用户的选择播放包括多段独立的音视频章节和/或字幕的音视频文件。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种音视频文件的播放方法,所述音视频文件包括多段独立的音视频章节和/或字幕,所述音视频文件基于GStreamer多媒体播放框架进行播放,所述方法包括:判断所述音视频文件的类型并发送消息通知给上层应用;依据所述音视频文件的类型解析所述音视频文件,并保存解析得到的所述音视频文件的菜单元数据;解析一交互菜单的指令,以确定所述交互菜单的指令所对应的菜单元数据,其中,所述交互菜单包括多级菜单;以及依据所述交互菜单的指令所对应的菜单元数据来确定是否切换至所述交互菜单的指令所映射的音视频章节和/或字幕进行播放。
其中,所述解析所述交互菜单的指令所对应的菜单元数据的步骤包括:解析所述交互菜单的指令对应的用户界面坐标信息,将解析出来的用户界面坐标转换为音视频章节和/或字幕相对坐标,确定所述交互菜单的指令所对应的菜单元数据。
其中,所述依据所述交互菜单的指令所对应的菜单元数据来确定是否切换至所述交互菜单的指令所对应的音视频章节和/或字幕进行播放的步骤,包括:依据所述交互菜单的指令所对应的菜单元数据确定所述交互菜单的指令所映射的音视频章节和/或字幕;解析所述交互菜单的指令所映射的音视频章节和/或字幕的数据,确定是否进行切换;以及若所述交互菜单的指令所映射的音视频章节和/或字幕相较于前一播放的音视频章节和/或字幕发生了变化,确定切换至所述交互菜单的指令所映射的音视频章节和/或字幕进行播放。
其中,所述切换至所述交互菜单的指令所映射的音视频章节和/或字幕进行播放的步骤,还包括:根据所述交互菜单的指令所映射的音视频章节和/或字幕指引待播放的音视频章节和/或字幕的数据;删除所述前一音视频章节和/或字幕的数据;将所述交互菜单的指令所映射的音视频章节和/或字幕的数据进行解复用操作,创建所述待播放的音视频章节和/或字幕的数据的播放流;以及将创建的所述播放流发送到后面的组件,以便于所述后面的组件对所述操作所对应的音视频章节和/或字幕进行播放。
其中,所述判断所述音视频文件的类型的步骤,包括:判断所述音视频文件的类型是否为DivXMenu文件类型。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种音视频文件的播放装置,所述音视频文件包括多段独立的音视频章节和/或字幕,所述音视频文件基于GStreamer多媒体播放框架进行播放,所述装置包括:判断模块,用于判断所述音视频文件的类型并发送消息通知给上层应用;以及导航模块,耦接于所述判断模块,用于基于所述GStreamer多媒体播放框架控制所述音视频文件的播放,包括:解析单元,用于依据所述音视频文件的类型解析所述音视频文件,并保存解析得到的所述音视频文件的菜单元数据;以及接收一交互菜单的指令,以确定所述交互菜单的指令所对应的的菜单元数据,其中,所述交互菜单包括多级菜单;以及控制单元,用于依据所述交互菜单的指令所对应的菜单元数据来确定是否切换至所述交互菜单的指令所映射的音视频章节和/或字幕进行播放。
其中,所述解析单元用于解析所述交互菜单的指令对应的用户界面坐标信息,将解析出来的用户界面坐标转换为音视频章节和/或字幕相对坐标,确定所述交互菜单的指令所对应的菜单元数据。
其中,所述控制单元还用于依据所述交互菜单的指令所对应的菜单元数据确定所述交互菜单的指令所映射的音视频章节和/或字幕;解析所述交互菜单的指令所映射的音视频章节和/或字幕的数据,确定是否进行切换;以及若所述交互菜单的指令所映射的音视频章节和/或字幕相较于前一播放的音视频章节和/或字幕发生了变化,确定切换至所述交互菜单的指令所映射的音视频章节和/或字幕进行播放。
其中,所述导航模块还包括:导航单元,用于所述交互菜单的指令所映射的音视频章节和/或字幕指引待播放的音视频章节和/或字幕的数据;清除单元,用于删除所述前一音视频章节和/或字幕的数据;解复用单元,用于将所述交互菜单的指令所映射音视频章节和/或字幕的数据进行解复用操作,创建所述待播放的音视频章节和/或字幕的数据的播放流;以及发送单元,用于将创建的所述播放流发送到后面的组件,以便于所述后面的组件对所述操作所对应的音视频章节和/或字幕进行播放。
其中,所述播放装置单独集成为所述GStreamer多媒体框架中的一个新组件。
其中,所述播放装置集成在播放应用程序与所述GStreamer多媒体框架之间或者集成在播放应用程序上。
其中,所述判断模块还用于判断所述音视频文件的类型是否为DivXMenu文件类型。
本发明的有益效果是:区别于现有技术的情况,本发明上述音视频文件的播放方法及播放装置依据音视频文件的类型解析音视频文件,并保存解析得到的音视频文件的菜单元数据;以及解析一交互菜单的指令,以确定交互菜单的指令所对应的菜单元数据,据此确定是否切换至指令所映射的音视频章节和/或字幕进行播放,通过这种方式,能够在GStreamer多媒体播放框架下根据用户的选择播放包括多段独立的音视频章节和/或字幕的音视频文件。
附图说明
图1是本发明音视频文件的播放方法一实施方式的流程图;
图2是本发明音视频文件的播放方法一音视频文件中菜单和章节示例的示意图;
图3是本发明音视频文件的播放方法另一实施方式的流程图;
图4是本发明音视频文件的播放方法又一实施方式的流程图;
图5是本发明音视频文件的播放装置一实施方式的结构示意图;
图6是本发明音视频文件的播放装置另一实施方式的结构示意图;
图7是本发明音视频文件的播放装置一实施方式中作为一个组件集成在GStreamer多媒体框架的示意图;
图8是本发明音视频文件的播放装置一实施方式中放在播放应用程序上的示意图。
具体实施方式
下面结合附图和实施方式对本发明进行详细说明。
参阅图1,图1是本发明音视频文件的播放方法一实施方式的流程图,在本发明实施方式中,音视频文件包括多段独立的音视频章节和/或字幕,用户据此可以进行选择,选择播放其中的音视频章节和/或选择显示字幕。
该音视频文件基于GStreamer多媒体播放框架进行播放,GStreamer是一个开源的多媒体框架库,利用GStreamer,可以构建一系列的媒体处理模块,包括从简单的Ogg播放功能到复杂的音频(混音)和视频(非线性编辑)的处理。应用程序可以透明的利用解码和过滤技术。开发者可以使用简洁通用的接口来编写一个简单的插件来添加新的解码器或滤镜。因为GStreamer的上述优点,很多平台的厂商选择使用GStreamer多媒体播放框架。但是有些平台上,例如:Linux平台,GStreamer的现有AVI插件只支持播放DivX目录文件的第一段视频或者是普通AVI/DivX文件(只有一段音视频),并不支持用户选择此种有多段音视频的DivX目录文件的其他章节视频。
本发明音视频文件的播放方法能够在GStreamer多媒体播放框架下根据用户的选择播放包括多段独立的音视频章节和/或字幕的音视频文件。需要说明的是,本发明音视频文件的播放方法不受操作系统平台的限制,只要该操作系统平台使用GStreamer多媒体播放框架均可以实现。
该方法具体包括:
步骤S101:判断音视频文件的类型并发送消息通知给上层应用;
不同音视频文件的类型,文件的后缀通常不一样,可以根据文件的后缀来判断音视频文件的类型。如果音视频文件没有带后缀,也可以查看文件的扩展名而得知音视频文件的类型。当然也可以采用其他方法,例如:读取文件格式头信息,等等。
当上层应用将要播放该音视频文件的时候,即可判断音视频文件的类型,并将音视频文件的类型以消息的形式发送给上层应用,以回应上层应用的询问。
步骤S102:依据音视频文件的类型解析音视频文件,并保存解析得到的音视频文件的菜单元数据;
文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(例如:索引节点inode,...)等等。用户需要操作一个文件必须首先得到它的元数据,才能定位到文件的位置并且得到文件的内容或相关属性。
不同音视频文件的类型,文件的封装格式是不一样的。在获知音视频文件的类型后,可以依据该类型文件的封装格式解析该音视频文件,然后将解析得到的音视频文件的菜单元数据保存起来,当接收到用户对该音视频文件的操作后,可以定位文件的位置并且得到文件的内容或相关属性。因此,解析出来的菜单元数据以备后续比对使用。
步骤S103:解析一交互菜单的指令,以确定交互菜单的指令所对应的菜单元数据,其中,交互菜单包括多级菜单;
交互菜单也属于音视频文件封装的一部分内容,一个音视频文件可以包括一个以上的交互菜单,每个交互菜单中含有事件(action)对应关系表,例如“点击操作+点击区域位置,此时是否要播放某个章节(title)以及此章节在文件中的位置和数据大小(datasize)等”。
交互菜单包括多级菜单,也就是说菜单下面还包括下一级的菜单。
例如,如图2所示,一个音视频文件包括5个章节和2个菜单,其中,菜单2为菜单1的2级菜单。播放章节1时,显示菜单1,用户点击“山东旅游”时,播放章节2,用户点击“江苏旅游”时,播放章节5,同时显示2级菜单,即菜单2,用户点击“苏州”时,播放章节3,用户点击“无锡”时,播放章节4。
交互菜单显示在上层应用的界面,可用来提供给用户做交互,以便用户选择相应音视频章节。当用户做出选择后,即为发出交互菜单的指令,解析该交互菜单的指令,从而确定交互菜单的指令所对应的菜单元数据。
步骤S104:依据交互菜单的指令所对应的菜单元数据来确定是否切换至交互菜单的指令所映射的音视频章节和/或字幕进行播放。
在解析音视频文件的时候,保存有该音视频文件上所有的菜单元数据,比对交互菜单的指令所对应的菜单元数据,如果交互菜单的指令所对应的菜单元数据与最近播放的音视频章节和/或字幕的菜单元数据一样,则不需要切换,可以继续重播,如果交互菜单的指令所对应的菜单元数据与最近播放的音视频章节和/或字幕的菜单元数据不一样,则需要切换,播放交互菜单的指令所映射的音视频章节和/或字幕。
本发明实施方式判断音视频文件的类型并发送消息通知给上层应用;依据音视频文件的类型解析音视频文件,并保存解析得到的音视频文件的菜单元数据;解析一交互菜单的指令,以确定交互菜单的指令所对应的菜单元数据,其中,交互菜单包括多级菜单;以及依据交互菜单的指令所对应的菜单元数据来确定是否切换至交互菜单的指令所映射的音视频章节和/或字幕进行播放。由于解析得到的音视频文件的菜单元数据,解析得到多级的交互菜单的指令所对应的菜单元数据,据此确定是否切换至指令所映射的音视频章节和/或字幕进行播放,通过这种方式,能够在GStreamer多媒体播放框架下根据用户的选择播放包括多段独立的音视频章节和/或字幕的音视频文件。
其中,解析交互菜单的指令所对应的菜单元数据的步骤具体可以包括:解析交互菜单的指令对应的用户界面坐标信息,将解析出来的用户界面坐标转换为音视频章节和/或字幕相对坐标,确定交互菜单的指令所对应的菜单元数据。
例如:用户点击菜单上的按钮,则:
A.根据点击的用户界面坐标判定是否点击到按钮,如果点击到,那么具体点击的是哪个按钮;
B.将该按钮的用户界面坐标转换为音视频章节和/或字幕相对坐标,查找菜单元数据,即可确定用户点击的按钮所对应的章节的菜单元数据。
当然可以对菜单上的每一项内容(即对应上述例子的按钮的内容)进行编号,用户输入编号即可直接获知用户的选择所对应的菜单元数据,然后确定是否切换至交互菜单的指令所映射的音视频章节和/或字幕进行播放。在实际应用中,如何解析交互菜单的指令所对应的菜单元数据,关键在于音视频文件的封装格式、对应的菜单元数据以及显示的方式,因此,对应的解析方式也是变化多样的。
参见图3,步骤S104具体可以包括:子步骤S1041、子步骤S1042以及子步骤S1043。
子步骤S1041:依据交互菜单的指令所对应的菜单元数据确定交互菜单的指令所映射的音视频章节和/或字幕;
子步骤S1042:解析交互菜单的指令所映射的音视频章节和/或字幕的数据,确定是否进行切换;
子步骤S1043:若交互菜单的指令所映射的音视频章节和/或字幕相较于前一播放的音视频章节和/或字幕发生了变化,确定切换至交互菜单的指令所映射的音视频章节和/或字幕进行播放。
通过上述方式,能够确定是否切换至交互菜单的指令所映射的音视频章节和/或字幕进行播放。
同样的道理,根据音视频文件的封装格式、对应的菜单元数据以及显示的方式,步骤S104具体实现可以是多种多样的,在此不再一一列举。
进一步,参见图4,子步骤S1043中,切换至交互菜单的指令所映射的音视频章节和/或字幕进行播放的步骤,还可以具体包括:子步骤S1043-1、子步骤S1043-2、子步骤S1043-3、子步骤S1043-4。
子步骤S1043-1:根据交互菜单的指令所映射的音视频章节和/或字幕指引待播放的音视频章节和/或字幕的数据;
子步骤S1043-2:删除前一音视频章节和/或字幕的数据;
子步骤S1043-3:将交互菜单的指令所映射的音视频章节和/或字幕的数据进行解复用操作,创建待播放的音视频章节和/或字幕的数据的播放流;
子步骤S1043-4:将创建的播放流发送到后面的组件,以便于后面的组件对操作所对应的音视频章节和/或字幕进行播放。
通过上述方式,能够不需要进行大的改动,而简单实现切换至交互菜单的指令所映射的音视频章节和/或字幕进行播放。
其中,步骤S101中,判断音视频文件的类型的步骤,包括:判断音视频文件的类型是否为DivX Menu文件类型。
DivX公司基于标准AVI文件包装了音视频多媒体内容后,还额外扩展包含一个视频菜单+多段音视频章节/字幕,视频菜单可用来提供给用户做交互,以便选择相应音视频章节,经过这样封装起来的文件即为DivX Menu音视频文件,它包括交互式菜单、多字幕、多音轨、多视频、章节、菜单元数据等。一个章节含有音频、视频、字幕编码内容,这些内容构成一个完整的播放章节,可以认为一个DivX Menu文件的章节就是一个简单的AVI文件。
参见图5,图5是本发明音视频文件的播放装置一实施方式的结构示意图,本实施方式的播放装置可以执行上述方法中的步骤,相关内容的详细说明请参见上述方法部分,在此不再赘述。其中,音视频文件包括多段独立的音视频章节和/或字幕,音视频文件基于GStreamer多媒体播放框架进行播放。
该装置包括:判断模块10和导航模块20。
判断模块10用于判断音视频文件的类型并发送消息通知给上层应用;
导航模块20耦接于判断模块10,用于基于GStreamer多媒体播放框架控制音视频文件的播放,导航模块20包括:解析单元201和控制单元202。
解析单元201用于依据音视频文件的类型解析音视频文件,并保存解析得到的音视频文件的菜单元数据;以及接收一交互菜单的指令,以确定交互菜单的指令所对应的的菜单元数据,其中,交互菜单包括多级菜单;
控制单元202用于依据交互菜单的指令所对应的菜单元数据来确定是否切换至交互菜单的指令所映射的音视频章节和/或字幕进行播放。
本发明实施方式判断音视频文件的类型并发送消息通知给上层应用;依据音视频文件的类型解析音视频文件,并保存解析得到的音视频文件的菜单元数据;解析一交互菜单的指令,以确定交互菜单的指令所对应的菜单元数据,其中,交互菜单包括多级菜单;以及依据交互菜单的指令所对应的菜单元数据来确定是否切换至交互菜单的指令所映射的音视频章节和/或字幕进行播放。由于解析得到的音视频文件的菜单元数据,解析得到多级的交互菜单的指令所对应的菜单元数据,据此确定是否切换至指令所映射的音视频章节和/或字幕进行播放,通过这种方式,能够在GStreamer多媒体播放框架下根据用户的选择播放包括多段独立的音视频章节和/或字幕的音视频文件。
其中,解析单元201用于解析交互菜单的指令对应的用户界面坐标信息,将解析出来的用户界面坐标转换为音视频章节和/或字幕相对坐标,确定交互菜单的指令所对应的菜单元数据。
其中,控制单元202还用于依据交互菜单的指令所对应的菜单元数据确定交互菜单的指令所映射的音视频章节和/或字幕;解析交互菜单的指令所映射的音视频章节和/或字幕的数据,确定是否进行切换;以及若交互菜单的指令所映射的音视频章节和/或字幕相较于前一播放的音视频章节和/或字幕发生了变化,确定切换至交互菜单的指令所映射的音视频章节和/或字幕进行播放。
其中,参见图6,导航模块20还包括:导航单元203、清除单元204、解复用单元205以及发送单元206。
导航单元203用于交互菜单的指令所映射的音视频章节和/或字幕指引待播放的音视频章节和/或字幕的数据;
清除单元204用于删除前一音视频章节和/或字幕的数据;
解复用单元205用于将交互菜单的指令所映射音视频章节和/或字幕的数据进行解复用操作,创建待播放的音视频章节和/或字幕的数据的播放流;
发送单元206用于将创建的播放流发送到后面的组件,以便于后面的组件对操作所对应的音视频章节和/或字幕进行播放。
其中,该播放装置单独集成为GStreamer多媒体框架中的一个新组件。请参见图7,在一实施方式中,播放装置作为一个组件集成在GStreamer多媒体框架中。该播放装置组件具有导航器和GStreamer多媒体框架中现有的AviDemux的功能。
其中,该播放装置集成在播放应用程序与GStreamer多媒体框架之间或者集成在播放应用程序上。例如:请参见图8,在一具体实施方式中,可以将播放装置的导航器功能放在GStreamer多媒体框架之上,例如放在播放应用程序上(图8所示),或者放在播放应用程序与GStreamer多媒体框架之间的中间层。
其中,判断模块10还用于判断音视频文件的类型是否为DivXMenu文件类型。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种音视频文件的播放方法,其特征在于,所述音视频文件包括多段独立的音视频章节和/或字幕,所述音视频文件基于GStreamer多媒体播放框架进行播放,所述方法包括:
判断所述音视频文件的类型是否为DivXMenu文件类型并发送消息通知给上层应用;
依据所述音视频文件的类型解析所述音视频文件,并保存解析得到的所述音视频文件的菜单元数据;
解析一交互菜单的指令,以确定所述交互菜单的指令所对应的菜单元数据,其中,所述交互菜单包括多级菜单;以及
依据所述交互菜单的指令所对应的菜单元数据来确定是否切换至所述交互菜单的指令所映射的音视频章节和/或字幕进行播放。
2.根据权利要求1所述的方法,其特征在于,所述解析所述交互菜单的指令所对应的菜单元数据的步骤包括:
解析所述交互菜单的指令对应的用户界面坐标信息,将解析出来的用户界面坐标转换为音视频章节和/或字幕相对坐标,确定所述交互菜单的指令所对应的菜单元数据。
3.根据权利要求2所述的方法,其特征在于,所述依据所述交互菜单的指令所对应的菜单元数据来确定是否切换至所述交互菜单的指令所映射的音视频章节和/或字幕进行播放的步骤,包括:
依据所述交互菜单的指令所对应的菜单元数据确定所述交互菜单的指令所映射的音视频章节和/或字幕;
解析所述交互菜单的指令所映射的音视频章节和/或字幕的数据,确定是否进行切换;以及
若所述交互菜单的指令所映射的音视频章节和/或字幕相较于前一播放的音视频章节和/或字幕发生了变化,确定切换至所述交互菜单的指令所映射的音视频章节和/或字幕进行播放。
4.根据权利要求3所述的方法,其特征在于,所述切换至所述交互菜单的指令所映射的音视频章节和/或字幕进行播放的步骤,还包括:
根据所述交互菜单的指令所映射的音视频章节和/或字幕指引待播放的音视频章节和/或字幕的数据;
删除所述前一播放的音视频章节和/或字幕的数据;
将所述交互菜单的指令所映射的音视频章节和/或字幕的数据进行解复用操作,创建所述待播放的音视频章节和/或字幕的数据的播放流;以及
将创建的所述播放流发送到后面的组件,以便于所述后面的组件对所述操作所对应的音视频章节和/或字幕进行播放。
5.一种音视频文件的播放装置,其特征在于,所述音视频文件包括多段独立的音视频章节和/或字幕,所述音视频文件基于GStreamer多媒体播放框架进行播放,所述装置包括:
判断模块,用于判断所述音视频文件的类型是否为DivXMenu文件类型并发送消息通知给上层应用;以及
导航模块,耦接于所述判断模块,用于基于所述GStreamer多媒体播放框架控制所述音视频文件的播放,包括:
解析单元,用于依据所述音视频文件的类型解析所述音视频文件,并保存解析得到的所述音视频文件的菜单元数据;以及接收一交互菜单的指令,以确定所述交互菜单的指令所对应的的菜单元数据,其中,所述交互菜单包括多级菜单;以及
控制单元,用于依据所述交互菜单的指令所对应的菜单元数据来确定是否切换至所述交互菜单的指令所映射的音视频章节和/或字幕进行播放。
6.根据权利要求5所述的播放装置,其特征在于,所述解析单元用于解析所述交互菜单的指令对应的用户界面坐标信息,将解析出来的用户界面坐标转换为音视频章节和/或字幕相对坐标,确定所述交互菜单的指令所对应的菜单元数据。
7.根据权利要求6所述的播放装置,其特征在于,所述控制单元还用于依据所述交互菜单的指令所对应的菜单元数据确定所述交互菜单的指令所映射的音视频章节和/或字幕;解析所述交互菜单的指令所映射的音视频章节和/或字幕的数据,确定是否进行切换;以及若所述交互菜单的指令所映射的音视频章节和/或字幕相较于前一播放的音视频章节和/或字幕发生了变化,确定切换至所述交互菜单的指令所映射的音视频章节和/或字幕进行播放。
8.根据权利要求7所述的播放装置,其特征在于,所述导航模块还包括:
导航单元,用于所述交互菜单的指令所映射的音视频章节和/或字幕指引待播放的音视频章节和/或字幕的数据;
清除单元,用于删除所述前一播放的音视频章节和/或字幕的数据;
解复用单元,用于将所述交互菜单的指令所映射音视频章节和/或字幕的数据进行解复用操作,创建所述待播放的音视频章节和/或字幕的数据的播放流;以及
发送单元,用于将创建的所述播放流发送到后面的组件,以便于所述后面的组件对所述操作所对应的音视频章节和/或字幕进行播放。
9.根据权利要求5所述的播放装置,其特征在于,所述播放装置单独集成为所述GStreamer多媒体框架中的一个新组件。
10.根据权利要求5所述的播放装置,其特征在于,所述播放装置集成在播放应用程序与所述GStreamer多媒体框架之间或者集成在播放应用程序上。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710066178.XA CN106899881B (zh) | 2017-02-06 | 2017-02-06 | 音视频文件的播放方法及播放装置 |
US15/857,640 US20180225289A1 (en) | 2017-02-06 | 2017-12-29 | Audio/video file playback method and audio/video file playback apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710066178.XA CN106899881B (zh) | 2017-02-06 | 2017-02-06 | 音视频文件的播放方法及播放装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106899881A CN106899881A (zh) | 2017-06-27 |
CN106899881B true CN106899881B (zh) | 2020-08-21 |
Family
ID=59198660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710066178.XA Active CN106899881B (zh) | 2017-02-06 | 2017-02-06 | 音视频文件的播放方法及播放装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180225289A1 (zh) |
CN (1) | CN106899881B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889921B (zh) * | 2019-04-02 | 2022-03-01 | 杭州蓦然认知科技有限公司 | 一种具备交互功能的音视频创建、播放方法及装置 |
CN110493626B (zh) * | 2019-09-10 | 2020-12-01 | 海信集团有限公司 | 视频数据处理方法及装置 |
CN112911364A (zh) * | 2021-01-18 | 2021-06-04 | 珠海全志科技股份有限公司 | 音视频播放方法、计算机装置及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827116A (zh) * | 2010-01-04 | 2010-09-08 | 山东大学 | 一种基于dm6446的嵌入式p2p流媒体直播系统及其工作方法 |
CN102164305A (zh) * | 2011-01-26 | 2011-08-24 | 优视科技有限公司 | 视频处理方法及装置、移动通讯终端 |
CN105208460A (zh) * | 2014-06-20 | 2015-12-30 | Lg电子株式会社 | 经由web浏览器访问广播接收器的显示设备及其控制方法 |
CN105472457A (zh) * | 2015-03-27 | 2016-04-06 | 深圳Tcl数字技术有限公司 | 基于视频启动播放方法及视频启动装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093790A1 (en) * | 2000-03-28 | 2003-05-15 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
DE60124197T2 (de) * | 2000-03-17 | 2007-08-30 | Koninklijke Philips Electronics N.V. | Verfahren und vorrichtung zur anzeige eines mehrstufigen menus |
US7136874B2 (en) * | 2002-10-16 | 2006-11-14 | Microsoft Corporation | Adaptive menu system for media players |
US8826132B2 (en) * | 2007-09-04 | 2014-09-02 | Apple Inc. | Methods and systems for navigating content on a portable device |
EP2304587A4 (en) * | 2008-06-06 | 2012-07-11 | Divx Inc | MULTIMEDIA DISTRIBUTION AND READING SYSTEMS, AND METHODS USING ENHANCED METADATA STRUCTURES |
US9659313B2 (en) * | 2010-09-27 | 2017-05-23 | Unisys Corporation | Systems and methods for managing interactive features associated with multimedia content |
KR102288087B1 (ko) * | 2014-11-25 | 2021-08-10 | 엘지전자 주식회사 | 멀티미디어 디바이스 및 그 제어 방법 |
-
2017
- 2017-02-06 CN CN201710066178.XA patent/CN106899881B/zh active Active
- 2017-12-29 US US15/857,640 patent/US20180225289A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827116A (zh) * | 2010-01-04 | 2010-09-08 | 山东大学 | 一种基于dm6446的嵌入式p2p流媒体直播系统及其工作方法 |
CN102164305A (zh) * | 2011-01-26 | 2011-08-24 | 优视科技有限公司 | 视频处理方法及装置、移动通讯终端 |
CN105208460A (zh) * | 2014-06-20 | 2015-12-30 | Lg电子株式会社 | 经由web浏览器访问广播接收器的显示设备及其控制方法 |
CN105472457A (zh) * | 2015-03-27 | 2016-04-06 | 深圳Tcl数字技术有限公司 | 基于视频启动播放方法及视频启动装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106899881A (zh) | 2017-06-27 |
US20180225289A1 (en) | 2018-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8701008B2 (en) | Systems and methods for sharing multimedia editing projects | |
CN101513048B (zh) | 控制接收机的方法和使用该方法的接收机 | |
CN1326396C (zh) | 再现设备和再现方法 | |
JP3195284B2 (ja) | 動画再生制御方法およびその方法が適用される画像表示装置 | |
CN101091217A (zh) | 信息存储介质、信息再现设备、和信息再现方法 | |
CN101819799B (zh) | 存储多媒体数据的存储介质及其再现设备和方法 | |
US8600950B2 (en) | System and method for automatically creating a media archive from content on a recording medium | |
US20060236219A1 (en) | Media timeline processing infrastructure | |
US20060031236A1 (en) | Data structure of metadata and reproduction method of the same | |
KR20070121728A (ko) | 미디어 타임라인 정렬 방법 | |
CN103092467B (zh) | 一种视频预览的方法及装置 | |
KR20130039883A (ko) | 컨텐츠 관련 정보 제공 방법 및 시스템 | |
CN106899881B (zh) | 音视频文件的播放方法及播放装置 | |
JP2021510047A (ja) | メディアファイルの同期再生方法、装置及び記憶媒体 | |
US20060257106A1 (en) | Information storage medium, information recording apparatus, and information playback apparatus | |
US20060053150A1 (en) | Data structure of metadata relevant to moving image | |
EP3949369A1 (en) | System and method for performance-based instant assembling of video clips | |
CN101246412B (zh) | 显示器件及方法 | |
US20060031244A1 (en) | Data structure of metadata and processing method of the metadata | |
CN101951497B (zh) | Iptv业务系统、中央、区域业务管理系统及运营方法 | |
US20220317968A1 (en) | Voice command processing using user interface context | |
CN106851330B (zh) | 一种基于web技术的在线点播微课视频的打点播放方法 | |
JP2006166303A (ja) | コンテンツリスト生成方法、コンテンツリスト表示方法及びコンテンツ切り替え方法 | |
KR101208705B1 (ko) | Smmd 기반의 확장형 미디어 서비스 제어장치 및 그 방법 | |
JP2013090102A (ja) | 配信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Hefei City, Anhui province 230000 Wangjiang Road No. 800 building 10 layer A3 Innovation Industrial Park Applicant after: Hefei Jie FA Technology Co., Ltd. Address before: Hefei City, Anhui province 230000 Wangjiang Road No. 800 building 10 layer A3 Innovation Industrial Park Applicant before: Smart technology (Hefei) Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |