CN102510519A - 流媒体数据的处理方法、播放方法以及装置 - Google Patents

流媒体数据的处理方法、播放方法以及装置 Download PDF

Info

Publication number
CN102510519A
CN102510519A CN2011103064001A CN201110306400A CN102510519A CN 102510519 A CN102510519 A CN 102510519A CN 2011103064001 A CN2011103064001 A CN 2011103064001A CN 201110306400 A CN201110306400 A CN 201110306400A CN 102510519 A CN102510519 A CN 102510519A
Authority
CN
China
Prior art keywords
container file
original
file
new container
medium data
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
Application number
CN2011103064001A
Other languages
English (en)
Inventor
杜春华
周剑辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Digital Technologies Chengdu Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2011103064001A priority Critical patent/CN102510519A/zh
Publication of CN102510519A publication Critical patent/CN102510519A/zh
Priority to PCT/CN2012/079615 priority patent/WO2013053259A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种流媒体数据的处理方法、播放方法以及装置,用以解决现有技术将输入的原始容器文件转换为统一格式的新容器文件的过程中,处理过程复杂,占用处理资源较多的问题。该方法包括:接收输入的原始容器文件,所述原始容器文件中包含原始媒体数据流;从所述原始容器文件中解析出每一帧流媒体数据,并获得该帧流媒体数据在所述原始容器文件中的偏移位置;将所述每一帧流媒体数据、以及该帧流媒体数据在所述原始容器文件中的偏移位置写入新容器文件的载荷部分;在新容器文件的文件头中写入该新容器文件的元数据,以及所述原始容器文件中原始媒体数据流的元数据。简化了转换过程中处理的复杂性,提高了转换效率。

Description

流媒体数据的处理方法、播放方法以及装置
技术领域
本发明涉及多媒体技术领域,尤其涉及一种流媒体数据的处理方法、一种流媒体数据的播放方法、一种流媒体数据的下载方法、一种流媒体数据的处理装置和一种流媒体数据的下载装置。
背景技术
流媒体数据包括视频数据和音频数据。为了解决将不同数据格式的媒体数据流存储在一个文件中,现有技术提出了容器(Container)的概念。容器是指为了便于视频数据和音频数据的存储而提出的一种文件格式,例如常见的音频视频交错格式(AVI,Audio Video Interleaved)、MP4(MPEG-4Part 14)、MKV(Matroska)、REAL VIDEO等等。一个容器可以兼容多种不同数据格式的视频数据流和音频数据流。
容器文件中除了携带视频数据流和音频数据流之外,还在文件头中携带有容器源信息和媒体流管理信息,其中容器源信息是对该容器文件描述信息,即该容器文件的元数据,例如该容器文件的大小、格式、生成时间等等;媒体流管理信息是对该容器文件所包含的视频和/或音频数据流的描述信息,即该容器文件中媒体数据流的元数据,例如视频或音频数据流的数据格式。
视频网站或者视频库服务器为了减少开发成本、使用成本和维护成本,提出了将输入的原始容器文件、以及原始容器文件中的媒体数据流处理为统一格式的容器文件和媒体数据流的要求。
为满足上述要求,现有的处理流程为:接收输入的原始容器文件;根据原始容器文件中的视频或音频数据流的数据格式,对其中的视频或音频数据进行解码;按照预定统一的视频或音频数据格式,将解码获得的数据重新编码为视频或音频数据流;将重新编码获得的视频或音频数据流再封装为预定统一的容器格式的容器文件。
发明人在实现本发明的过程中,发现现有技术至少存在以下问题:在将原始容器中的视频数据流或音频数据流处理为预定统一的视频或音频数据格式的过程中,需要经过解码和编码两个阶段,而不同格式的视频数据流或音频数据流解码和播放的处理流程都存在差异,在原始容器文件中的视频数据或音频数据格式较为复杂的情况下,上述处理过程将会占用***大量的处理资源,并且处理时间也较长。
发明内容
本发明实施例提供一种流媒体数据的处理方法,用以解决现有技术将输入的原始容器文件转换为统一格式的新容器文件的过程中,处理过程复杂,占用处理资源较多的问题。
对应地,本发明实施例还提供了一种流媒体数据的播放方法、一种流媒体数据的下载方法、一种流媒体数据的处理装置、一种流媒体客户端和一种流媒体服务器。
本发明实施例提供的技术方案如下:
一种流媒体数据的处理方法,包括:
接收输入的原始容器文件,所述原始容器文件中包含原始媒体数据流;
从所述原始容器文件中解析出每一帧流媒体数据,并获得该帧流媒体数据在所述原始容器文件中的偏移位置;
将所述每一帧流媒体数据、以及该帧流媒体数据在所述原始容器文件中的偏移位置写入新容器文件的载荷部分;
在新容器文件的文件头中写入该新容器文件的元数据,以及所述原始容器文件中原始媒体数据流的元数据。
一种流媒体数据的播放方法,包括:
向流媒体服务器发送在线播放请求,所述在线播放请求中携带新容器文件的标识;
接收返回的新容器文件的文件头和索引列表,所述索引列表包含至少一个关键帧的流媒体数据在所述新容器文件中的偏移位置、各关键帧在原始容器文件所包含的原始媒体数据流中的播放时间;
根据所述索引列表中各关键帧的播放时间,选择其中一个关键帧的播放时间;
从所述索引列表中,查找到选择出的关键帧的播放时间对应的关键帧在所述新容器文件中的偏移位置;
向所述流媒体服务器发送数据获取请求,所述数据获取请求携带查找到的偏移位置,用于获取以该偏移位置为起始点,至少1帧的流媒体数据;
根据所述文件头中的数据格式,播放流媒体服务器返回的流媒体数据。
一种流媒体数据的播放方法,包括:
接收流媒体客户端发送的在线播放请求,所述在线播放请求中携带新容器文件的标识;
发送所述新容器文件的标识对应的新容器文件的文件头和索引列表,所述索引列表包含关键帧的流媒体数据在所述新容器文件中的偏移位置和关键帧在原始容器文件所包含的原始媒体数据流中的播放时间;
接收数据获取请求,所述数据获取请求中携带有偏移位置,该偏移位置是所述流媒体客户端根据所述索引列表确定出的一个关键帧的流媒体数据在所述新容器文件中的偏移位置;
根据所述获取请求中的偏移位置,向流媒体客户端返回新容器文件中以该偏移位置为起始点,至少1帧的流媒体数据。
一种流媒体数据的下载方法,包括:
流媒体服务器接收流媒体客户端发送的下载请求,所述下载请求中携带新容器文件的标识;
流媒体服务器根据所述新容器文件的标识对应的新容器文件中,每帧流媒体数据在原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件;
流媒体服务器将所述还原的容器文件发送给所述流媒体客户端。
一种流媒体数据的下载方法,包括:
流媒体服务器接收流媒体客户端发送的下载请求,所述下载请求中携带新容器文件的标识;
判断所述新容器文件标识对应的新容器文件中是否包含原始容器文件;
若是,从所述新容器文件中读取原始容器文件,并将所述原始容器文件发送给流媒体客户端;
否则,流媒体服务器根据所述新容器文件的标识对应的新容器文件中,每帧流媒体数据在原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件;将所述还原的容器文件发送给所述流媒体客户端。
一种流媒体数据的处理装置,包括:
第一接收单元,用于接收输入的原始容器文件,所述原始容器文件中包含原始媒体数据流;
解析单元,用于从所述原始容器文件中解析出每一帧流媒体数据,并获得该帧流媒体数据在所述原始容器文件中的偏移位置;
第一写入单元,用于将所述每一帧流媒体数据、以及该帧流媒体数据在所述原始容器文件中的偏移位置写入新容器文件的载荷部分;
第二写入单元,用于在新容器文件的文件头中写入该新容器文件的元数据,以及所述原始容器文件中原始媒体数据流的元数据。
一种流媒体客户端,包括:
第一发送单元,用于向流媒体服务器发送在线播放请求,所述在线播放请求中携带新容器文件的标识;
第二接收单元,用于接收返回的新容器文件的文件头和索引列表,所述索引列表包含至少一个关键帧的流媒体数据在所述新容器文件中的偏移位置、各关键帧在原始容器文件所包含的原始媒体数据流中的播放时间;
选择单元,用于根据第二接收单元接收的所述索引列表中各关键帧的播放时间,选择其中一个关键帧的播放时间;
查找单元,用于从所述索引列表中,查找到选择单元选择出的关键帧的播放时间对应的关键帧在所述新容器文件中的偏移位置
第二发送单元,用于向所述流媒体服务器发送数据获取请求,所述数据获取请求携带查找到的偏移位置,用于获取以该偏移位置为起始点,至少1帧的流媒体数据;
播放单元,用于根据第二接收单元接收到的所述文件头中的数据格式,播放流媒体服务器返回的流媒体数据。
一种流媒体服务器,包括:
第三接收单元,用于接收流媒体客户端发送的在线播放请求,所述在线播放请求中携带新容器文件的标识;
第三发送单元,用于发送所述新容器文件的标识对应的新容器文件的文件头和索引列表,所述索引列表包含关键帧的流媒体数据在所述新容器文件中的偏移位置和关键帧在原始容器文件所包含的原始媒体数据流中的播放时间;
第四接收单元,用于接收数据获取请求,所述数据获取请求中携带有偏移位置,该偏移位置是所述流媒体客户端根据所述索引列表确定出的一个关键帧的流媒体数据在所述新容器文件中的偏移位置;
第四发送单元,用于根据所述获取请求中的偏移位置,向流媒体客户端返回以该偏移位置为起始点,至少1帧的流媒体数据。
一种流媒体服务器,包括:
第五接收单元,用于接收流媒体客户端发送的下载请求,所述下载请求中携带新容器文件的标识;
第二还原单元,用于根据所述新容器文件的标识对应的新容器文件中,每帧流媒体数据在原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件;
第五发送单元,用于将所述第二还原单元还原的容器文件发送给所述流媒体客户端。
一种流媒体服务器,包括:
第五接收单元,用于接收流媒体客户端发送的下载请求,所述下载请求中携带新容器文件的标识;
判断单元,用于判断第五接收单元接收到得所述新容器文件标识对应的新容器文件中是否包含原始容器文件;
读取单元,用于判断单元判断出包含原始容器文件时,从所述新容器文件中读取原始容器文件,触发第五发送单元将读取的原始容器文件发送给流媒体客户端;
第二还原单元,用于判断单元判断出未包含原始容器文件时,根据所述新容器文件的标识对应的新容器文件中,每帧流媒体数据在原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件;触发第五发送单元将还原的容器文件发送给所述流媒体客户端。
本发明实施例提供的流媒体数据的处理方案,在将输入的原始容器文件转换为统一格式的新容器文件的过程中,在新容器文件中写入码流分析器解析出的每一帧流媒体数据、以及该帧流媒体数据在所述原始容器文件中的偏移位置。从而无需对原始流媒体文件中的流媒体数据进行解码以及重新编码,就可以将原始容器文件转换为新的容器文件,如果对多个不同格式的原始容器进行这种转换,就可以将它们转换成统一格式的新容器文件,简化了转换过程中处理的复杂性,提高了转换效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术将容器文件处理为统一格式时的处理流程示意图;
图2为本发明实施例的主要实现原理流程图;
图3为本发明实施例提供的流媒体数据处理方法的流程图;
图4a为本发明实施例提供的新容器文件的第一种格式示意图;
图4b为本发明实施例提供的新容器文件的第二种格式示意图;
图4c为本发明实施例提供的新容器文件的第三种格式示意图;
图5为本发明实施例提供的流媒体数据的在线播放方法的流程图;
图6为本发明实施例提供的另一种流媒体数据在线播放方法的流程图;
图7a为本发明实施例提供的流媒体数据的下载方法的流程图;
图7b为本发明实施例提供的另一种流媒体数据的下载方法的流程图;
图8为本发明实施例提供的流媒体数据的处理装置的结构示意图;
图9为本发明实施例提供的流媒体客户端的结构意图;
图10为本发明实施例提供的流媒体服务器的结构示意图;
图11a为本发明实施例提供流媒体服务器的一种结构示意图;
图11b为本发明实施例中提供流媒体服务器的另一种结构示意图。
具体实施方式
附图1为现有技术中视频网站或者视频库对流媒体数据的处理流程示意图,要经过解码和编码两个阶段,将流媒体数据封装为预定统一的容器格式的容器文件后,基于该预定统一的容器格式的容器文件进行流媒体在线播放和下载。
由于现有技术在将原始容器文件、以及原始容器文件中的媒体数据流处理为统一格式的容器文件和媒体数据流的过程中需要经过解码和编码两个阶段,除了会占用***大量的处理资源、延长处理时间之外,由于重新封装时只保留了视频数据和音频数据,丢失了原始容器文件中的媒体流管理信息等其他信息,因此无法还原出原始容器文件,在需要原始容器文件作为证据的场景下将无法满足要求。
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
如图2所示,本发明实施例的主要实现原理流程如下:
步骤10,接收输入的原始容器文件,所述原始容器文件中包含原始媒体数据流;原始媒体数据流可以为音频流、视频流等等。
步骤20,从所述原始流媒体文件中解析出每一帧流媒体数据,并获得该帧流媒体数据在所述原始容器文件中的偏移位置;
步骤30,将所述每一帧流媒体数据、以及该帧流媒体数据在所述原始容器文件中的偏移位置写入新容器文件的载荷部分;
步骤40,在新容器文件的文件头中写入该新容器文件的元数据,以及所述原始容器文件中原始媒体数据流的元数据。
下面将依据本发明上述发明原理,详细介绍几个实施例来对本发明方法的主要实现原理进行详细的阐述和说明。
实施例一
如附图3所示,本实施例提供了一个具体实例,对附图2所示的流媒体数据的处理原理进行详细说明。在本实施例中,为简明起见,具体实例仅以原始容器文件中的原始视频流为例进行说明,对其他类型以数据帧的方式存储的媒体流,如音频流等,可以采用类似原理进行处理。
步骤301,流媒体服务器接收输入的原始容器文件。
本实施例中原始容器文件可以是用户上传的容器文件、或者是具有摄像功能的视频采集设备或/和具有录音功能的音频采集设备(如摄像头、数码摄像机、录音笔)生成的容器文件、也可以是流媒体处理软件生成的容器文件。该原始容器文件中包含原始视频流。
步骤302,触发对所示原始容器文件中原始视频流的数据格式进行探测。
码流分析器是一种现有的视频分析软件,用于对输入的数据进行格式检查,输出每帧流媒体数据和每帧流媒体数据在原始容器文件中的偏移位置,如每帧视频数据在原始容器文件中的偏移位置、每帧音频数据在原始容器文件中的偏移位置。码流分析器由若干码流分析模块组成,每个码流分析模块可以分析对应的一种格式的数据。
可以依次调用码流分析器中的各码流分析模块,尝试解析原始容器文件中起始部分的少量数据,解析结果中包含数据格式。当遇到第一个码流分析器的解析结果中包含可识别的数据格式时,探测就可以结束。
步骤303,根据探测结果,判断是否支持原始视频流的数据格式,若支持,则进入步骤304,否则处理结束。
若依次调用了所***流分析模块后,从解析结果中均无法给出可识别的数据格式时,说明不支持原始视频流的数据格式。
若任意一个码流分析模块的解析结果中包含可识别的数据格式,则说明支持原始视频流的数据格式。
步骤304,支持所述原始视频流的数据格式时,调用对应的码流分析模块,对所述原始容器文件进行数据帧解析,解析出每一帧视频数据,并获得该帧视频数据在所述原始容器文件中的偏移位置。
步骤305,将所述每一帧视频数据、以及该帧视频数据在所述原始容器文件中的偏移位置写入一个新容器文件。
在新容器文件中写入的每帧视频数据、以及该帧视频数据在所述原始容器文件中的偏移位置的目的,是用于后续在流媒体客户端请求下载视频文件时,生成还原的容器文件提供给流媒体客户端。
步骤306,写入该新容器文件中的文件头,从而生成新容器文件。
具体地,在新容器文件的文件头中写入该新容器文件的元数据,以及所述原始容器文件中原始视频流的元数据。新容器文件的元数据包括该新容器文件的标识,还可以包含生成时间、版本号、大小等其他信息。新容器文件的标识是流媒体服务器按照预定的命名规则,为该新容器文件确定出的,在一个流媒体服务器上的每个新容器文件的标识是唯一的,可以用于区分同一个流媒体服务器上的其他新容器文件。
原始视频流的元数据包括原始视频流的数据格式,可选地还可以包含提供商、视频开始时间和持续时间等等其他信息。
可选地,新容器文件的格式如图4a所示,其中文件头中还包含媒体流偏移位置,在本实施例中为视频流偏移位置,视频流偏移位置是指在整个文件中视频流初始的位置相对于整个文件初始位置的偏移量,视频流中包含步骤305写入的每帧视频数据(包含帧头信息)、每帧在所述原始容器文件中的偏移位置。可选地,文件头中还可以预留一些地址空间,以便后续扩展使用,预留地址空间的大小可以根据经验设定,如12字节、24字节等等。
通过上述步骤,在由原始容器文件转换为一个统一格式的新容器文件的过程中,没有对原始视频流进行解码以及重新编码,从而提高了转换效率。
可选地,为了能够便于用户通过流媒体客户端实现线播放功能时,能够进行播放进程的拖拽,而不是只能被动地接收流媒体服务器顺序下发的各帧的视频数据进行顺序播放,在执行步骤305之后,还包括:
步骤307,记录关键帧的视频数据在新容器文件中的偏移位置,获得关键帧的播放时间戳,该时间戳是指该关键帧在原始容器文件所包含的原始视频流中的播放时间,所述关键帧在原始视频流中的播放时间是码流分析器步骤304中解析获得的。
关键帧又被称为I帧(intra picture),是指在一组连续的画面(GOP,groupof picture)中的第一个帧,现有视频文件的不同数据格式对GOP分别给出了定义,在这里不再详述。关键帧经过适度压缩后,可作为随机访问的参考点。
关键帧的视频数据在所述新容器文件中的偏移位置是指,以新容器文件存储位置的起始点为基准,关键帧的视频数据在写入时的偏移位置。
关键帧在原始视频流中的播放时间是指,以整个原始视频流播放的起始点为基准,各帧顺序播放的情况下,关键帧播放的时间点。
步骤308,根据所述关键帧的视频数据在所述新容器文件中的偏移位置、关键帧在原始视频流中的播放时间,生成关键帧的索引列表;
索引列表包含关键帧的视频数据在所述新容器文件中的偏移位置和对应的该关键帧在原始视频流中的播放时间。表1为索引列表的一个实例。
表1
Figure BDA0000097813350000111
步骤309,将所述索引列表写入新容器文件中。
具体地,可以有多种写入方式,例如将索引列表写入新容器文件中第一预定偏移位置上,例如写入相对于整个文件初始位置,偏移量为1M字节的偏移位置上,或写入所述预留地址空间中偏移量为10字节的偏移位置上等等,在读取索引列表时,从所述第一预定偏移位置上读取即可;或者将索引列表写入新容器文件载荷部分中的任意空闲可用位置上,且将写入索引列表的偏移位置存储在新容器文件的文件头预留地址空间中的第二预定偏移位置的字段中(即在第二预定偏移位置的字段中存储指向索引列表的指针),在读取索引列表时,先从所述文件头预留地址空间中的第二预定偏移位置的字段中读取索引列表的偏移位置,再根据索引列表的偏移位置从容器文件中读取索引列表,采用该方案时,新容器文件的格式如附图4b所示。当然存储结构的设计可以灵活多变,这里不再一一列举。
步骤307~步骤309可以与步骤305并行执行,无先后顺序限定。
可选地,上述步骤305中在新容器文件中写入的每帧视频数据、以及该帧视频数据在所述原始容器文件中的偏移位置的目的是用于在流媒体客户端请求下载视频文件时,生成还原的容器文件提供给流媒体客户端(具体请参照实施例三中的介绍)。但是由于一些数据格式(如私有数据格式)的流媒体文件无法通过该方案得到还原的容器文件,例如一些私有格式的视频数据在码流分析器分析出每帧视频数据和该帧在原始视频容器文件中的偏移位置时,可能会出现数据丢失和差错,因此在步骤306生成新容器文件之后,还包括以下步骤:
步骤310,根据所述新容器文件中,每帧视频数据在所述原始容器文件中的偏移位置,将该帧视频数据写入一个文件中,直到写入每帧视频数据为止,从而生成还原的容器文件。
步骤311,通过不可逆加密算法,获得唯一标识所述还原的容器文件内容的第一信息摘要值。
例如,采用第五版消息摘要算法(MD5,Message Digest Algorithm 5)对所述还原的视频容器文件的内容进行计算,获得第一哈希值作为第一信息摘要值;或者采用安全散列算法(SHA,The Secure Hash Algorithm),对所述还原的视频容器文件的内容进行计算,获得第一散列值作为第一信息摘要值。
步骤312,通过所述不可逆加密算法,获得唯一标识所述原始容器文件内容的第二信息摘要值。
步骤313,比较所述第一信息摘要值和第二信息摘要值是否一致,若一致则整个处理流程结束,否则执行步骤314;
步骤314,将所述原始容器文件的内容写入新容器文件、且同时记录所述原始视频文件写入新容器文件时的存储位置。
与步骤309中存储索引列表的方式相类似,可以将原始容器文件的内容写入新容器文件中第三预定偏移位置上,在读取原始容器文件时,直接从所述第三预定偏移位置上读取即可;也可以将原始容器文件写入新容器文件中的任意空闲可用位置上,且将写入原始容器文件的偏移位置存储在所述预留地址空间中的第四预定偏移位置的字段中,在读取原始容器文件时,先从所述预留地址空间中的第四预定偏移位置的字段中读取原始容器文件的偏移位置,再根据原始容器文件的偏移位置从新容器文件中读取原始容器文件,采用该方案时,新容器文件的格式如附图4c所示。
需要说明的是,附图3的执行主体除了为流媒体服务器之外,还可以是视频网站服务器、或者视频数据库服务器等等。各步骤中出现的“第一信息摘要值”、“第二信息摘要值”并不是表示顺序关系,而是为了区别不同的信息摘要值,同理,“第一预定偏移位置”和“第二预定偏移位置”等也不是表示顺序关系,而是为了区别不同的偏移位置。以下文件中提到的第一、第二等也是为了区别不同的模块、单元等。
本发明实施例提供的流媒体数据的处理方案,在将输入的原始容器文件转换为统一格式的新容器文件的过程中,在新容器文件中写入码流分析器解析出的每一帧流媒体数据、以及该帧流媒体数据在所述原始容器文件中的偏移位置。无需对原始容器文件中的流媒体数据进行解码以及重新编码,简化了转换过程中处理的复杂性,提高了转换效率,并且能兼容多种标准或私有格式的流媒体数据。
并且按照现有技术,无法根据处理后统一格式的容器文件还原出原始流媒体文件,而按照本方案提供的处理方案,能够根据转换后得到的统一格式的容器文件,还原出原始流媒体文件,尤其适用于需要原始容器文件作为证据的场景。
实施例二
在本实施例中将对流媒体数据的在线播放方法进行描述,该在线播放方法是基于实施例一所提供的处理方法生成的新容器文件而进行的。
附图5为本发明实施例提供的流媒体数据在线播放方法的流程图,附图5从流媒体客户端的角度,以视频数据为例,对在线播放方法进行描述。该方法同样适用于除视频数据之外的其他类型的流媒体数据,如音频数据。
步骤501,流媒体客户端向流媒体服务器发送在线播放请求,所述在线播放请求中携带用户选中的新容器文件的标识。
用户可以通过流媒体客户端访问流媒体服务器,并获得流媒体服务器通过网顺等多种展示的该流媒体服务器能够提供的各容器文件的标识,以及对应的内容介绍,基于此选择自己感兴趣的容器文件的标识。
步骤502,流媒体客户端接收流媒体服务器返回的所述新容器文件的文件头和索引列表,所述索引列表包含至少一个关键帧的流媒体数据在所述新容器文件中的偏移位置、和各关键帧在原始媒体数据流中的播放时间。
所述文件头中包含原始容器文件所包含的原始媒体数据流的数据格式。
步骤503,流媒体客户端根据所述索引列表中各关键帧在原始媒体数据流中的播放时间,选择其中一个关键帧的播放时间。
可选地,流媒体客户端可以根据容器文件头中的视频持续时间,和索引列表中关键帧的播放时间,将整个视频的播放时间和关键帧的播放时间以进度条等直观的形式展示给用户,用户据此选择其中的某个关键帧的播放时间输入给流媒体客户端。例如,本实施例中选择表1中第3个关键帧的播放时间00:00:04。
步骤504,流媒体客户端从所述索引列表中,查找到选择出的关键帧的播放时间对应的关键帧在所述新容器文件中的偏移位置。
例如,在步骤503中选择第3个关键帧的播放时间00:00:04,通过查找索引列表可以获得第3个关键帧在新容器文件中的偏移位置2147200。
步骤505,流媒体客户端向所述流媒体服务器发送数据获取请求,所述数据获取请求携带查找到的偏移位置,用于获取以该偏移位置为起始点,至少1帧的视频数据。
可选地,获取请求中还可以携带偏移量信息,用于获得以所述查找到的偏移位置为起始点,长度为该偏移量的所有流媒体数据,例如一次获得选择的关键帧后10帧的流媒体数据。当然,该获取请求还可以请求获得选择的关键帧后的所有流媒体数据,流媒体数据的获取方式可以灵活设置。
步骤506,流媒体客户端接收所述流媒体服务器对应返回的流媒体数据,并根据所述文件头中的流媒体数据格式,播放接收到的流媒体数据。
附图6为本发明实施例提供的流媒体数据在线播放方法的流程图,附图6从流媒体服务器的角度对在线播放方法进行描述。
步骤601,流媒体服务器接收流媒体客户端发送的在线播放请求,所述在线播放请求中携带新容器文件的标识;
步骤602,流媒体服务器根据所述新容器文件的标识,查找到对应的新容器文件;
步骤603,流媒体服务器发送所述新容器文件的文件头和索引列表,所述索引列表包含关键帧的流媒体数据在所述新容器文件中的偏移位置和关键帧在原始容器文件所包含的原始媒体数据流中的播放时间;
步骤604,流媒体服务器接收数据获取请求,所述数据获取请求中携带有偏移位置,该偏移位置是所述流媒体客户端根据所述索引列表确定出的一个关键帧的流媒体数据在所述新容器文件中的偏移位置;
步骤605,流媒体服务器根据所述获取请求中的偏移位置,向流媒体客户端返回新容器文件中以该偏移位置为起始点,至少1帧的流媒体数据。
流媒体服务器可以向流媒体客户端返回该偏移位置上关键帧的流媒体数据,也可以返回以该偏移位置为起始点、之后10帧的流媒体数据,或者返回以该偏移位置为起始点,之后所有的流媒体数据,具体可以根据获取请求中的其他信息来确定。新容器文件的存储格式可以参照附图4a、附图4b或附图4c的描述。
本发明实施例提供了一种流媒体数据的在线播放方法,该方法基于实施例一中提供的新容器文件。用户在请求进行在线视频播放时,流媒体客户端向流媒体服务器请求下载容器文件的文件头和索引列表,并根据索引列表确定待下载视频数据在新容器文件中的偏移地址,将确定出的偏移地址发送给流媒体服务器,根据所述文件头中的数据格式,播放流媒体服务器返回的流媒体数据,从而实现播放视频时灵活拖动的效果。
实施例三
本实施例中将对流媒体数据的下载方法进行描述,该在线播放方法是基于实施例一所提供的处理方法生成的新容器文件而进行的。
附图7a为本发明实施例提供的流媒体数据的下载方法的流程图,附图7从流媒体服务器的角度对下载方法进行描述。
步骤701,流媒体服务器接收流媒体客户端发送的下载请求,所述下载请求中携带新容器文件的标识;
步骤702,流媒体服务器查找到所述新容器文件标识对应的新容器文件;
步骤703,流媒体服务器根据所述新容器文件中,每帧流媒体数据在原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件;
步骤704,流媒体服务器将所述还原的容器文件发送给所述流媒体客户端。
当个别数据格式的视频文件采用上述步骤703的方法无法得到还原的容器文件,且容器文件中存储有原始容器文件时(例如,采用附图4c所示的存储方式),可以对附图7a所示的流程进行改进,改进后的流媒体数据下载方法的流程图如附图7b所示,其中步骤711~步骤712与附图7a中的步骤701~步骤702类似:
步骤711,流媒体服务器接收流媒体客户端发送的下载请求,所述下载请求中携带新容器文件的标识;
步骤712,流媒体服务器查找到所述新容器文件标识对应的新容器文件;
步骤713,流媒体服务器判断所述新容器文件中是否包含原始容器文件,若包含原始容器文件,则进入步骤714;若未包含原始容器文件,则进入步骤715。
具体地,流媒体服务器判断是否包含原始容器文件的方式与原始容器文件在新容器文件中的存储方式有关。如果采用附图4c所示的方式存储,则流媒体服务器先读取文件头预留地址空间中第四预定偏移位置的字段中的内容,若能够读取到有效的原始容器文件的偏移位置,则根据读取到得偏移位置从新容器文件载荷部分读取原始容器文件。
所述第四预定偏移位置上未写入原始容器文件的偏移位置时,被设置为无效内容,例如全零。
步骤714,流媒体服务器从所述新容器文件中读取原始容器文件,将读取的原始容器文件发送给所述流媒体客户端。
具体的读取方式与容器文件中原始容器文件的存储方式相关,请参照实施例一步骤314中的介绍,在这里不再重复。
例如,新容器文件中原始容器文件为fileFlash.mp4,则将读取的原始流媒体文件fileFlash.mp4发送给所述流媒体客户端。
步骤715,流媒体服务器根据所述新容器文件中每帧流媒体数据在所述原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件。
例如,还原的容器文件为reverfile.mp4。
步骤716,流媒体服务器将所述还原的容器文件发送给所述流媒体客户端。例如,将还原的容器文件reverfile.mp4发送给所述流媒体客户端。
本发明实施例在用户请求下载视频文件时,根据容器文件中每帧视频数据在原始容器文件中的偏移位置、及每帧视频数据,还原出容器文件,并将还原的容器文件提供给用户。而不是像现有技术一样将统一格式的容器文件提供给用户。避免了解码、及重新编码带来的视频信息损失和误差,能够实现更佳的显示效果。
相应地,本发明实施例还提供了一种流媒体数据的处理装置,如图8所示,该装置包括第一接收单元801、解析单元802、第一写入单元803、第二写入单元804,具体如下:
第一接收单元801,用于接收输入的原始容器文件,所述原始容器文件中包含原始媒体数据流;
解析单元802,用于从所述原始容器文件中解析出每一帧流媒体数据,并获得该帧流媒体数据在所述原始容器文件中的偏移位置;
第一写入单元803,用于将所述每一帧流媒体数据、以及该帧流媒体数据在所述原始容器文件中的偏移位置写入新容器文件的载荷部分;
第二写入单元804,用于在新容器文件的文件头中写入该新容器文件的元数据,以及所述原始容器文件中原始媒体数据流的元数据。
可选地,为了能够实现在线播放时,播放进程拖曳的功能,附图8中的装置还包括:
获取单元805,用于获得关键帧的索引列表,所述索引列表包含至少一个关键帧的流媒体数据在所述新容器文件中的偏移位置、各关键帧在原始媒体数据流中的播放时间;所述关键帧是指一组连续画面中的第一个帧,作为随机访问的参考点;所述关键帧在原始媒体数据中的播放时间是解析获得的;
第三写入单元806,用于将获取单元805获取的索引列表写入新容器文件中。
可选地,为了避免个别格式的流媒体数据在还原原始容器文件时出现问题,附图8中的装置还包括:
第一还原单元807,用于在第二写入单元804写入后,根据所述新容器文件中每帧流媒体数据在所述原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件;
摘要值生成单元808,用于通过不可逆加密算法,获得唯一标识第一还原单元807生成的所述还原的容器文件内容的第一信息摘要值、以及唯一标识所述原始容器文件内容的第二信息摘要值;
比较单元809,用于比较所述第一信息摘要值和第二信息摘要值是否一致;
第四写入单元810,用于在比较单元809的比较结果不一致时,将所述原始容器文件的内容写入新容器文件、且同时记录所述原始容器文件写入新容器文件时的存储位置。
请参照附图9,本发明实施例还提供了一种流媒体数据的在线播放装置,可以集成于流媒体客户端中,包括:
第一发送单元901,用于向流媒体服务器发送在线播放请求,所述在线播放请求中携带新容器文件的标识;
第二接收单元902,用于接收返回的新容器文件的文件头和索引列表,所述索引列表包含至少一个关键帧的流媒体数据在所述新容器文件中的偏移位置、各关键帧在原始容器文件所包含的原始媒体数据流中的播放时间;
选择单元903,用于根据第二接收单元902接收的所述索引列表中各关键帧的播放时间,选择其中一个关键帧的播放时间;
查找单元904,用于从所述索引列表中,查找到选择单元902选择出的关键帧的播放时间对应的关键帧在所述新容器文件中的偏移位置
第二发送单元905,用于向所述流媒体服务器发送数据获取请求,所述数据获取请求携带查找单元904查找到的偏移位置,用于获取以该偏移位置为起始点,至少1帧的流媒体数据;
播放单元906,用于根据第二接收单元902接收到的所述文件头中的数据格式,播放流媒体服务器返回的流媒体数据。
请参照附图10,本发明实施例还提供了另一种流媒体数据的在线播放装置,可以集成于流媒体服务器中,包括:
第三接收单元101,用于接收流媒体客户端发送的在线播放请求,所述在线播放请求中携带新容器文件的标识;
第三发送单元102,用于发送所述新容器文件的标识对应的新容器文件的文件头和索引列表,所述索引列表包含关键帧的流媒体数据在所述新容器文件中的偏移位置和关键帧在原始容器文件所包含的原始媒体数据流中的播放时间;
第四接收单元103,用于接收数据获取请求,所述数据获取请求中携带有偏移位置,该偏移位置是所述流媒体客户端根据所述索引列表确定出的一个关键帧的流媒体数据在所述新容器文件中的偏移位置;
第四发送单元104,用于根据所述获取请求中的偏移位置,向流媒体客户端返回以该偏移位置为起始点,至少1帧的流媒体数据。
请参照附图11a,本发明实施例还提供了一种流媒体数据的下载装置,可集成于流媒体服务器中,具体包括第五接收单元111、第二还原单元112、第五发送单元113,其中:
第五接收单元111,用于接收流媒体客户端发送的下载请求,所述下载请求中携带新容器文件的标识;
第二还原单元112,用于根据所述新容器文件的标识对应的新容器文件中,每帧流媒体数据在原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件;
第五发送单元113,用于将所述第二还原单元112还原的容器文件发送给所述流媒体客户端。
可选地,为了提高下载效率,附图11a所示的装置可以进行进一步改进,如附图11b所示,包括:
第五接收单元111,用于接收流媒体客户端发送的下载请求,所述下载请求中携带新容器文件的标识;
判断单元114,用于判断第五接收单元111接收到得所述新容器文件标识对应的新容器文件中是否包含原始容器文件;
读取单元115,用于在判断单元114判断结果为包含原始容器文件时,从所述新容器文件中读取原始容器文件;触发第五发送单元113将读取的原始容器文件发送给流媒体客户端;
第二还原单元112,用于判断单元114判断出未包含原始容器文件时,根据所述新容器文件的标识对应的新容器文件中,每帧流媒体数据在原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件;触发第五发送单元113将还原的容器文件发送给所述流媒体客户端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (15)

1.一种流媒体数据的处理方法,其特征在于,包括:
接收输入的原始容器文件,所述原始容器文件中包含原始媒体数据流;
从所述原始容器文件中解析出每一帧流媒体数据,并获得该帧流媒体数据在所述原始容器文件中的偏移位置;
将所述每一帧流媒体数据、以及该帧流媒体数据在所述原始容器文件中的偏移位置写入新容器文件的载荷部分;
在新容器文件的文件头中写入该新容器文件的元数据,以及所述原始容器文件中原始媒体数据流的元数据。
2.如权利要求1所述的方法,其特征在于,所述将所述每一帧流媒体数据、以及该帧流媒体数据在所述原始容器文件中的偏移位置写入新容器文件的载荷部分后,还包括:
获得关键帧的索引列表,所述索引列表包含至少一个关键帧的流媒体数据在所述新容器文件中的偏移位置、各关键帧在原始媒体数据流中的播放时间;所述关键帧是指一组连续画面中的第一个帧,作为随机访问的参考点;所述关键帧在原始媒体数据流中的播放时间是解析获得的;
将所述索引列表写入新容器文件中。
3.如权利要求2所述的方法,其特征在于,所述将所述索引列表写入新容器文件中,包括:
将所述索引列表写入新容器文件载荷部分的空闲可用空间中;
将写入索引列表的偏移位置存储在所述新容器文件的文件头预留地址空间中的预定偏移位置的字段中。
4.如权利要求1至3中任一所述的方法,其特征在于,所述在新容器文件的文件头中写入该新容器文件的元数据,以及所述原始容器文件中原始媒体数据流的元数据后,还包括:
根据所述新容器文件中每帧流媒体数据在所述原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件;
通过不可逆加密算法,获得唯一标识所述还原的容器文件内容的第一信息摘要值、以及唯一标识所述原始容器文件内容的第二信息摘要值;
比较所述第一信息摘要值和第二信息摘要值是否一致,若不一致,则将所述原始容器文件的内容写入新容器文件、且同时记录所述原始容器文件写入新容器文件时的存储位置。
5.一种流媒体数据的播放方法,其特征在于,包括:
向流媒体服务器发送在线播放请求,所述在线播放请求中携带新容器文件的标识;
接收返回的新容器文件的文件头和索引列表,所述索引列表包含至少一个关键帧的流媒体数据在所述新容器文件中的偏移位置、各关键帧在原始容器文件所包含的原始媒体数据流中的播放时间;
根据所述索引列表中各关键帧的播放时间,选择其中一个关键帧的播放时间;
从所述索引列表中,查找到选择出的关键帧的播放时间对应的关键帧在所述新容器文件中的偏移位置;
向所述流媒体服务器发送数据获取请求,所述数据获取请求携带查找到的偏移位置,用于获取以该偏移位置为起始点,至少1帧的流媒体数据;
根据所述文件头中的数据格式,播放流媒体服务器返回的流媒体数据。
6.一种流媒体数据的播放方法,其特征在于,包括:
接收流媒体客户端发送的在线播放请求,所述在线播放请求中携带新容器文件的标识;
发送所述新容器文件的标识对应的新容器文件的文件头和索引列表,所述索引列表包含关键帧的流媒体数据在所述新容器文件中的偏移位置和关键帧在原始容器文件所包含的原始媒体数据流中的播放时间;
接收数据获取请求,所述数据获取请求中携带有偏移位置,该偏移位置是所述流媒体客户端根据所述索引列表确定出的一个关键帧的流媒体数据在所述新容器文件中的偏移位置;
根据所述获取请求中的偏移位置,向流媒体客户端返回新容器文件中以该偏移位置为起始点,至少1帧的流媒体数据。
7.一种流媒体数据的下载方法,其特征在于,包括:
流媒体服务器接收流媒体客户端发送的下载请求,所述下载请求中携带新容器文件的标识;
流媒体服务器根据所述新容器文件的标识对应的新容器文件中,每帧流媒体数据在原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件;
流媒体服务器将所述还原的容器文件发送给所述流媒体客户端。
8.一种流媒体数据的下载方法,其特征在于,包括:
流媒体服务器接收流媒体客户端发送的下载请求,所述下载请求中携带新容器文件的标识;
判断所述新容器文件标识对应的新容器文件中是否包含原始容器文件;
若是,从所述新容器文件中读取原始容器文件,并将所述原始容器文件发送给流媒体客户端;
否则,流媒体服务器根据所述新容器文件的标识对应的新容器文件中,每帧流媒体数据在原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件;将所述还原的容器文件发送给所述流媒体客户端。
9.一种流媒体数据的处理装置,其特征在于,包括:
第一接收单元,用于接收输入的原始容器文件,所述原始容器文件中包含原始媒体数据流;
解析单元,用于从所述原始容器文件中解析出每一帧流媒体数据,并获得该帧流媒体数据在所述原始容器文件中的偏移位置;
第一写入单元,用于将所述每一帧流媒体数据、以及该帧流媒体数据在所述原始容器文件中的偏移位置写入新容器文件的载荷部分;
第二写入单元,用于在新容器文件的文件头中写入该新容器文件的元数据,以及所述原始容器文件中原始媒体数据流的元数据。
10.如权利要求9所述的装置,其特征在于,还包括:
获取单元,用于获得关键帧的索引列表,所述索引列表包含至少一个关键帧的流媒体数据在所述新容器文件中的偏移位置、各关键帧在原始媒体数据流中的播放时间;所述关键帧是指一组连续画面中的第一个帧,作为随机访问的参考点;所述关键帧在原始媒体数据流中的播放时间是解析获得的;
第三写入单元,用于将获取单元获取的索引列表写入新容器文件中。
11.如权利要求9或10所述的装置,其特征在于,还包括:
第一还原单元,用于在第二写入单元写入后,根据所述新容器文件中每帧流媒体数据在所述原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件;
摘要值生成单元,用于通过不可逆加密算法,获得唯一标识第一还原单元生成的所述还原的容器文件内容的第一信息摘要值、以及唯一标识所述原始容器文件内容的第二信息摘要值;
比较单元,用于比较所述第一信息摘要值和第二信息摘要值是否一致;
第四写入单元,用于在比较单元的比较结果不一致时,将所述原始流媒体文件的内容写入新容器文件、且同时记录所述原始容器文件写入新容器文件时的存储位置。
12.一种流媒体客户端,其特征在于,包括:
第一发送单元,用于向流媒体服务器发送在线播放请求,所述在线播放请求中携带新容器文件的标识;
第二接收单元,用于接收返回的新容器文件的文件头和索引列表,所述索引列表包含至少一个关键帧的流媒体数据在所述新容器文件中的偏移位置、各关键帧在原始容器文件所包含的原始媒体数据流中的播放时间;
选择单元,用于根据第二接收单元接收的所述索引列表中各关键帧的播放时间,选择其中一个关键帧的播放时间;
查找单元,用于从所述索引列表中,查找到选择单元选择出的关键帧的播放时间对应的关键帧在所述新容器文件中的偏移位置
第二发送单元,用于向所述流媒体服务器发送数据获取请求,所述数据获取请求携带查找到的偏移位置,用于获取以该偏移位置为起始点,至少1帧的流媒体数据;
播放单元,用于根据第二接收单元接收到的所述文件头中的数据格式,播放流媒体服务器返回的流媒体数据。
13.一种流媒体服务器,其特征在于,包括:
第三接收单元,用于接收流媒体客户端发送的在线播放请求,所述在线播放请求中携带新容器文件的标识;
第三发送单元,用于发送所述新容器文件的标识对应的新容器文件的文件头和索引列表,所述索引列表包含关键帧的流媒体数据在所述新容器文件中的偏移位置和关键帧在原始容器文件所包含的原始媒体数据流中的播放时间;
第四接收单元,用于接收数据获取请求,所述数据获取请求中携带有偏移位置,该偏移位置是所述流媒体客户端根据所述索引列表确定出的一个关键帧的流媒体数据在所述新容器文件中的偏移位置;
第四发送单元,用于根据所述获取请求中的偏移位置,向流媒体客户端返回以该偏移位置为起始点,至少1帧的流媒体数据。
14.一种流媒体服务器,其特征在于,包括:
第五接收单元,用于接收流媒体客户端发送的下载请求,所述下载请求中携带新容器文件的标识;
第二还原单元,用于根据所述新容器文件的标识对应的新容器文件中,每帧流媒体数据在原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件;
第五发送单元,用于将所述第二还原单元还原的容器文件发送给所述流媒体客户端。
15.一种流媒体服务器,其特征在于,包括:
第五接收单元,用于接收流媒体客户端发送的下载请求,所述下载请求中携带新容器文件的标识;
判断单元,用于判断第五接收单元接收到得所述新容器文件标识对应的新容器文件中是否包含原始容器文件;
读取单元,用于判断单元判断出包含原始容器文件时,从所述新容器文件中读取原始容器文件,触发第五发送单元将读取的原始容器文件发送给流媒体客户端;
第二还原单元,用于判断单元判断出未包含原始容器文件时,根据所述新容器文件的标识对应的新容器文件中,每帧流媒体数据在原始容器文件中的偏移位置,将该帧流媒体数据写入一个文件中,从而生成还原的容器文件;触发第五发送单元将还原的容器文件发送给所述流媒体客户端。
CN2011103064001A 2011-10-11 2011-10-11 流媒体数据的处理方法、播放方法以及装置 Pending CN102510519A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2011103064001A CN102510519A (zh) 2011-10-11 2011-10-11 流媒体数据的处理方法、播放方法以及装置
PCT/CN2012/079615 WO2013053259A1 (zh) 2011-10-11 2012-08-03 流媒体数据的处理方法、播放方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011103064001A CN102510519A (zh) 2011-10-11 2011-10-11 流媒体数据的处理方法、播放方法以及装置

