CN104219537A - 视频数据处理的方法、装置及*** - Google Patents
视频数据处理的方法、装置及*** Download PDFInfo
- Publication number
- CN104219537A CN104219537A CN201310215595.8A CN201310215595A CN104219537A CN 104219537 A CN104219537 A CN 104219537A CN 201310215595 A CN201310215595 A CN 201310215595A CN 104219537 A CN104219537 A CN 104219537A
- Authority
- CN
- China
- Prior art keywords
- file
- video data
- compression
- head
- head file
- 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.)
- Granted
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种视频数据处理的方法、装置及***,涉及音视频处理领域,能够在不对视频文件切片的情况下,解决首次缓冲时间过长的问题。本发明的方法包括:网络侧服务器将原始视频文件拆分为头部文件和视频数据文件;对头部文件进行压缩,获得压缩头部文件;将压缩头部文件以及视频数据文件合并为压缩视频文件;将压缩视频文件发送给客户端。客户端接收网络侧服务器发送的压缩视频文件,压缩视频文件包含压缩头部文件以及视频数据文件,其中压缩头部文件为压缩后的头部文件;在接收到压缩头部文件后,对压缩头部文件进行解压缩,获得头部文件;根据头部文件对后续接收的视频数据文件进行处理。本发明主要用于获取在线视频数据的过程中。
Description
技术领域
本发明涉及音视频处理领域,尤其涉及一种视频数据处理的方法、装置及***。
背景技术
目前,动态图像专家组4(Moving Pictures Experts Group-4,简称MP4)等常用的视频文件格式,其文件是由头部信息和视频数据两部分组成。播放这种格式的在线视频时,客户端必须首先对头部信息进行下载,然后对下载的头部信息进行处理,最后才能对视频数据进行解码播放。当头部信息过大时,客户端下载头部信息的时间会相应延长,由此增加首次缓冲的时间。其中,首次缓冲时间是指从客户端请求播放视频时刻到客户端播放第一帧视频图像时刻之间的时长。
为缩短首次缓冲时间,提高用户的使用体验,目前较为普遍的做法是:在网络侧服务器中,将视频文件切分为时长相等的多个子视频文件,每个子视频文件包含一个子头部信息和一个子视频数据。客户端从网络侧服务器端依次下载每个子视频文件,并对下载的子头部信息进行处理,最后对子视频数据进行解码播放。由于头部信息的大小与视频数据的时长之间存在正比关系,因此可以通过切分子视频文件的方式减小头部信息的大小,进而减少下载头部信息的耗时,从而缩短首次缓冲的时间。
在上述视频文件切片的过程中,发明人发现现有技术中至少存在如下问题:视频文件切片会增加视频文件的数目,增加网络侧服务器管理、存储视频文件的复杂度。此外在客户端一侧,由于子视频数据之间存在衔接,因此在播放视频数据时可能会出现画面跳动、音视频不同步的问题,客户端需要对子视频数据之间的衔接做特殊处理,增加了视频数据的处理难度。
发明内容
本发明实施例提供一种视频数据处理的方法、装置及***,能够在不对视频文件切片的情况下,解决首次缓冲时间过长的问题。
第一方面,本发明实施例提供了一种视频数据处理的方法,包括:
将原始视频文件拆分为头部文件和视频数据文件;
对所述头部文件进行压缩,获得压缩头部文件;
将所述压缩头部文件以及所述视频数据文件合并为压缩视频文件;
将所述压缩视频文件发送给客户端。
第二方面,本发明实施例还提供了一种视频数据处理的方法,包括:
接收网络侧服务器发送的压缩视频文件,所述压缩视频文件包含压缩头部文件以及视频数据文件,其中所述压缩头部文件为压缩后的头部文件;
在接收到所述压缩头部文件后,对所述压缩头部文件进行解压缩,获得头部文件;
根据所述头部文件对后续接收的视频数据文件进行处理。
第三方面,本发明实施例还提供了一种视频数据处理的装置,所述装置为第一装置,所述第一装置包括:
拆分单元,用于将原始视频文件拆分为头部文件和视频数据文件;
压缩单元,用于对所述拆分单元拆分出的所述头部文件进行压缩,获得压缩头部文件;
合并单元,用于将所述压缩单元压缩的所述压缩头部文件以及所述拆分单元拆分出的所示视频数据文件合并为压缩视频文件;
发送单元,用于将所述合并单元合并的所述压缩视频文件发送给客户端。
第四方面,本发明实施例还提供了一种视频数据处理的装置,所述装置为第二装置,所述第二装置包括:
接收单元,用于接收网络侧服务器发送的压缩视频文件,所述压缩视频文件包含压缩头部文件以及视频数据文件,其中所述压缩头部文件为压缩后的头部文件;
解压缩单元,用于在所述接收单元接收到所述压缩头部文件后,对所述压缩头部文件进行解压缩,获得头部文件;
处理单元,用于根据所述解压缩单元解压缩得到的所述头部文件对所述接收单元后续接收的视频数据文件进行处理。
第五方面,本发明实施例还提供了一种视频数据处理的***,所述***包括网络侧服务器以及客户端,其中,所述网络侧服务器中包含如前述第三方面所述的第一装置,所述客户端中包含如前述第四方面所述的第二装置。
本发明实施例提供的视频数据处理的方法、装置及***,能够将原始视频文件拆分为头部文件和视频数据文件,然后对头部文件进行压缩,获得压缩头部文件,接着将压缩头部文件以及视频数据文件合并为压缩视频文件,最后将压缩视频文件发送给客户端。客户端接收网络侧服务器发送的压缩视频文件,在接收到压缩头部文件后,对压缩头部文件进行解压缩,获得头部文件,然后根据头部文件对后续接收的视频数据文件进行处理。本发明实施例提供的视频数据处理的方法、装置及***,能够通过对头部文件的压缩减小头部文件大小,从而减少下载头部文件的耗时。与现有技术中通过对视频文件切片减小头部文件大小的方式相比,可以不对视频文件做切片和特殊处理,能够简单有效的缩短首次缓冲的时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中视频数据处理的方法的流程图;
图2为本发明实施例中另一个视频数据处理的方法的流程图;
图3为本发明实施例中视频数据处理的交互图;
图4为本发明实施例中原始视频文件的示意图;
图5为本发明实施例中压缩视频文件的示意图;
图6为本发明实施例中网络侧服务器处理原始视频文件的示意图;
图7为本发明实施例中第一装置的结构示意图;
图8为本发明实施例中另一个第一装置的结构示意图;
图9为本发明实施例中第二装置的结构示意图;
图10为本发明实施例中视频数据处理的***的示意图。
具体实施方式
下面将结合本实施例中的附图,对本实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为减少用户观看在线视频时的首次缓冲时间,本实施例提供了一种视频数据处理的方法,该方法应用于网络侧服务器一侧。如图1所示,所述方法包括:
101、网络侧服务器将原始视频文件拆分为头部文件和视频数据文件。
本实施例中所述的原始视频文件为客户端请求的视频数据,网络侧服务器查找到原始视频文件后,将原始视频文件拆分为头部文件和视频数据文件。所述头部文件包括视频数据头部信息的数据块,例如视频的分辨率、编码格式、码率、关键帧索引等。网络侧服务器从原始视频文件中拆分出头部文件,以便后续对头部文件进行压缩。
102、网络侧服务器对头部文件进行压缩,获得压缩头部文件。
网络侧服务器对头部文件压缩的目的在于减小头部文件的大小,从而缩短客户端下载头部文件的耗时。
103、网络侧服务器将压缩头部文件以及视频数据文件合并为压缩视频文件。
在获得压缩头部文件后,网络侧服务器将压缩头部文件以及视频数据文件合并为压缩视频文件,以便后续发送给客户端。
104、网络侧服务器将压缩视频文件发送给客户端。
网络侧服务器将压缩视频文件发送给客户端,以便客户端对压缩视频文件中的压缩头部文件进行解压缩,并根据解压缩后得到的头部文件对后续接收到的视频数据文件进行解码处理,从而播放在线视频。
本实施例中,客户端请求的视频类型为在线视频,网络侧服务器以媒体流的形式向客户端发送包含压缩头部文件的压缩视频文件。客户端首先接收到压缩头部文件,然后根据压缩头部文件中的头部信息对后续接收的视频数据文件进行处理。
现有技术中,网络侧服务器在接收到客户端的视频数据请求后,直接将原始视频文件发送给客户端。客户端首先需要接收头部文件,然后根据头部文件对后续接收的视频数据文件进行处理。由于在视频文件中,头部文件的大小通常与视频的时长呈正比关系,因此当客户端请求一段时长较长的视频时,客户端接收(下载)头部文件的耗时就相应增加,由此增加了首次缓冲的时间。
本实施例提供的视频数据处理的方法,能够通过对头部文件的压缩减小头部文件大小,从而减少客户端下载头部文件的耗时,进而缩短首次缓冲的时间。同时,本实施例提供的视频数据处理的方法无需对视频文件进行切片,可以简化网络侧服务器处理、存储视频数据的复杂程度。
作为对应图1所示方法的对端方法,本实施例还提供了一种视频数据处理的方法,该方法应用于客户端一侧。如图2所示,所述方法包括:
201、客户端接收网络侧服务器发送的压缩视频文件。
压缩视频文件包含压缩头部文件以及视频数据文件,其中所述压缩头部文件为压缩后的头部文件。网络侧服务器以媒体流的形式向客户端发送压缩视频文件,客户端先接收压缩头部文件然后接收视频数据文件。
202、客户端在接收到压缩头部文件后,对压缩头部文件进行解压缩,获得头部文件。
由于网络侧服务器在发送压缩视频文件前对头部文件进行了压缩,所以在接收到压缩头部文件后首先需要将压缩头部文件进行解压缩,获得头部文件。
203、客户端根据头部文件对后续接收的视频数据文件进行处理。
客户端根据头部文件对后续接收的视频数据文件进行解码等处理,从而对视频进行播放。
本实施例中,由于客户端请求的视频类型为在线视频,因此客户端接收视频数据文件是一个持续的过程,并非是将头部文件和视频数据文件全部接收完毕后再执行步骤202。客户端在接收到压缩头部文件后开始接收视频数据文件,在解压缩头部文件过程中以及头部文件解压缩完成后持续接收视频数据文件,并且根据解压缩后的头部文件对实时接收的视频数据文件进行处理。
本实施例提供的视频数据处理的方法,能够通过对头部文件的压缩减小头部文件大小,从而减少客户端下载头部文件的耗时,进而缩短首次缓冲的时间。此外,本实施例提供的视频数据处理的方法无需对切片后的子视频文件进行特殊处理,能够简化处理视频数据的复杂程度并节省客户端相应处理资源的开销。
作为对图1及图2所示方法的详细说明,本实施例还提供了一种视频数据处理的方法,所述方法涉及网络侧服务器和本地客户端。如图3所示,所述方法包括:
301、客户端向网络侧服务器发送视频数据请求。
所述视频数据请求用于向服务器请求获取视频文件。
302、网络侧服务器根据视频数据请求查找原始视频文件。
网络侧服务器根据视频数据请求查找到的视频文件被称为原始视频文件。
303、网络侧服务器将原始视频文件拆分为头部文件和视频数据文件。
事例性的,如图4所示,原始视频文件包含10比特的头部数据和10000比特的视频数据。网络侧服务器对原始视频文件进行拆分,获得10比特的头部文件和10000比特的视频数据文件。
网络侧服务器将原始视频文件拆分为头部文件和视频数据文件,具体包括:
303a、网络侧服务器创建头部文件和视频数据文件。
网络侧服务器调用CreateFile函数分别创建头部文件和视频数据文件,创建的头部文件和视频数据文件分别用于装载后续从原始视频文件拆分出的头部数据和视频数据。
303b、网络侧服务器从原始视频文件中分别读取头部数据和视频数据。
网络侧服务器首先调用OpenFile函数打开原始视频文件,然后调用ReadFile函数从原始视频文件中分别读取头部数据和视频数据。
仍以图4为例,网络侧服务器调用OpenFile函数打开如图4所示的原始视频文件,然后调用ReadFile函数从原始视频文件中读取前10比特的头部数据,以及后10000比特的视频数据。
303c、网络侧服务器将头部数据写入头部文件中。
网络侧服务器调用WriteFile函数将10比特的头部数据写入头部文件。
303d、网络侧服务器将视频数据写入视频数据文件中。
网络侧服务器调用WriteFile函数将10000比特的视频数据写入视频数据文件。由此获得一个包含10比特头部数据的头部文件,以及一个包含10000比特视频数据的视频数据文件。
需要说明的是,本实施例区分步骤303c和步骤303d仅为便于表述,实际应用中,网络侧服务器也可以先执行步骤303d,再执行步骤303c,或者同时执行步骤303c和步骤303d,本实施例对网络侧服务器的执行顺序不做限制。与此类似的,网络侧服务器也可以先执行步骤303b读取头部数据和视频数据,然后再执行步骤303a创建头部文件和视频数据文件,或者同时执行步骤303a和步骤303b。
304、网络侧服务器根据Zlib函式库对头部文件进行压缩,获得压缩头部文件。
在获得头部文件和视频数据文件后,网络侧服务器Zlib函式库对头部文件进行压缩,获得压缩头部文件。例如,网络侧服务器将步骤303中获得的10比特大小的头部文件压缩为只有3比特大小的压缩头部文件。
本实施例中以Zlib函式库作为压缩手段进行说明,实际应用中,对头部文件进行压缩的方式不限于此。
可选的,为进一步节省首次缓冲时间,网络侧服务器还可以将头部文件切分为多个子片段分段进行压缩。客户端每接收到一个压缩子片段后就可以对该压缩子片段进行解压缩,无需等待全部接收到整个压缩头部文件后再进行解压缩。具体的:网络侧服务器将头部文件切分为至少两个子片段,然后根据Zlib函式库对至少两个子片段分别进行压缩。例如,网络侧服务器将12比特大小的头部文件切分3段4比特的子片段,然后根据Zlib函式库将每个子片段压缩为1比特大小的压缩子片段。
可选的,为进一步减少客户端下载视频文件的耗时,网络侧服务器也可以根据Zlib函式库对视频数据文件进行压缩,获得压缩视频数据文件。此处需要说明的是,本步骤中所述的压缩视频数据文件与后续步骤中合并得到的压缩视频文件不同,所述压缩视频数据文件是指对视频数据文件进行压缩后得到的文件,而压缩视频文件则是指包含压缩头部文件以及未压缩的视频数据文件的上一级文件,或者为包含压缩头部文件以及压缩视频数据文件的上一级文件,即压缩视频文件仅表示包含有压缩头部文件的文件。
305、网络侧服务器将压缩头部文件以及视频数据文件合并为压缩视频文件。
网络侧服务器将压缩头部文件以及视频数据文件合并为压缩视频文件,具体包括:
305a、网络侧服务器创建压缩视频文件。
与303a类似,网络侧服务器调用CreateFile函数创建一个压缩视频文件,用于装载后续读取的头部数据和视频数据。
305b、网络侧服务器从压缩头部文件中读取压缩后的头部数据。
网络侧服务器调用ReadFile函数从压缩头部文件中读取压缩后的3比特头部数据。
305c、网络侧服务器从视频数据文件中读取视频数据。
网络侧服务器调用ReadFile函数从视频数据文件中读取10000比特的视频数据。
可选的,如果在步骤303中网络侧服务器也对视频数据文件进行压缩,则在本步骤中网络侧服务器调用ReadFile函数从压缩视频数据文件中读取压缩后的视频数据。
305d、网络侧服务器将压缩后的头部数据和视频数据分别写入到压缩视频文件中的指定位置。
网络侧服务器可以先调用WriteFile函数将压缩后的3比特头部数据写入到压缩视频文件中,然后调用WriteFile函数将视频数据(或者压缩后的视频数据)写入到压缩视频文件中,由此获得压缩视频文件。本实施例中的写入顺序仅作为说明使用,不作为对实际应用的限定。
可选的,当网络侧服务器对头部文件进行分段压缩时,本步骤中网络侧服务器将所有压缩好的压缩子片段按照原先的排列顺序全部写入到对应压缩视频文件中压缩头部文件的位置上。
优选的,为与现有的标准视频文件格式一致,网络侧服务器可以将读取的压缩后的头部数据写到读取的视频数据之前,形成如图5所示的压缩视频文件,以便客户端首先接收到压缩头部文件,并对压缩头部文件进行处理。
需要说明的是,本实施例区分步骤305b和步骤305c仅为便于表述,实际应用中,网络侧服务器也可以先执行步骤305c,再执行步骤305b,或者同时执行步骤305b和步骤305c,本实施例对网络侧服务器的执行顺序不做限制。
如图6所示,对应步骤303至步骤305,网络侧服务器首先原始视频文件拆分为头部文件和视频数据文件。然后对拆分出来的头部文件进行压缩,获得压缩头部文件。最后网络侧服务器将压缩头部文件和视频数据文件合并为压缩视频文件。
306、网络侧服务器将压缩视频文件发送给客户端。
可选的,网络侧服务器对原始视频文件的处理可以在客户端发送视频数据请求之前执行,即,网络侧服务器对已存储的所有原始视频文件均顺序执行上述步骤302至步骤305,获得压缩视频文件,并对压缩视频文件进行存储。客户端发送视频数据请求(步骤301)时,网络侧服务器查找用户请求的压缩视频文件,然后直接执行步骤306,将查找到的压缩视频文件发送给客户端。于此对应的步骤流程顺序为:步骤302、步骤303、步骤304、步骤305、步骤301、步骤306……。
307、客户端接收压缩头部文件,根据Zlib函式库对压缩头部文件进行解压缩,获得头部文件。
客户端在接收图5所示的压缩视频文件的过程中,首先接收到压缩头部文件,使用Zlib函式库对压缩头部文件进行解压缩,获得头部文件。例如,客户端接收到3比特的压缩头部文件后,根据Zlib函式库对该压缩头部文件进行解压缩,获得10比特的头部文件。
可选的,当网络侧服务器对头部文件进行分段压缩时,客户端接收至少两个压缩子片段,所述至少两个压缩子片段组成所述压缩头部文件,在每接收到一个压缩子片段后,根据Zlib函式库对该压缩子片段进行解压缩。例如,客户端在接收到每个1比特压缩子片段时,根据Zlib函式库将其解压缩为4比特的子片段。
本实施例中以Zlib函式库作为解压缩手段进行说明,实际应用中,对压缩头部文件进行解压缩的方式不限于此。
308、客户端将解压缩后的头部文件发送给播放器进行处理。
所述播放器为客户端内的播放软件,客户端将头部文件发送给播放器以便播放器根据头部文件中分辨率率、编码格式等头部数据对后续接收到的视频数据文件进行解码播放处理。
可选的,当客户端分别接收多个压缩子片段时,客户端在每解压出一个子片段时,就将该子片段发送给播放器。
309、客户端将接收的视频数据发送给播放器进行处理,同时继续接收视频数据文件中的视频数据。
客户端在接收到压缩头部文件后,开始接收视频数据,并将不断接收到的视频数据发送给播放器,由播放器根据头部数据对视频数据进行解码播放。
以上实施例中涉及的比特数值以及图4、图5仅为事例性说明使用,不作为对实际应用中具体数值的限制。
本实施例提供的视频数据处理的方法可以对包括MP4、MOV等格式的视频数据进行压缩解压缩处理。以MP4格式的视频数据为例,相关实验表明采用Zlib压缩后的头部文件相比不压缩的头部文件可以减小三分之一的大小,在传输带宽不变的情况下,客户端下载头部文件的耗时可以缩短三分之一。此外,网络侧服务器还可以在客户端请求视频数据之前,对存储的所有原始视频文件预先进行压缩处理,进一步节省客户端获取压缩视频文件的耗时。而客户端的解压缩耗时相对头部文件下载的耗时可以忽略不计,由此可以将首次缓冲时间减少三分之一,大大改善用户的观看体验。
第三,本实施例提供的视频数据处理的方法,还可以将头部文件切分为多个子片段,并对多个子片段分别进行Zlib压缩。客户端在接收到一个压缩子片段后就可以对其进行解压缩并发送给播放器,无需等待将全部压缩头部文件都下载下来之后再进行解压缩的步骤,由此可以进一步缩短首次缓冲的时间。
最后,本实施例提供的视频数据处理的方法也同样适用于视频文件切片技术,仅将处理对象替换为子视频文件、子头部文件以及子视频数据文件即可,其实现方式可以参照上述图1至图3的方式进行实现,此处不再赘述。
参考上述图1或图3所示方法的实现,本实施例还提供了一种视频数据处理的装置,所述装置为第一装置,用以对图1或图3所示的方法进行实现。所述第一装置可以位于网络侧服务器中或者独立于网络侧服务器但与网络侧服务器之间具有数据交互关系。如图7所示,所述第一装置71,包括拆分单元711、压缩单元712、合并单元713以及发送单元714,其中,
所述拆分单元711,用于将原始视频文件拆分为头部文件和视频数据文件;
所述压缩单元712,用于对所述拆分单元711拆分出的所述头部文件进行压缩,获得压缩头部文件;
所述合并单元713,用于将所述压缩单元712压缩的所述压缩头部文件以及所述拆分单元711拆分出的所示视频数据文件合并为压缩视频文件;
所述发送单元714,用于将所述合并单元713合并的所述压缩视频文件发送给客户端。
进一步的,如图8所示,所述拆分单元711包括:
第一创建子单元811,用于创建头部文件和视频数据文件;
第一读取子单元812,用于从所述原始视频文件中分别读取头部数据和视频数据;
第一写入子单元813,用于将所述第一读取子单元812读取的所述头部数据写入所述第一创建子单元811创建的所述头部文件中;
所述第一写入子单元813还用于将所述第一读取子单元812读取的所述视频数据写入所述第一创建子单元811创建的所述视频数据文件中。
进一步的,所述压缩单元712用于根据Zlib函式库对所述头部文件进行压缩,获得压缩头部文件。
进一步的,所述压缩单元712用于:将所述头部文件切分为至少两个子片段,根据Zlib函式库对所述至少两个子片段分别进行压缩。
进一步的,如图8所示,所述合并单元713包括:
第二创建子单元814,用于创建压缩视频文件;
第二读取子单元815,用于从所述压缩头部文件中读取压缩后的头部数据;
所述第二读取子单元815还用于从所述视频数据文件中读取所述视频数据;
第二写入子单元816,用于将所述第二读取子单元815读取的所述压缩后的头部数据和所述视频数据分别写入到所述第二创建子单元814创建的所述压缩视频文件中的指定位置。
进一步的,所述第二写入子单元816用于将所述压缩后的头部数据写到所述视频数据之前。
本发明实施例提供的第一装置,能够将原始视频文件拆分为头部文件和视频数据文件,然后对头部文件进行压缩,获得压缩头部文件,接着将压缩头部文件以及视频数据文件合并为压缩视频文件,最后将压缩视频文件发送给客户端。本发明实施例提供的视频数据处理的第一装置,能够通过对头部文件的压缩减小头部文件大小,从而减少下载头部文件的耗时。与现有技术中通过对视频文件切片减小头部文件大小的方式相比,可以不对视频文件做切片和特殊处理,能够简单有效的缩短首次缓冲的时间。
此外,本实施例提供的第一装置,还可以将头部文件切分为多个子片段,并对多个子片段分别进行Zlib压缩。客户端在接收到一个压缩子片段后就可以对其进行解压缩并发送给播放器,无需等待将全部压缩头部文件都下载下来之后再进行解压缩的步骤,由此可以进一步缩短首次缓冲的时间。
参考上述图2或图3所示方法的实现,本实施例还提供了一种视频数据处理的装置,所述装置为第二装置,用以对图2或图3所示的方法进行实现。所述第二装置可以位于客户端中。如图9所示,所述第二装置91,包括,接收单元911、解压缩单元912以及处理单元913,其中,
所述接收单元911,用于接收网络侧服务器发送的压缩视频文件,所述压缩视频文件包含压缩头部文件以及视频数据文件,其中所述压缩头部文件为压缩后的头部文件;
所述解压缩单元912,用于在所述接收单元911接收到所述压缩头部文件后,对所述压缩头部文件进行解压缩,获得头部文件;
所述处理单元913,用于根据所述解压缩单元912解压缩得到的所述头部文件对所述接收单元911后续接收的视频数据文件进行处理。
进一步的,所述解压缩单元912用于根据Zlib函式库对所述压缩头部文件进行解压缩,获得头部文件。
进一步的,所述接收单元911用于接收至少两个压缩子片段,所述至少两个压缩子片段组成所述压缩头部文件;
所述解压缩单元912用于在所述接收单元911每接收到一个压缩子片段后,根据Zlib函式库对该压缩子片段进行解压缩。
本发明实施例提供的第二装置,能够接收网络侧服务器发送的压缩视频文件,在接收到压缩头部文件后,对压缩头部文件进行解压缩,获得头部文件,然后根据头部文件对后续接收的视频数据文件进行处理。本发明实施例提供的视频数据处理的第二装置,能够通过对头部文件的压缩减小头部文件大小,从而减少下载头部文件的耗时。与现有技术中通过对视频文件切片减小头部文件大小的方式相比,可以不对视频文件做切片和特殊处理,能够简单有效的缩短首次缓冲的时间。
此外,本实施例提供的第二装置,在接收到每一个压缩子片段后就对该压缩子片段进行解压缩并发送给播放器,无需等待将全部压缩头部文件都下载下来之后再进行解压缩的步骤,由此可以进一步缩短首次缓冲的时间。
参考上述图1至图3所示方法的实现,本实施例还提供了一种视频数据处理的***,用以对图1至图3所示的方法进行实现。如图10所示,所述***101包括网络侧服务器1011以及客户端1012,所述网络侧服务器1011包含上述图7或图8所示的第一装置71或与其具有数据交互关系时,所述客户端1012包含上述图9所示的第二装置91。所述网络侧服务器1011与所述客户端1012之间具有数据交互关系。
所述网络侧服务器1011,用于将原始视频文件拆分为头部文件和视频数据文件,对所述头部文件进行压缩,获得压缩头部文件,将所述压缩头部文件以及所述视频数据文件合并为压缩视频文件,将所述压缩视频文件发送给所述客户端1012。
所述客户端1012,用于接收所述网络侧服务器1011发送的压缩视频文件,所述压缩视频文件包含压缩头部文件以及视频数据文件,其中所述压缩头部文件为压缩后的头部文件,在接收到所述压缩头部文件后,对所述压缩头部文件进行解压缩,获得头部文件,根据所述头部文件对后续接收的视频数据文件进行处理。
本发明实施例提供的视频数据处理的***,能够将原始视频文件拆分为头部文件和视频数据文件,然后对头部文件进行压缩,获得压缩头部文件,接着将压缩头部文件以及视频数据文件合并为压缩视频文件,最后将压缩视频文件发送给客户端。客户端接收网络侧服务器发送的压缩视频文件,在接收到压缩头部文件后,对压缩头部文件进行解压缩,获得头部文件,然后根据头部文件对后续接收的视频数据文件进行处理。本发明实施例提供的视频数据处理的***,能够通过对头部文件的压缩减小头部文件大小,从而减少下载头部文件的耗时。与现有技术中通过对视频文件切片减小头部文件大小的方式相比,可以不对视频文件做切片和特殊处理,能够简单有效的缩短首次缓冲的时间。
此外,本实施例提供的视频数据处理的***,还可以将头部文件切分为多个子片段,并对多个子片段分别进行Zlib压缩。客户端接收到一个压缩子片段后就可以对其进行解压缩并发送给播放器,无需等待将全部压缩头部文件都下载下来之后再进行解压缩的步骤,由此可以进一步缩短首次缓冲的时间。
本实施例中所述的客户端为具有物理形状的电子设备,包括但不仅限于手机、电脑。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (19)
1.一种视频数据处理的方法,其特征在于,包括:
将原始视频文件拆分为头部文件和视频数据文件;
对所述头部文件进行压缩,获得压缩头部文件;
将所述压缩头部文件以及所述视频数据文件合并为压缩视频文件;
将所述压缩视频文件发送给客户端。
2.根据权利要求1所述的视频数据处理的方法,其特征在于,所述将原始视频文件拆分为头部文件和视频数据文件的步骤,包括:
创建头部文件和视频数据文件;
从所述原始视频文件中分别读取头部数据和视频数据;
将所述头部数据写入所述头部文件中;
将所述视频数据写入所述视频数据文件中。
3.根据权利要求2所述的视频数据处理的方法,其特征在于,所述对所述头部文件进行压缩,获得压缩头部文件的步骤,包括:
根据Zlib函式库对所述头部文件进行压缩,获得压缩头部文件。
4.根据权利要求3所述的视频数据处理的方法,其特征在于,所述根据Zlib函式库对所述头部文件进行压缩的步骤,包括:
将所述头部文件切分为至少两个子片段;
根据Zlib函式库对所述至少两个子片段分别进行压缩。
5.根据权利要求4所述的视频数据处理的方法,其特征在于,所述将所述压缩头部文件以及所述视频数据文件合并为压缩视频文件的步骤,包括:
创建压缩视频文件;
从所述压缩头部文件中读取压缩后的头部数据;
从所述视频数据文件中读取所述视频数据;
将所述压缩后的头部数据和所述视频数据分别写入到所述压缩视频文件中的指定位置。
6.根据权利要求5所述的视频数据处理的方法,其特征在于,所述将所述压缩后的头部数据和所述视频数据分别写入到所述压缩视频文件中的指定位置的步骤,包括:
将所述压缩后的头部数据写到所述视频数据之前。
7.一种视频数据处理的方法,其特征在于,包括:
接收网络侧服务器发送的压缩视频文件,所述压缩视频文件包含压缩头部文件以及视频数据文件,其中所述压缩头部文件为压缩后的头部文件;
在接收到所述压缩头部文件后,对所述压缩头部文件进行解压缩,获得头部文件;
根据所述头部文件对后续接收的视频数据文件进行处理。
8.根据权利要求7所述的视频数据处理的方法,其特征在于,所述对所述压缩头部文件进行解压缩,获得头部文件的步骤,包括:
根据Zlib函式库对所述压缩头部文件进行解压缩,获得头部文件。
9.根据权利要求8所述的视频数据处理的方法,其特征在于,所述接收网络侧服务器发送的压缩视频文件的步骤,包括:
接收至少两个压缩子片段,所述至少两个压缩子片段组成所述压缩头部文件;
所述根据Zlib函式库对所述压缩头部文件进行解压缩的步骤,包括:
在每接收到一个压缩子片段后,根据Zlib函式库对该压缩子片段进行解压缩。
10.一种视频数据处理的装置,所述装置为第一装置,其特征在于,所述第一装置包括:
拆分单元,用于将原始视频文件拆分为头部文件和视频数据文件;
压缩单元,用于对所述拆分单元拆分出的所述头部文件进行压缩,获得压缩头部文件;
合并单元,用于将所述压缩单元压缩的所述压缩头部文件以及所述拆分单元拆分出的所述视频数据文件合并为压缩视频文件;
发送单元,用于将所述合并单元合并的所述压缩视频文件发送给客户端。
11.根据权利要求10所述的第一装置,其特征在于,所述拆分单元包括:
第一创建子单元,用于创建头部文件和视频数据文件;
第一读取子单元,用于从所述原始视频文件中分别读取头部数据和视频数据;
第一写入子单元,用于将所述第一读取子单元读取的所述头部数据写入所述第一创建子单元创建的所述头部文件中;
所述第一写入子单元还用于将所述第一读取子单元读取的所述视频数据写入所述第一创建子单元创建的所述视频数据文件中。
12.根据权利要求11所述的第一装置,其特征在于,所述压缩单元用于根据Zlib函式库对所述头部文件进行压缩,获得压缩头部文件。
13.根据权利要求12所述的第一装置,其特征在于,所述压缩单元用于:
将所述头部文件切分为至少两个子片段;
根据Zlib函式库对所述至少两个子片段分别进行压缩。
14.根据权利要求13所述的第一装置,其特征在于,所述合并单元包括:
第二创建子单元,用于创建压缩视频文件;
第二读取子单元,用于从所述压缩头部文件中读取压缩后的头部数据;
所述第二读取子单元还用于从所述视频数据文件中读取所述视频数据;
第二写入子单元,用于将所述第二读取子单元读取的所述压缩后的头部数据和所述视频数据分别写入到所述第二创建子单元创建的所述压缩视频文件中的指定位置。
15.根据权利要求14所述的第一装置,其特征在于,所述第二写入子单元用于将所述压缩后的头部数据写到所述视频数据之前。
16.一种视频数据处理的装置,所述装置为第二装置,其特征在于,所述第二装置包括:
接收单元,用于接收网络侧服务器发送的压缩视频文件,所述压缩视频文件包含压缩头部文件以及视频数据文件,其中所述压缩头部文件为压缩后的头部文件;
解压缩单元,用于在所述接收单元接收到所述压缩头部文件后,对所述压缩头部文件进行解压缩,获得头部文件;
处理单元,用于根据所述解压缩单元解压缩得到的所述头部文件对所述接收单元后续接收的视频数据文件进行处理。
17.根据权利要求16所述的第二装置,其特征在于,所述解压缩单元用于根据Zlib函式库对所述压缩头部文件进行解压缩,获得头部文件。
18.根据权利要求17所述的第二装置,其特征在于,所述接收单元用于接收至少两个压缩子片段,所述至少两个压缩子片段组成所述压缩头部文件;
所述解压缩单元用于在所述接收单元每接收到一个压缩子片段后,根据Zlib函式库对该压缩子片段进行解压缩。
19.一种视频数据处理的***,其特征在于,所述***包括网络侧服务器以及客户端,其中,所述网络侧服务器中包含如权利要求10至权利要求15中任一项所述的第一装置,所述客户端中包含如权利要求16至权利要求18所述的第二装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310215595.8A CN104219537B (zh) | 2013-05-31 | 2013-05-31 | 视频数据处理的方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310215595.8A CN104219537B (zh) | 2013-05-31 | 2013-05-31 | 视频数据处理的方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104219537A true CN104219537A (zh) | 2014-12-17 |
CN104219537B CN104219537B (zh) | 2018-11-06 |
Family
ID=52100614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310215595.8A Active CN104219537B (zh) | 2013-05-31 | 2013-05-31 | 视频数据处理的方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104219537B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338424A (zh) * | 2015-10-29 | 2016-02-17 | 努比亚技术有限公司 | 一种视频处理方法及*** |
CN106776663A (zh) * | 2015-11-25 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 音频文件的压缩方法和装置 |
CN108848060A (zh) * | 2018-05-17 | 2018-11-20 | 上海哔哩哔哩科技有限公司 | 一种多媒体文件处理方法、处理***及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1157520A2 (en) * | 1999-02-26 | 2001-11-28 | Telefonaktiebolaget LM Ericsson (publ) | Update of header compression state in packet communications |
CN1777175A (zh) * | 2005-08-20 | 2006-05-24 | 海信集团有限公司 | 移动通信中ip数据压缩的方法 |
CN101674373A (zh) * | 2009-09-02 | 2010-03-17 | 优视动景(北京)技术服务有限公司 | 用于移动通讯终端的mp4流媒体播放***及其应用方法 |
CN102883188A (zh) * | 2012-10-16 | 2013-01-16 | 北京千橡网景科技发展有限公司 | 实时下载播放mp4文件的方法和*** |
CN103069812A (zh) * | 2010-06-09 | 2013-04-24 | 三星电子株式会社 | 提供基于分段的多媒体流服务的方法及装置、接收基于分段的多媒体流服务的方法及装置 |
-
2013
- 2013-05-31 CN CN201310215595.8A patent/CN104219537B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1157520A2 (en) * | 1999-02-26 | 2001-11-28 | Telefonaktiebolaget LM Ericsson (publ) | Update of header compression state in packet communications |
CN1777175A (zh) * | 2005-08-20 | 2006-05-24 | 海信集团有限公司 | 移动通信中ip数据压缩的方法 |
CN101674373A (zh) * | 2009-09-02 | 2010-03-17 | 优视动景(北京)技术服务有限公司 | 用于移动通讯终端的mp4流媒体播放***及其应用方法 |
CN103069812A (zh) * | 2010-06-09 | 2013-04-24 | 三星电子株式会社 | 提供基于分段的多媒体流服务的方法及装置、接收基于分段的多媒体流服务的方法及装置 |
CN102883188A (zh) * | 2012-10-16 | 2013-01-16 | 北京千橡网景科技发展有限公司 | 实时下载播放mp4文件的方法和*** |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338424A (zh) * | 2015-10-29 | 2016-02-17 | 努比亚技术有限公司 | 一种视频处理方法及*** |
CN105338424B (zh) * | 2015-10-29 | 2019-10-08 | 努比亚技术有限公司 | 一种视频处理方法及*** |
CN106776663A (zh) * | 2015-11-25 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 音频文件的压缩方法和装置 |
CN106776663B (zh) * | 2015-11-25 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 音频文件的压缩方法和装置 |
CN108848060A (zh) * | 2018-05-17 | 2018-11-20 | 上海哔哩哔哩科技有限公司 | 一种多媒体文件处理方法、处理***及计算机可读存储介质 |
CN108848060B (zh) * | 2018-05-17 | 2021-08-24 | 上海哔哩哔哩科技有限公司 | 一种多媒体文件处理方法、处理***及计算机可读存储介质 |
US11374995B2 (en) | 2018-05-17 | 2022-06-28 | Shanghai Bilibili Technology Co., Ltd. | Multimedia file processing |
Also Published As
Publication number | Publication date |
---|---|
CN104219537B (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10218990B2 (en) | Video encoding for social media | |
TWI692245B (zh) | 視訊解碼裝置、視訊編碼方法及裝置與電腦可讀儲存媒體 | |
US20150156557A1 (en) | Display apparatus, method of displaying image thereof, and computer-readable recording medium | |
EP2151970A1 (en) | Processing and supplying video data | |
CN106998485B (zh) | 视频直播方法及装置 | |
US11893007B2 (en) | Embedding codebooks for resource optimization | |
CN104572966A (zh) | 一种压缩文件的解压方法和装置 | |
CN113906764B (zh) | 用于转码视频的方法、设备和计算机可读介质 | |
CN112532998B (zh) | 抽取视频帧的方法、装置、设备和可读存储介质 | |
CN114337678A (zh) | 数据压缩方法、装置、设备及存储介质 | |
EP3414914A1 (en) | Method and system to share a snapshot extracted from a video transmission | |
CN110225399B (zh) | 流媒体处理方法、装置、计算机设备及存储介质 | |
CN104219537A (zh) | 视频数据处理的方法、装置及*** | |
CN103686077A (zh) | 应用于3g无线网络实时音视频数据传输的双缓冲方法 | |
CN1984228A (zh) | 图像形成***及其方法 | |
CN104572964A (zh) | 一种压缩文件的解压方法和装置 | |
KR101551915B1 (ko) | 영상압축방법 및 영상압축장치 | |
WO2012163059A1 (zh) | 设备重定向的数据传输的方法、装置及*** | |
CN105704215B (zh) | 文件共享***及相应的文件发送方法及装置 | |
WO2018068250A1 (zh) | 处理数据的方法、装置、芯片和摄像头 | |
JP2017192080A (ja) | 画像圧縮装置、画像復号装置、画像圧縮方法及び画像圧縮プログラム | |
CN104333801A (zh) | 一种mp4媒体文件传输方法、播放方法、装置及*** | |
WO2022127565A1 (zh) | 一种视频处理方法、装置以及设备 | |
KR101603976B1 (ko) | 동영상 파일 결합 방법 및 그 장치 | |
JP2023007048A (ja) | ストリーミングサーバ、送信方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |