CN105049904B - 一种多媒体文件的播放方法和装置 - Google Patents
一种多媒体文件的播放方法和装置 Download PDFInfo
- Publication number
- CN105049904B CN105049904B CN201510449528.1A CN201510449528A CN105049904B CN 105049904 B CN105049904 B CN 105049904B CN 201510449528 A CN201510449528 A CN 201510449528A CN 105049904 B CN105049904 B CN 105049904B
- Authority
- CN
- China
- Prior art keywords
- file
- information
- multimedia file
- player
- multimedia
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000002123 temporal effect Effects 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 abstract description 11
- 238000005538 encapsulation Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000010295 mobile communication Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000000926 separation method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4408—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
-
- 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/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明实施例提供了一种多媒体文件的播放方法和装置,该方法包括:查找在先针对多个传输流TS格式的多媒体文件生成的配置文件;从所述配置文件中读取文件总信息和每个多媒体文件的文件子信息;按照文件总信息和每个多媒体文件的文件子信息调用播放器播放所述传输流TS格式的多媒体文件。本发明实施例大大提高了在播放时的解封效率,避免了在播放过程中的卡顿现象。
Description
技术领域
本发明涉及多媒体的技术领域,特别是涉及一种多媒体文件的播放方法和一种多媒体文件的播放装置。
背景技术
随着移动通信技术的快速发展,移动通信终端在人们的工作、学习、日常交流等各方面的使用率也越来越高,可以说,移动通信终端是人们生活不可或缺的一部分。
录像是移动通信终端的一个常用功能,由于节目(如文艺汇演)录制等录像的过程很长,而目前绝大多数的存储器(SD卡)的格式为FAT32,单个文件最大存储限制是4G,因此,通常需要分成多个多媒体文件进行录制。
由于***的限制,在多媒体文件切换时,一般需要停止录制工具的运行,再重新启动录制工具,进行新的多媒体文件的录制。
目前的移动通信终端,很多录制的多媒体文件都是MPEG-4格式的,MPEG-4格式的文件中的所有数据都装在box中,也就是说MPEG-4格式的文件由若干个box组成,每个box有类型和长度,可以将box理解为一个数据对象块。
MPEG-4格式的文件的媒体信息和数据是分开存放的,即想获得数据之前必须要解析出每个帧数据所有的位置,MPEG-4格式的文件存放这个帧信息的是放在stbl这个box里,而真实的数据放在mdat这个box中。
在文件录制结束时,需要在MPEG-4格式的文件产生一个头部信息,以备播放器播放文件所用。
可见,MPEG-4格式的文件结构复杂,使得MPEG-4格式的多媒体文件在播放的解封装时,需要花费很长的时间,时延很大,在连续播放时容易造成卡顿的现象。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题的一种多媒体文件的播放方法和相应的一种多媒体文件的播放装置。
为了解决上述问题,本发明实施例公开了一种多媒体文件的播放方法,包括:
查找在先针对多个传输流TS格式的多媒体文件生成的配置文件;
从所述配置文件中读取文件总信息和每个多媒体文件的文件子信息;
按照文件总信息和每个多媒体文件的文件子信息调用播放器播放所述传输流TS格式的多媒体文件。
优选地,所述多媒体文件的名称配置有时间信息;
所述文件子信息按照时间信息排序,包括基于所述时间信息计算的时长信息、路径信息中的至少一者;
所述文件总信息包括累加每个多媒体文件的时长信息获得的总时长信息、视频名称、视频画面大小中的至少一者。
优选地,所述按照文件总信息和每个多媒体文件的文件子信息调用播放器播放所述传输流TS格式的多媒体文件的步骤包括:
将至少部分文件总信息发送至播放器进行初始化操作;
当初始化操作完成时,将第一个多媒体文件的路径信息发送至播放器,以调用播放器从所述路径信息读取多媒体文件进行播放。
优选地,所述播放控制器将至少部分文件总信息发送至播放器进行初始化操作的步骤包括:
将总时长信息发送至播放器,以生成播放进度条;
和/或,
将视频名称发送至播放器进行展示;
和/或,
将视频画面大小中至播放器,以调整播放器的大小。
优选地,所述按照文件总信息和每个多媒体文件的文件子信息调用播放器播放所述传输流TS格式的多媒体文件的步骤包括:
当接收到播放器发送的多媒体文件播放完毕的消息时,将下一个多媒体文件的路径信息发送至播放器,以调用播放器从所述路径信息读取多媒体文件进行播放。
优选地,所述按照文件总信息和每个多媒体文件的文件子信息调用播放器播放所述传输流TS格式的多媒体文件的步骤包括:
接收播放器发送的定位操作消息;所述定位操作消息中包括位于总时长信息中的定位时间点;
查找所述定位时间点所属的多媒体文件;
计算所述定位时间点在所属的多媒体文件中的时长信息的时间偏移量;
将所述多媒体文件的路径信息和时间偏移量发送至播放器,以调用播放器从所述路径信息读取多媒体文件、从所述时间偏移量开始播放。
优选地,所述按照文件总信息和每个多媒体文件的文件子信息调用播放器播放所述传输流TS格式的多媒体文件的步骤包括:
通过路径信息读取多媒体文件;
通过传输流解复用器MPEG2TSExtractor对多媒体文件进行分离,获得视频数据流和音频数据流;
通过视频轨道mVideoTrack从所述视频数据流中提取视频数据帧;
通过音频轨道mAudioTrack从所述音频数据流中提取音频数据帧;
通过视频解码器mVideoSource对所述视频数据帧进行解码;
通过音频解码器mAudioSource对所述音频数据帧进行解码;
通过视频渲染器mVideoRenderer输出将解码后的视频数据帧;
通过音频播放mAudioPlayer播放解码后的音频数据帧。
本发明实施例还公开了一种多媒体文件的播放装置,所述装置包括播放控制器、配置文件解析器和播放器:
其中,所述播放控制器包括:
配置文件查找模块,用于查找在先针对多个传输流TS格式的多媒体文件生成的配置文件;
播放控制模块,用于按照文件总信息和每个多媒体文件的文件子信息调用播放器播放所述传输流TS格式的多媒体文件;
所述配置文件解析器包括:
信息读取子模块,用于从所述配置文件中读取文件总信息和每个多媒体文件的文件子信息。
优选地,所述多媒体文件的名称配置有时间信息;
所述文件子信息按照时间信息排序,包括基于所述时间信息计算的时长信息、路径信息中的至少一者;
所述文件总信息包括累加每个多媒体文件的时长信息获得的总时长信息、视频名称、视频画面大小中的至少一者。
优选地,所述播放控制模块包括:
初始化子模块,用于将至少部分文件总信息发送至播放器进行初始化操作;
第一播放源设置子模块,用于在初始化操作完成时,将第一个多媒体文件的路径信息发送至播放器,以调用播放器从所述路径信息读取多媒体文件进行播放。
优选地,所述初始化子模块包括:
进度条生成单元,用于将总时长信息发送至播放器,以生成播放进度条;
和/或,
视频名称展示单元,用于将视频名称发送至播放器进行展示;
和/或,
播放器调整单元,用于将视频画面大小中至播放器,以调整播放器630的大小。
优选地,所述播放控制模块包括:
第二播放源设置子模块,用于在接收到播放器发送的多媒体文件播放完毕的消息时,将下一个多媒体文件的路径信息发送至播放器,以调用播放器从所述路径信息读取多媒体文件进行播放。
优选地,所述播放控制模块包括:
定位操作消息接收子模块,用于接收播放发送的定位操作消息;所述定位操作消息中包括位于总时长信息中的定位时间点;
文件归属查找子模块,用于查找所述定位时间点所属的多媒体文件;
时间偏移量计算子模块,用于计算所述定位时间点在所属的多媒体文件中的时长信息的时间偏移量;
第三播放源设置子模块,用于将所述多媒体文件的路径信息和时间偏移量发送至播放器,以调用播放器从所述路径信息读取多媒体文件、从所述时间偏移量开始播放。
优选地,所述播放器包括:
多媒体文件读取子模块,用于通过路径信息读取多媒体文件;
文件分离模块,用于通过传输流解复用器MPEG2TSExtractor对多媒体文件进行分离,获得视频数据流和音频数据流;
视频数据帧提取模块,用于通过视频轨道mVideoTrack从所述视频数据流中提取视频数据帧;
音频数据帧读取模块,用于通过音频轨道mAudioTrack从所述音频数据流中提取音频数据帧;
视频解码模块,用于通过视频解码器mVideoSource对所述视频数据帧进行解码;
音频解码模块,用于通过音频解码器mAudioSource对所述音频数据帧进行解码;
视频输出模块,用于通过视频渲染器mVideoRenderer输出将解码后的视频数据帧;
音频播放模块,用于通过音频播放mAudioPlayer播放解码后的音频数据帧。
本发明实施例包括以下优点:
本发明实施例通过读取配置文件中的文件总信息和每个多媒体文件的文件子信息,调用播放器播放多个传输流TS格式的多媒体文件,由于传输流TS格式简单,无需复杂的解封装操作,大大提高了在播放时的解封效率,避免了在播放过程中的卡顿现象。
附图说明
图1是本发明的一种多媒体文件的录制方法实施例1的步骤流程图;
图2是本发明的一种多媒体文件的录制方法实施例2的步骤流程图;
图3是本发明的一种多媒体文件的播放方法实施例1的步骤流程图;
图4是本发明的一种多媒体文件的播放方法实施例2的步骤流程图;
图5是本发明的一种多媒体文件的录制装置实施例的结构框图
图6是本发明的一种多媒体文件的播放装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种多媒体文件的录制方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤101,接收到多媒体文件的录制请求时,设置录制参数;
需要说明的是,本发明实施例可以应用于具有摄像头的移动通信设备,例如,手机、平板电脑、智能可穿戴设备(如智能手表)等等。
当然,本发明实施例还可以应用于其他终端设备,如智能电视、智能照相机等等,本发明实施例对此不加以限制。
这些移动通信设备大多可以支持WindowsPhone、Android(安卓)、IOS、Windows等操作***,通常可以运行录制视频的应用,如摄像头应用,实现录像功能。
在具体实现中,多媒体文件的录制请求可以是指用户通过摄像头应用点击指定的控件(如录像控件)等方式发出的进行录像的指示。
当接收到录制请求使,则可以设置录制参数。其中,录制参数可以包括数据源(DataSource)、编码格式、文件输出格式;
进一步而言,文件输出格式设置为传输流TS格式。
以下对传输流TS格式涉及的几个概念进行介绍:
ES(Elementary Stream):基本流,不分段的音频、视频或其他信息的连续码流。
PES(Packet Elemental Stream):把基本流ES分割成段,并加上相应头文件打包形成的基本码流。
TS(Transport Stream):传输流,将具有共同时间基准或独立时间基准的一个或多个PES组合(复合)而成的单一数据流。
当然,上述录制参数只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他录制参数,例如,分辨率、视频帧率、文件输出录制,等等,本发明实施例对此不加以限制。另外,除了上述录制参数外,本领域技术人员还可以根据实际需要采用其它录制参数,本发明实施例对此也不加以限制。
步骤102,通过所述数据源采集多媒体数据;
当开始录制视频时,可以通过数据源采集原始的多媒体数据,例如,视频数据、音频数据。
步骤103,按照所述编码格式对所述多媒体数据进行编码;
对多媒体数据进行编码,指通过特定的压缩技术,如H.261、H.263等,将某个视频格式的文件转换成另一种视频格式文件的方式。
步骤104,将编码之后的多媒体数据按照所述传输流TS格式封装至第一多媒体文件。
传输流TS格式的特点之一,是要求从视频流的任一片段开始都是可以独立解码的。
从结构上说,每个传输流文件中可以包含一系列固定长度为188Bytes的传输流包(简称为TS包),扩充过的TS包还可以包括时间戳。
每个TS包由4Bytes长的包头和其后的184Bytes的载荷组成,184Bytes的载荷为有用信息空间,用于传送已编码的视音频数据流。
在本发明的一种优选实施例中,步骤104可以包括如下子步骤:
子步骤S11,在所述多媒体文件的文件名中配置时间信息。
传输流TS格式的多媒体文件是流式数据,没有专门的文件头,否则不能满足从任何时候开始都能解码的要求。
但是,这也带来另外一个问题,就是每个分段的多媒体文件保持的视频长度不好计算。
因此,在本发明实施例中,在文件名中配置时间信息,以方便分段的多媒体文件的视频长度计算。
具体来说,即在多媒体文件的文件名的构成包含时间信息。
在实际应用中,时间信息可以包括封装起始时间(即开始封装多媒体文件的时间)、封装完成时间(即完成封装多媒体文件的时间);
当开始封装多媒体文件时,在多媒体文件的文件名中,将当前时间配置为封装起始时间;
当完成封装多媒体文件时,在多媒体文件的文件名中,将当前时间配置为封装完成时间。
例如,某个多媒体文件在2015年1月1日01:00开始封装,则此时可以对该多媒体文件配置文件名为“videoclip1_201501010100.ts”,若该多媒体文件在2015年1月1日01:10开始封装,则可以对多媒体文件的文件名修改为“videoclip1_201501010100_201501010110.ts”。
步骤105,当所述第一多媒体文件超过预设的文件大小阈值时,将编码之后的多媒体数据按照所述传输流TS格式封装至第二多媒体文件。
在本发明实施例中,可以按照文件大小阈值划分多媒体文件,当文件尺寸达到文件大小阈值的上限时,要实时通知录制视频的应用,进行下一个多媒体文件的封装,直至录制完成。
即一个完整的视频,可以录制成多个多媒体文件。
本发明实施例将数据源采集的多媒体数据在编码之后,封装成多个传输流TS格式的多媒体文件,由于传输流TS格式简单,无需复杂的封装操作,大大降低了时延,大大提高了在录制时的封装效率,避免了在录制过程中的卡顿现象,有效缓解在切换时的丢帧问题。在本发明的一种优选实施例中,该方法还可以包括如下步骤:
步骤106,当所有多媒体文件封装完成时,生成配置文件;
在本发明实施例中,一个完整的视频可以录制成多个多媒体文件,该完整的视频可以由用户的操作进行定义,如,在录制视频的应用接收到录制请求以及结束录制的请求之间封装的多媒体文件视为一个完整的视频。
一个完整的视频的所有多媒体文件(包括第一多媒体文件、第二多媒体文件)完成封装时,生成对应的配置文件,可以为XML(Extensible Markup Language,可扩展标记语言)等格式,用于控制多个多媒体文件的播放。
其中,所述配置文件中包括文件总信息和每个多媒体文件的文件子信息;
所述文件子信息按照时间信息排序,包括基于所述时间信息计算的时长信息、路径信息中的至少一者;
所述文件总信息包括累加每个多媒体文件的时长信息获得的总时长信息、视频名称、视频画面大小中的至少一者。
配置文件的示例可以如下:
其中,BaseInfos为文件总信息,即整个视频的视频信息。
在BaseInfos中的Name为视频名称,即整个视频的名称,可以在录制的时候在操作界面由用户来命名;
在BaseInfos中的Duration为总时长信息;
在BaseInfos中的SegmentCount为多媒体文件的数量;
在BaseInfos中的Width为视频画面的宽度、High为视频画面的高度,共同用于表征视频画面大小。
Segment为文件子信息,即多媒体文件的视频信息。
在Segment中的Name为多媒体文件的文件名;
在Segment中的Duration为多媒体文件的时长信息;
在Segment中的FilePath为多媒体文件的路径信息。
参照图2,示出了本发明的一种多媒体文件的录制方法实施例2的步骤流程图,该方法实施例可以应用在Android***中,Android***是一种基于Linux的自由及开放源代码的操作***,大致可以划分为四个层,从高层到低层分别是应用程序层(Applications)、应用程序框架层(Application Framework)、***运行库层(Libraries)和Linux核心层(Linux Kernel)。
该方法实施例具体可以包括如下步骤:
步骤201,创建多媒体录制对象MediaRecorder;
Android***是在的Linux***上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的Application Framework,应用程序是基于JAVA的ApplicationFramework之上运行的,因此,大致可以将Application Framework划分为Java层和Native层。
在本发明实施例中,录制视频的应用可以在创建一个Java层的MediaRecorder对象,实现录音和录像。
步骤202,由所述多媒体录制对象MediaRecorder对象创建多媒体录制服务实例StageFrightRecorder;
MediaRecorder对象是通过应用程序框架层的录制服务模块MPS创建录制服务实例——StageFrightRecorder,控制多媒体文件的录制。
其中,StagefrightRecorder是MPS创建的用于录制操作的实体对象。
录制视频的应用和MPS之间通过AIDL接口实现进程间通信,为了摄像头应用开发方便,Android***提供了封装好的帮助类。
如录制视频的应用通过MediaRecorder对象和MediaRecorderClient实现和MPS交流。
MediaRecorder对象是运行在录制视频的应用的进程空间里面,代表MPS,MediaRecorderClient运行在多媒体服务器进程空间里面代表录制视频的应用。
步骤203,由所述多媒体录制对象MediaRecorder设置录制参数;
录制参数可以包括数据源、编码格式、文件输出格式,该文件输出格式设置为传输流TS格式;
本发明实施例中,为了实现传输流TS格式的多媒体文件的录制,在操作***的Java层进行了扩展。
具体而言,在操作***的Java层中,多媒体录制对象MediaRecorder具有传输流TS格式的设置接口,多媒体录制对象MediaRecorder可以通过该设置接口将传输流TS格式设置为输出格式。
步骤204,通过预置的摄像头源类CameraSource从摄像头采集视频数据;
在本发明实施例中,数据源包括摄像头,多媒体数据包括视频数据,则可以通过CameraSource从摄像头采集视频数据,如YUV数据。
步骤205,通过预置的音频源类AudioSource从麦克风采集音频数据。
在本发明实施例中,数据源包括麦克风,多媒体数据包括音频数据,则可以通过AudioSource从麦克风采集音频数据,如PCM数据。
步骤206,由所述多媒体录制服务实例StageFrightRecorder创建编码器OMXCodec;
步骤207,由所述编码器OMXCodec按照所述编码格式对所述多媒体数据进行编码;
录制的多媒体数据传输过程是消息驱动的,数据源产生多媒体数据的消息被注入OMXCodec的消息队列。
OMXCodec检测到该消息可以调用MediaSource的read函数来获取视频数据、音频数据,按照设定的编码格式进行编码,压缩视频数据、音频数据为各种编码格式的数据。
步骤208,由所述多媒体录制服务实例StageFrightRecorder将预置的写传输流对象MPEG2TSWriter设置合成器MediaWriter;
步骤209,由所述合成器MediaWriter将所述多媒体数据封装为所述传输流TS格式的多媒体文件。
本发明实施例中,为了实现传输流TS格式的多媒体文件的录制,在操作***的Native层进行了扩展。
StagefringRecorder可以判断设置的文件输出格式,如果是传输流TS格式,则创建MPEG2TSWriter对象作为MediaWriter,将压缩好的视频数据、音频数据按照传输流TS格式写入到多媒体文件中。
除此之外,为了满足传输流TS格式的多媒体文件的存储,本发明实施例对MPEG2TSWriter的功能进行扩展,实现了文件尺寸检测功能,从而在写入数据达到设置的文件大小阈值时可以通知控制层做文件切换操作。
Android原始设计中传输流TS的输出对象是网络接口设备,而本发明实施例在StageFrightRecorder框架中增加MPEG2TSWriter对象,提供了本地文件***的传输流TS的写入支持,实现了传输流TS格式的多媒体文件的生成。
参照图3,示出了本发明的一种多媒体文件的播放方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤301,查找在先针对多个传输流TS格式的多媒体文件生成的配置文件;
在本发明实施例中,该多个多媒体文件归属同一个完整的视频,在先已针对该多个多媒体文件生成配置文件。
在具体实现中,多个多媒体文件在界面显示为一个完整的视频,当用户通过点击等操作触发该多个多媒体文件的播放时,可以由播放控制器VideoController根据该完整的视频的信息(如名称)查找在先针对多个传输流TS格式的多媒体文件生成的配置文件。
由于配置文件一般为XML等格式,因此,播放控制器VideoController读取配置文件后,可以交给配置文件解析器VideoListParser进行解析。
步骤302,从所述配置文件中读取文件总信息和每个多媒体文件的文件子信息;
文件解析器VideoListParser可以通过继承Java的XML解析类(属于Java API接口)并实现自己的解析逻辑完成。
文件解析器VideoListParser接收到配置文件后,可以对配置文件进行解析,获取配置文件中的文件总信息和每个多媒体文件的文件子信息。
进一步而言,文件解析器VideoListParser可以先解析根节点,获取这个完整的视频的文件总信息,然后再一次解析每个字节点,获取文件子信息,并将解析后的文件子信息放到一个集合中保存。
在具体实现中,多媒体文件的名称可以配置有时间信息;
文件子信息按照时间信息排序,包括基于时间信息计算的时长信息、路径信息中的至少一者;
文件总信息包括累加每个多媒体文件的时长信息获得的总时长信息、视频名称、视频画面大小中的至少一者。
解析后文件总信息和每个多媒体文件的文件子信息的数据结构跟配置文件结构类似,由文件解析器VideoListParser返回播放控制器VideoController。
步骤303,按照文件总信息和每个多媒体文件的文件子信息调用播放器播放所述传输流TS格式的多媒体文件。
在具体实现中,播放控制器VideoController调用播放器MyVideoView,将相应的文件总信息和文件子信息发送至播放器MyVideoView,控制播放器MyVideoView播放相应的多媒体文件。
其中,播放器MyVideoView可以参考Android***播放控件VideoView实现,进一步而言,是多媒体播放器MediaPlayer和表面窗口SurfaceView实现。
在本发明的一种优选实施例中,步骤303可以包括如下子步骤:
子步骤S21,将至少部分文件总信息发送至播放器进行初始化操作;
在本发明实施例中,播放控制器VideoController可以将至少部分文件总信息送至播放器MyVideoView,播放器MyVideoView可以按照该文件总信息进行初始化操作。
如,播放控制器VideoController将总时长信息发送至播放器MyVideoView,以播放器MyVideoView在其UI(User Interface,用户界面)生成相应的播放进度条,提示整个视频文件的播放进度;
和/或,
又如,播放控制器VideoController将视频名称发送至播放器MyVideoView,播放器MyVideoView可以在其UI进行展示;
和/或,
播放控制器VideoController将视频画面大小中至播放器MyVideoView,以调整播放器的大小,即初始化初始化表面窗口SurfaceView的长度和宽度。
子步骤S22,当初始化操作完成时,将第一个多媒体文件的路径信息发送至播放器,以调用播放器从所述路径信息读取多媒体文件进行播放。
待初始化操作完成后,播放控制器VideoController可以设置播放源为第一个多媒体文件。
具体而言,播放控制器VideoController可以调用MediaPlayer的setDatasource方法将第一个多媒体文件的路径信息发送给播放器MyVideoView。
对视频解码后传递给MediaPlayer绑定的Surface,即初始化的SurfaceView(Surface对应了一块屏幕缓冲区,每个window对应一个Surface,SurfaceView是画在Surface上的),播放开始。
在本发明的另一种优选实施例中,步骤303可以包括如下子步骤:
子步骤S31,当接收到播放器发送的多媒体文件的播放完毕事件时,将下一个多媒体文件的路径信息发送至播放器,以调用播放器从所述路径信息读取多媒体文件进行播放。
若当前的多媒体文件播放完毕,则播放器MyVideoView可以发送播放完毕事件oncomplete通知播放控制器VideoController,播放控制器VideoController按照排序,将位于当前的多媒体文件的下一个多媒体文件,设置播放源,进行顺序播放。
在本发明的另一种优选实施例中,步骤303可以包括如下子步骤:
子步骤S41,接收播放器发送的定位操作消息;所述定位操作消息中包括位于总时长信息中的定位时间点;
子步骤S42,查找所述定位时间点所属的多媒体文件;
子步骤S43,计算所述定位时间点在所属的多媒体文件中的时长信息的时间偏移量;
子步骤S44,将所述多媒体文件的路径信息和时间偏移量发送至播放器,以调用播放器从所述路径信息读取多媒体文件、从所述时间偏移量开始播放。
在本发明实施例中,用户可以通过拖动播放器MyVideoView的UI中的播放进度条,将播放点拖动到定位时间点delta,触发定位seek操作。
播放器MyVideoView在检测到定位seek操作时,发送消息通知播放控制器VideoController。
播放控制器VideoController根据定位seek操作到的定位时间点delta以及各个总时长信息,即确认定位时间点delta是属于第几个多媒体文件的时间段,将该多媒体文件响应到相应的位置。
例如,在录制时,录制了三个多媒体文件,前两个多媒体文件的时长信息均为10分钟,第三个多媒体文件的时长信息为5分钟,即总时长信息即为25分钟。
如果用户定位seek操作到的定位时间点为第21分钟,第21分钟属于到第三个多媒体文件,在第三个多媒体文件的时间偏移量为第1分钟。
本发明实施例通过读取配置文件中的文件总信息和每个多媒体文件的文件子信息,调用播放器播放多个传输流TS格式的多媒体文件,由于传输流TS格式简单,无需复杂的解封装操作,大大提高了在播放时的解封效率,避免了在播放过程中的卡顿现象。
参照图4,示出了本发明的一种多媒体文件的播放方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤401,通过路径信息读取多媒体文件;
若通过setDataSource方法设置了某个多媒体文件为播放源DataSource,则可以开启定时器队列,并且发出(post)一个AsyncPrepare事件,可以按照该多媒体文件的路径信息读取多媒体文件本身。
步骤402,通过传输流解复用器MPEG2TSExtractor对多媒体文件进行分离,获得视频数据流和音频数据流;
根据DataSource创建解复用器MediaExtractor,进行A/V(Audio/Video,视频数据流/音频数据流)分离。
进一步而言,可以通过sp<MediaExtractor>extractor=MediaExtractor::Create(dataSource);来实现MediaExtractor的创建。
MediaExtractor::Create(dataSource)会根据不同的数据内容创建不同的数据读取对象。
在本发明实施例中,为了对传输流TS格式的多媒体文件进行A/V分离,可以创建传输流解复用器MPEG2TSExtractor为MediaExtractor。
步骤403,通过视频轨道mVideoTrack从所述视频数据流中提取视频数据帧;
步骤404,通过音频轨道mAudioTrack从所述音频数据流中提取音频数据帧;
当AsyncPrepare事件被触发时,可以调用finishSetDataSource_l创建VideoTrack和AudioTrack。
finishSetDataSource_l通过URI前缀判断媒体类型,比如http,rtsp,或者本地文件等。URI可以通过
mVideoTrack和mAudioTrack分别代表一个视频轨道和音频轨道,用于提取视频帧和音频帧。
mVideoTrack和mAudioTrack在onPrepareAsyncEvent事件被触发时,由MediaExtractor分离出来。
步骤405,通过视频解码器mVideoSource对所述视频数据帧进行解码;
步骤406,通过音频解码器mAudioSource对所述音频数据帧进行解码;
步骤407,通过视频渲染器mVideoRenderer输出将解码后的视频数据帧;
步骤408,通过音频播放mAudioPlayer播放解码后的音频数据帧。
mVideoTrack和mAudioTrack可以通过调用initVideoDecoder()和initAudioDecoder()来生成mVideoSource和mAudioSource这两个音视频解码器。
mVideoSource可以认为是一个视频解码器的封装,用于产生视频图像供mVideoRenderer渲染,mVideoSource的数据源则由mVideoTrack提供。
mVideoSource对解码好的视频进行格式转换,Android使用的格式为RGB565,并发给display模块进行图像绘制。
mVideoSource解码后通过mVideoSource的read方法读取一帧帧的数据,放到mVideoBuffer中,最后通过mVideoRenderer的render(mVideoBuffer)方法把视频数据发送到显示模块进行显示。
mAudioSource也可以认为是一个音频解码器的封装,用于产生视频图像供mAudioPlayer播放,mAudioPlayer的数据源由mAudioTrack提供。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明的一种多媒体文件的录制装置实施例的结构框图,具体可以包括如下模块:
录制参数设置模块501,用于接收到多媒体文件的录制请求时,设置录制参数,其中,所述录制参数包括数据源、编码格式、文件输出格式,所述文件输出格式设置为传输流TS格式;
多媒体数据采集模块502,用于通过所述数据源采集多媒体数据;
多媒体数据编码模块503,用于按照所述编码格式对所述多媒体数据进行编码;
第一多媒体数据封装模块504,用于将编码之后的多媒体数据按照所述传输流TS格式封装至第一多媒体文件;
第二多媒体数据封装模块505,用于在判断所述第一多媒体文件超过预设的文件大小阈值时,将编码之后的多媒体数据按照所述传输流TS格式封装至第二多媒体文件。
在本发明的一种优选实施例中,所述多媒体数据封装模块504可以包括如下子模块:
时间信息配置子模块,用于在所述多媒体文件的文件名中配置时间信息。
在本发明实施例的一种优选示例中,所述时间信息可以包括封装起始时间、封装完成时间;
所述时间信息配置子模块可以包括如下单元:
封装起始时间配置单元,用于在开始封装多媒体文件时,在所述多媒体文件的文件名中,将当前时间配置为封装起始时间;
封装完成时间配置单元,用于在完成封装多媒体文件时,在所述多媒体文件的文件名中,将当前时间配置为封装完成时间。
在本发明的一种优选实施例中,该装置还可以包括如下模块:
配置文件生成模块,用于在所有多媒体文件封装完成时,生成配置文件;
其中,所述配置文件中包括文件总信息和每个多媒体文件的文件子信息;
所述文件子信息按照时间信息排序,包括基于所述时间信息计算的时长信息、路径信息中的至少一者;
所述文件总信息包括累加每个多媒体文件的时长信息获得的总时长信息、视频名称、视频画面大小中的至少一者。
在本发明的一种优选实施例中,该装置还可以包括如下模块:
录制对象创建模块,用于创建多媒体录制对象MediaRecorder;
录制服务实例创建模块,用于由所述多媒体录制对象MediaRecorder对象创建多媒体录制服务实例StageFrightRecorder。
在本发明的一种优选实施例中,所述录制参数设置模块501可以包括如下子模块:
对象设置子模块,用于由所述多媒体录制对象MediaRecorder设置录制参数;
其中,在操作***的Java层中,所述多媒体录制对象MediaRecorder具有传输流TS格式的设置接口。
在本发明的一种优选实施例中,所述数据源可以包括摄像头和/或麦克风,所述多媒体数据可以包括视频数据和/或音频数据;
所述多媒体数据采集模块502可以包括如下子模块:
视频数据采集子模块,用于通过预置的摄像头源类CameraSource从摄像头采集视频数据;
和/或,
音频数据采集子模块,用于通过预置的音频源类AudioSource从麦克风采集音频数据。
在本发明的一种优选实施例中,所述多媒体数据编码模块503可以包括如下子模块:
编码器创建子模块,用于由所述多媒体录制服务实例StageFrightRecorder创建编码器OMXCodec;
编码器编码子模块,用于由所述编码器OMXCodec按照所述编码格式对所述多媒体数据进行编码。
在本发明的一种优选实施例中,所述多媒体数据封装模块504可以包括如下子模块:
合成器设置子模块,用于由所述多媒体录制服务实例StageFrightRecorder将预置的写传输流对象MPEG2TSWriter设置合成器MediaWriter;
合成器封装子模块,用于由所述合成器MediaWriter将所述多媒体数据封装为所述传输流TS格式的第一多媒体文件。
参照图6,示出了本发明的一种多媒体文件的播放装置实施例的结构框图,该装置可以包括播放控制器610、配置文件解析器620和播放器630;
其中,所述播放控制器610可以包括如下模块:
配置文件查找模块611,用于查找在先针对多个传输流TS格式的多媒体文件生成的配置文件;
播放控制模块612,用于按照文件总信息和每个多媒体文件的文件子信息调用播放器播630放所述传输流TS格式的多媒体文件;
所述配置文件解析器620可以包括如下模块:
信息读取子模块621,用于从所述配置文件中读取文件总信息和每个多媒体文件的文件子信息。
在具体实现中,所述多媒体文件的名称配置有时间信息;
所述文件子信息按照时间信息排序,包括基于所述时间信息计算的时长信息、路径信息中的至少一者;
所述文件总信息包括累加每个多媒体文件的时长信息获得的总时长信息、视频名称、视频画面大小中的至少一者。
在本发明的一种优选实施例中,所述播放控制模块612可以包括如下子模块:
初始化子模块,用于将至少部分文件总信息发送至播放器630进行初始化操作;
第一播放源设置子模块,用于在初始化操作完成时,将第一个多媒体文件的路径信息发送至播放器630,以调用播放器630从所述路径信息读取多媒体文件进行播放。
在本发明实施例的一种示例中,所述初始化子模块可以包括如下单元:
进度条生成单元,用于将总时长信息发送至播放器630,以生成播放进度条;
和/或,
视频名称展示单元,用于将视频名称发送至播放器630进行展示;
和/或,
播放器调整单元,用于将视频画面大小中至播放器630,以调整播放器630的大小。
在本发明的另一种优选实施例中,所述播放控制模块612可以包括如下子模块:
第二播放源设置子模块,用于在接收到播放器630发送的多媒体文件播放完毕的消息时,将下一个多媒体文件的路径信息发送至播放器630,以调用播放器630从所述路径信息读取多媒体文件进行播放。
在本发明的另一种优选实施例中,所述播放控制模块612可以包括如下子模块:
定位操作消息接收子模块,用于接收播放器630发送的定位操作消息;所述定位操作消息中包括位于总时长信息中的定位时间点;
文件归属查找子模块,用于查找所述定位时间点所属的多媒体文件;
时间偏移量计算子模块,用于计算所述定位时间点在所属的多媒体文件中的时长信息的时间偏移量;
第三播放源设置子模块,用于将所述多媒体文件的路径信息和时间偏移量发送至播放器630,以调用播放器630从所述路径信息读取多媒体文件、从所述时间偏移量开始播放。
在本发明的一种优选实施例中,所述播放器630可以包括如下模块:
多媒体文件读取子模块,用于通过路径信息读取多媒体文件;
文件分离模块,用于通过传输流解复用器MPEG2TSExtractor对多媒体文件进行分离,获得视频数据流和音频数据流;
视频数据帧提取模块,用于通过视频轨道mVideoTrack从所述视频数据流中提取视频数据帧;
音频数据帧读取模块,用于通过音频轨道mAudioTrack从所述音频数据流中提取音频数据帧;
视频解码模块,用于通过视频解码器mVideoSource对所述视频数据帧进行解码;
音频解码模块,用于通过音频解码器mAudioSource对所述音频数据帧进行解码;
视频输出模块,用于通过视频渲染器mVideoRenderer输出将解码后的视频数据帧;
音频播放模块,用于通过音频播放mAudioPlayer播放解码后的音频数据帧。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种多媒体文件的播放方法和一种多媒体文件的播放装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种多媒体文件的播放方法,其特征在于,包括:
查找在先针对多个传输流TS格式的多媒体文件生成的配置文件;其中,所述配置文件用于控制多个多媒体文件的播放;
从所述配置文件中读取文件总信息和每个多媒体文件的文件子信息;所述文件总信息包括累加每个多媒体文件的时长信息获得的总时长信息和视频名称;所述文件子信息按照所述多媒体文件的名称配置中的时间信息排序,包括基于所述时间信息计算的时长信息;
按照文件总信息和每个多媒体文件的文件子信息调用播放器播放所述传输流TS格式的多媒体文件。
2.根据权利要求1所述的方法,其特征在于,
所述文件子信息还包括基于所述时间信息计算的路径信息;
所述文件总信息还包括累加每个多媒体文件的时长信息获得的视频画面大小。
3.根据权利要求1或2所述的方法,其特征在于,所述按照文件总信息和每个多媒体文件的文件子信息调用播放器播放所述传输流TS格式的多媒体文件的步骤包括:
将至少部分文件总信息发送至播放器进行初始化操作;
当初始化操作完成时,将第一个多媒体文件的路径信息发送至播放器,以调用播放器从所述路径信息读取多媒体文件进行播放。
4.根据权利要求3所述的方法,其特征在于,所述播放控制器将至少部分文件总信息发送至播放器进行初始化操作的步骤包括:
将总时长信息发送至播放器,以生成播放进度条;
和/或,
将视频名称发送至播放器进行展示;
和/或,
将视频画面大小中至播放器,以调整播放器的大小。
5.根据权利要求2所述的方法,其特征在于,所述按照文件总信息和每个多媒体文件的文件子信息调用播放器播放所述传输流TS格式的多媒体文件的步骤包括:
当接收到播放器发送的多媒体文件播放完毕的消息时,将下一个多媒体文件的路径信息发送至播放器,以调用播放器从所述路径信息读取多媒体文件进行播放。
6.根据权利要求2所述的方法,其特征在于,所述按照文件总信息和每个多媒体文件的文件子信息调用播放器播放所述传输流TS格式的多媒体文件的步骤包括:
接收播放器发送的定位操作消息;所述定位操作消息中包括位于总时长信息中的定位时间点;
查找所述定位时间点所属的多媒体文件;
计算所述定位时间点在所属的多媒体文件中的时长信息的时间偏移量;
将所述多媒体文件的路径信息和时间偏移量发送至播放器,以调用播放器从所述路径信息读取多媒体文件、从所述时间偏移量开始播放。
7.根据权利要求1或2或4或5或6所述的方法,其特征在于,所述按照文件总信息和每个多媒体文件的文件子信息调用播放器播放所述传输流TS格式的多媒体文件的步骤包括:
通过路径信息读取多媒体文件;
通过传输流解复用器MPEG2TSExtractor对多媒体文件进行分离,获得视频数据流和音频数据流;
通过视频轨道mVideoTrack从所述视频数据流中提取视频数据帧;
通过音频轨道mAudioTrack从所述音频数据流中提取音频数据帧;
通过视频解码器mVideoSource对所述视频数据帧进行解码;
通过音频解码器mAudioSource对所述音频数据帧进行解码;
通过视频渲染器mVideoRenderer输出将解码后的视频数据帧;
通过音频播放mAudioPlayer播放解码后的音频数据帧。
8.一种多媒体文件的播放装置,其特征在于,所述装置包括播放控制器、配置文件解析器和播放器:
其中,所述播放控制器包括:
配置文件查找模块,用于查找在先针对多个传输流TS格式的多媒体文件生成的配置文件;其中,所述配置文件用于控制多个多媒体文件的播放;
播放控制模块,用于按照文件总信息和每个多媒体文件的文件子信息调用播放器播放所述传输流TS格式的多媒体文件;所述文件总信息包括累加每个多媒体文件的时长信息获得的总时长信息和视频名称;所述文件子信息按照所述多媒体文件的名称配置中的时间信息排序,包括基于所述时间信息计算的时长信息;
所述配置文件解析器包括:
信息读取子模块,用于从所述配置文件中读取文件总信息和每个多媒体文件的文件子信息。
9.根据权利要求8所述的装置,其特征在于,
所述文件子信息还包括基于所述时间信息计算的路径信息;
所述文件总信息还包括累加每个多媒体文件的时长信息获得的视频画面大小。
10.根据权利要求8所述的装置,其特征在于,所述播放控制模块包括:
初始化子模块,用于将至少部分文件总信息发送至播放器进行初始化操作;
第一播放源设置子模块,用于在初始化操作完成时,将第一个多媒体文件的路径信息发送至播放器,以调用播放器从所述路径信息读取多媒体文件进行播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510449528.1A CN105049904B (zh) | 2015-07-27 | 2015-07-27 | 一种多媒体文件的播放方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510449528.1A CN105049904B (zh) | 2015-07-27 | 2015-07-27 | 一种多媒体文件的播放方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105049904A CN105049904A (zh) | 2015-11-11 |
CN105049904B true CN105049904B (zh) | 2019-05-31 |
Family
ID=54456029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510449528.1A Active CN105049904B (zh) | 2015-07-27 | 2015-07-27 | 一种多媒体文件的播放方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105049904B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108429931A (zh) * | 2017-02-14 | 2018-08-21 | 优酷网络技术(北京)有限公司 | 一种多媒体文件播放方法及装置 |
CN109587517B (zh) * | 2018-12-07 | 2022-02-18 | 咪咕视讯科技有限公司 | 一种多媒体文件的播放方法及装置、服务器及存储介质 |
CN110798731A (zh) * | 2019-11-15 | 2020-02-14 | 北京字节跳动网络技术有限公司 | 视频数据的处理方法、装置、电子设备及计算机可读介质 |
CN112312162B (zh) * | 2020-10-16 | 2022-11-08 | 安擎(天津)计算机有限公司 | 一种传输视频流的视频服务器 |
CN112383723B (zh) * | 2020-11-12 | 2023-05-26 | 云南腾云信息产业有限公司 | 一种视频切换方法、装置及计算机设备 |
CN112770174A (zh) * | 2020-12-30 | 2021-05-07 | 稿定(厦门)科技有限公司 | 视频文件抽流方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7116894B1 (en) * | 2002-05-24 | 2006-10-03 | Digeo, Inc. | System and method for digital multimedia stream conversion |
CN101202900A (zh) * | 2007-03-12 | 2008-06-18 | 深圳市同洲电子股份有限公司 | 一种数字电视直播与回放的切换方法及视频服务器 |
CN101951387A (zh) * | 2010-09-30 | 2011-01-19 | 海信集团有限公司 | 流媒体传输方法及装置 |
CN102413358A (zh) * | 2011-08-12 | 2012-04-11 | 青岛海信传媒网络技术有限公司 | 流媒体文件存储和播放的方法、装置及*** |
CN104410930A (zh) * | 2014-11-07 | 2015-03-11 | 青岛海信宽带多媒体技术有限公司 | 一种传输流ts媒体文件播放速度的控制方法及装置 |
CN104702978A (zh) * | 2015-03-18 | 2015-06-10 | 青岛海信宽带多媒体技术有限公司 | 一种视频数据定位的方法及网络播放设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080250101A1 (en) * | 2007-04-05 | 2008-10-09 | Matsushita Electric Industrial Co., Ltd. | Multimedia data transmitting apparatus and multimedia data receiving apparatus |
-
2015
- 2015-07-27 CN CN201510449528.1A patent/CN105049904B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7116894B1 (en) * | 2002-05-24 | 2006-10-03 | Digeo, Inc. | System and method for digital multimedia stream conversion |
CN101202900A (zh) * | 2007-03-12 | 2008-06-18 | 深圳市同洲电子股份有限公司 | 一种数字电视直播与回放的切换方法及视频服务器 |
CN101951387A (zh) * | 2010-09-30 | 2011-01-19 | 海信集团有限公司 | 流媒体传输方法及装置 |
CN102413358A (zh) * | 2011-08-12 | 2012-04-11 | 青岛海信传媒网络技术有限公司 | 流媒体文件存储和播放的方法、装置及*** |
CN104410930A (zh) * | 2014-11-07 | 2015-03-11 | 青岛海信宽带多媒体技术有限公司 | 一种传输流ts媒体文件播放速度的控制方法及装置 |
CN104702978A (zh) * | 2015-03-18 | 2015-06-10 | 青岛海信宽带多媒体技术有限公司 | 一种视频数据定位的方法及网络播放设备 |
Non-Patent Citations (2)
Title |
---|
Android多媒体框架下Stagefright的功能扩展;温伟;《太赫兹科学与电子信息学报》;20131030(第5期);全文 |
MPEG-2传输流解复用器的设计与实现;高鹏;《计算机工程与应用》;20060511;第42卷(第9期);全文 |
Also Published As
Publication number | Publication date |
---|---|
CN105049904A (zh) | 2015-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105049920B (zh) | 一种多媒体文件的录制方法和装置 | |
CN105049904B (zh) | 一种多媒体文件的播放方法和装置 | |
TWI679885B (zh) | 用於產生媒體資料的方法及設備 | |
TW201838419A (zh) | 包含用於視頻寫碼之子圖像位元流之視頻內容之信令傳輸 | |
TWI699115B (zh) | 用於視訊之改良式限制方案設計 | |
US10978109B2 (en) | Synchronously playing method and device of media file, and storage medium | |
CN102291580B (zh) | 基于Android***的视频传输方法 | |
WO2020155964A1 (zh) | 音视频的切换方法、装置、计算机设备及可读存储介质 | |
US11695932B2 (en) | Temporal alignment of MPEG and GLTF media | |
JP2007012112A (ja) | データ記録装置及びその方法、プログラム、記録媒体 | |
CN111669645B (zh) | 视频的播放方法、装置、电子设备及存储介质 | |
KR20230028291A (ko) | 장면 설명들을 사용하는 미디어 액세스 | |
KR20090041772A (ko) | 미디어 플레이어에서 미디어 객체 처리 방법 및 그 장치 | |
WO2023207119A1 (zh) | 沉浸媒体的处理方法、装置、设备及存储介质 | |
CN102819851B (zh) | 一种有声图片的计算机实现方法 | |
US8688737B2 (en) | Method and apparatus for generating and reproducing media object-based metadata | |
KR20140117889A (ko) | 클라이언트 장치, 서버 장치, 멀티미디어 리디렉션 시스템 및 그 방법 | |
CN103152607A (zh) | 视频超快速粗编方法 | |
CN110999309A (zh) | 生成装置、再现装置、生成方法、再现方法、控制程序、记录介质 | |
KR102391755B1 (ko) | 정보 처리 장치 및 정보 처리 방법 | |
CN114125550B (zh) | 一种视频处理方法、装置、设备及可读存储介质 | |
CN115086282A (zh) | 一种视频播放方法、设备及存储介质 | |
CN117914834A (zh) | 一种多媒体文件的播放方法、装置和电子设备 | |
CN117241062A (zh) | 一种视频合成方法、装置、存储介质和电子设备 | |
CN117692681A (zh) | 视频流播放方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11 Patentee after: Qingdao Hisense Mobile Communication Technology Co.,Ltd. Address before: 266071 No. 11 Jiangxi Road, Shinan District, Qingdao, Shandong Province Patentee before: HISENSE MOBILE COMMUNICATIONS TECHNOLOGY Co.,Ltd. |