Publications (1)

Publication Number Publication Date
CN102510519A true CN102510519A (zh) 2012-06-20

Family

ID=46222568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011103064001A Pending CN102510519A (zh) 2011-10-11 2011-10-11 流媒体数据的处理方法、播放方法以及装置

Country Status (2)

Country Link
CN (1) CN102510519A (zh)
WO (1) WO2013053259A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857834A (zh) * 2012-09-17 2013-01-02 四川长虹电器股份有限公司 读取视频进度的方法
WO2013053259A1 (zh) * 2011-10-11 2013-04-18 华为技术有限公司 流媒体数据的处理方法、播放方法以及装置
CN104023260A (zh) * 2013-02-28 2014-09-03 腾讯科技(深圳)有限公司 硬件解码实现方法、装置及播放器
CN104661086A (zh) * 2013-11-25 2015-05-27 乐视网信息技术(北京)股份有限公司 一种媒体流的编码方法和装置
CN105338417A (zh) * 2015-10-29 2016-02-17 北京威动科技有限公司 文件导航播放方法和装置
CN110290396A (zh) * 2019-05-31 2019-09-27 广州市百果园信息技术有限公司 一种视频处理的方法、装置、***、设备和存储介质
WO2019227751A1 (zh) * 2018-05-29 2019-12-05 北京字节跳动网络技术有限公司 媒体文件转换方法、装置及存储介质
CN110636368A (zh) * 2018-06-25 2019-12-31 杭州海康威视数字技术股份有限公司 媒体播放方法及装置
CN113068064A (zh) * 2021-03-18 2021-07-02 深圳市迅雷网络技术有限公司 传输流媒体文件处理方法、装置、计算机设备和存储介质
US20220365959A1 (en) * 2019-07-23 2022-11-17 Shanghai Bilibili Technology Co., Ltd. Multimedia file storage and access method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1729689A (zh) * 2002-12-20 2006-02-01 松下电器产业株式会社 数据流格式变换方法及其记录方法
CN1859299A (zh) * 2006-01-05 2006-11-08 华为技术有限公司 一种流媒体服务器以及流媒体传送和存储方法
WO2011046618A2 (en) * 2009-10-15 2011-04-21 Bytemobile, Inc. Budget encoding
CN102131106A (zh) * 2010-12-22 2011-07-20 华为技术有限公司 流媒体内容的播放方法、装置及***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7852919B2 (en) * 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
CN100568971C (zh) * 2006-11-22 2009-12-09 中兴通讯股份有限公司 一种mpeg-4的传输码流到互联网流媒体联盟流的实时转换方法
CN101378356B (zh) * 2008-06-10 2011-05-11 中兴通讯股份有限公司 一种ip实时流媒体的播放方法
CN101459693A (zh) * 2008-12-29 2009-06-17 中兴通讯股份有限公司 一种流媒体下载方法及***
CN102510519A (zh) * 2011-10-11 2012-06-20 成都市华为赛门铁克科技有限公司 流媒体数据的处理方法、播放方法以及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1729689A (zh) * 2002-12-20 2006-02-01 松下电器产业株式会社 数据流格式变换方法及其记录方法
CN1859299A (zh) * 2006-01-05 2006-11-08 华为技术有限公司 一种流媒体服务器以及流媒体传送和存储方法
WO2011046618A2 (en) * 2009-10-15 2011-04-21 Bytemobile, Inc. Budget encoding
CN102131106A (zh) * 2010-12-22 2011-07-20 华为技术有限公司 流媒体内容的播放方法、装置及***

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013053259A1 (zh) * 2011-10-11 2013-04-18 华为技术有限公司 流媒体数据的处理方法、播放方法以及装置
CN102857834A (zh) * 2012-09-17 2013-01-02 四川长虹电器股份有限公司 读取视频进度的方法
CN102857834B (zh) * 2012-09-17 2016-06-15 四川长虹电器股份有限公司 读取视频进度的方法
CN104023260A (zh) * 2013-02-28 2014-09-03 腾讯科技(深圳)有限公司 硬件解码实现方法、装置及播放器
CN104023260B (zh) * 2013-02-28 2018-04-27 腾讯科技(深圳)有限公司 硬件解码实现方法、装置及播放器
CN104661086A (zh) * 2013-11-25 2015-05-27 乐视网信息技术(北京)股份有限公司 一种媒体流的编码方法和装置
CN105338417A (zh) * 2015-10-29 2016-02-17 北京威动科技有限公司 文件导航播放方法和装置
CN105338417B (zh) * 2015-10-29 2018-09-04 北京威动科技有限公司 文件导航播放方法和装置
CN110545490B (zh) * 2018-05-29 2021-03-16 北京字节跳动网络技术有限公司 媒体文件转换方法、装置及存储介质
WO2019227751A1 (zh) * 2018-05-29 2019-12-05 北京字节跳动网络技术有限公司 媒体文件转换方法、装置及存储介质
CN110545490A (zh) * 2018-05-29 2019-12-06 北京字节跳动网络技术有限公司 媒体文件转换方法、装置及存储介质
US11064269B2 (en) 2018-05-29 2021-07-13 Beijing Bytedance Network Technology Co., Ltd. Conversion method, device and storage medium for media file
CN110636368A (zh) * 2018-06-25 2019-12-31 杭州海康威视数字技术股份有限公司 媒体播放方法及装置
CN110636368B (zh) * 2018-06-25 2021-12-24 杭州海康威视数字技术股份有限公司 媒体播放方法、***、装置及存储介质
CN110290396A (zh) * 2019-05-31 2019-09-27 广州市百果园信息技术有限公司 一种视频处理的方法、装置、***、设备和存储介质
CN110290396B (zh) * 2019-05-31 2024-04-09 广州市百果园信息技术有限公司 一种视频处理的方法、装置、***、设备和存储介质
US20220365959A1 (en) * 2019-07-23 2022-11-17 Shanghai Bilibili Technology Co., Ltd. Multimedia file storage and access method
CN113068064A (zh) * 2021-03-18 2021-07-02 深圳市迅雷网络技术有限公司 传输流媒体文件处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
WO2013053259A1 (zh) 2013-04-18

Similar Documents

Publication Publication Date Title
CN102510519A (zh) 流媒体数据的处理方法、播放方法以及装置
US8886896B2 (en) Storage format for media streams
CN102568517B (zh) 用于数字媒体处理的接口
KR100729224B1 (ko) 확장된 멀티미디어 파일 구조, 멀티미디어 파일 생성 방법및 멀티미디어 파일 실행 방법
CN108965397A (zh) 云端视频编辑方法及装置、编辑设备及存储介质
CN103165151B (zh) 多媒体文件播放方法和装置
CN103959795B (zh) 用于获得视频流的***和方法
CN104967862A (zh) 一种视频存储方法及装置和视频搜索方法及装置
CN102004760A (zh) 多媒体文件的存储和播放方法、相关装置及***
CN101609401A (zh) 一种无干扰屏幕录制方法和***
CN109977822B (zh) 数据供给方法、模型训练方法、装置、***、设备和介质
CN103780877A (zh) 基于h264编码的海量视频数据的存储及检索方法
CN105357544A (zh) 一种基于hls的多媒体文件处理方法及服务器
CN101038589A (zh) 内容管理方法和设备
US20080005028A1 (en) Contents metadata registering method, registering system, and registering program
CN113873288A (zh) 在直播过程中生成回放的方法和装置
CN111506747B (zh) 文件解析方法、装置、电子设备及存储介质
CN103430558A (zh) 用于优化视频流的方法
WO2012092901A2 (zh) 媒体存储***及方法
US9070403B2 (en) Processing of scalable compressed video data formats for nonlinear video editing systems
CN109040640A (zh) 一种分布式视频存储回放***
US10409773B2 (en) Method and device for cleaning up terminal resource and terminal
CN104661086A (zh) 一种媒体流的编码方法和装置
CN110958482A (zh) 一种安全保护下录制和回放***及控制方法
CN112988530B (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
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: High tech Park No. 88 University of Electronic Science and technology of Sichuan province in 611721 Chengdu city high tech Zone West Park area Qingshui River Tianchen Road No. 5 building D

Applicant after: Huawei Symantec Technologies Co., Ltd.

Address before: High tech Park No. 88 University of Electronic Science and technology of Sichuan province in 611721 Chengdu city high tech Zone West Park area Qingshui River Tianchen Road No. 5 building D

Applicant before: Chengdu Huawei Symantec Technologies Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD. TO: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120620