CN103379364A - 视频文件的处理方法、装置、视频服务器和*** - Google Patents

视频文件的处理方法、装置、视频服务器和*** Download PDF

Info

Publication number
CN103379364A
CN103379364A CN201210126608XA CN201210126608A CN103379364A CN 103379364 A CN103379364 A CN 103379364A CN 201210126608X A CN201210126608X A CN 201210126608XA CN 201210126608 A CN201210126608 A CN 201210126608A CN 103379364 A CN103379364 A CN 103379364A
Authority
CN
China
Prior art keywords
transcoding
video
file
video file
behind
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
Application number
CN201210126608XA
Other languages
English (en)
Other versions
CN103379364B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210126608.XA priority Critical patent/CN103379364B/zh
Publication of CN103379364A publication Critical patent/CN103379364A/zh
Application granted granted Critical
Publication of CN103379364B publication Critical patent/CN103379364B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种视频文件的处理方法、装置、视频服务器和***,属于通信技术领域。所述方法包括:获取视频文件,将所述视频文件分成至少两个视频子文件;将所述至少两个视频子文件发送到转码服务单元上分别进行转码,获得至少两个转码服务单元转码后的视频子文件;根据所述至少两个转码后的视频子文件获得转码后的视频文件。本发明通过将整个视频文件分成多个视频子文件分别进行转码,当一个视频子文件转码失败时,不会影响其它视频子文件的转码,只需将转码失败的视频子文件进行转码即可,不需要对整个视频文件重新进行转码,大大缩短了视频文件的转码时间。

Description

视频文件的处理方法、装置、视频服务器和***
技术领域
本发明涉及通信技术领域,特别涉及一种视频文件的处理方法、装置、视频服务器和***。
背景技术
目前视频业务在互联网中已经相当普及,许多视频网站都能为用户提供丰富的视频资源,用户可以在视频网站上找到自己喜欢的视频文件,点击播放进行观看。但视频网站上存储的视频文件都是以预定的代码进行存储的,当用户点击播放视频时,需要对视频网站上存储的视频文件进行重新编解码。
为了加速视频编解码的过程,现有方案大多数是终端将视频文件发送到单个服务器上进行转码,如果在转码进行中出现任务失败或是服务器故障,将该视频文件转移到其它的服务器上重新进行转码,转码完毕后返回视频文件,从而播放视频文件。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
将一个视频文件发送到一个转码服务单元上进行转码,如果将这个视频完全进行转码,需要的转码时间比较长,且如果在转码进行中出现任务失败或是服务器故障,需要将该视频文件转移到其它的服务器上重新进行转码,但在第一个服务器上已经进行了一部份的视频转码,将该视频文件转移到其它的服务器上重新进行转码,浪费了已经被转码的视频资源,更浪费了转码的时间,延长了转码等待时间。
发明内容
为了解决现有技术中视频转码用时比较长的问题,本发明实施例提供了一种视频文件的处理方法、装置、视频服务器和***。所述技术方案如下:
一方面,提供了一种视频文件的处理方法,所述方法包括:
获取视频文件,将所述视频文件分成至少两个视频子文件;
将所述至少两个视频子文件发送到转码服务单元上分别进行转码,获得所述至少两个所述转码服务单元转码后的视频子文件;
根据所述至少两个转码后的视频子文件获得转码后的视频文件。
所述获取视频文件,包括:
接收终端发起的播放视频文件的请求,根据所述终端发起的播放视频文件的请求获取所述视频文件;
所述根据所述至少两个转码后的视频子文件获得转码后的视频文件之后,还包括:
向所述终端返回所述转码后的视频文件,使所述终端播放所述转码后的视频文件。
所述获取视频文件,包括:
接收视频网站服务器的转码视频文件的请求,根据所述视频网站的服务器转码视频文件的请求获取所述视频文件;
所述根据所述至少两个转码后的视频子文件获得转码后的视频文件之后,还包括:
向所述视频网站的服务器返回所述转码后的视频文件,使所述视频网站的服务器保存所述转码后的视频文件。
所述将所述视频文件分成至少两个视频子文件,包括:
解析所述视频文件中每个帧的K-V对,所述K为该帧对应的偏移地址,所述V为所述K对应的数据;
根据所述视频文件的每个帧的K-V对将所述视频文件划分成多个视频子文件,所述每个视频子文件包括一个所述K-V对。
将所述至少两个视频子文件发送到转码服务单元上分别进行转码,获得所述至少两个所述转码服务单元转码后的视频子文件,包括:
将所述至少两个视频子文件发送到转码服务单元上分别进行转码;
接收所述转码服务单元返回的转码信息,如果所述转码信息为转码后的视频子文件,则存储所述转码后的视频子文件,如果所述转码信息为转码失败信息,则将未被正确转码的视频子文件发送到除发送所述转码失败信息的转码服务单元以外的其它转码服务单元上进行转码,获得所述其它转码服务单元转码后的视频子文件。
所述接收所述转码服务单元返回的转码信息之后,还包括:
如果所述转码信息为转码后的视频子文件,则记录所述当前转码服务单元转码成功的信息,如果所述转码信息为转码失败信息,则记录所述当前转码服务单元转码失败的信息。
另一方面,还提供了一种视频文件的处理装置,所述装置包括:
文件分割模块,用于获取视频文件,将所述视频文件分成至少两个视频子文件;
文件转码模块,用于将所述至少两个视频子文件发送到转码服务单元上分别进行转码,获得所述至少两个所述转码服务单元转码后的视频子文件;
文件获取模块,用于根据所述至少两个转码后的视频子文件获得转码后的视频文件。
所述文件分割模块,包括:
第一获取单元,用于接收终端发起的播放视频文件的请求,根据所述终端发起的播放视频文件的请求获取所述视频文件;
所述装置还包括:
第一返回模块,用于所述文件获取模块根据所述至少两个转码后的视频子文件获得转码后的视频文件之后,向所述终端返回所述转码后的视频文件,使所述终端播放所述转码后的视频文件。
所述文件分割模块,包括:
第二获取单元,用于接收视频网站服务器的转码视频文件的请求,根据所述视频网站的服务器转码视频文件的请求获取所述视频文件;
所述装置还包括:
第二返回模块,用于所述文件获取模块根据所述至少两个转码后的视频子文件获得转码后的视频文件之后,向所述视频网站的服务器返回所述转码后的视频文件,使所述视频网站的服务器保存所述转码后的视频文件。
所述文件分割,包括:
文件解析单元,用于解析所述视频文件中每个帧的K-V对,所述K为该帧对应的偏移地址,所述V为所述K对应的数据;
文件分割单元,用于根据所述视频文件的每个帧的K-V对将所述视频文件划分成多个视频子文件,所述每个视频子文件包括一个所述K-V对。
所述文件转码模块包括:
文件发送单元,用于将所述至少两个视频子文件发送到转码服务单元上分别进行转码;
文件获取单元,用于接收所述转码服务单元返回的转码信息,如果所述转码信息为转码后的视频子文件,则存储所述转码后的视频子文件,如果所述转码信息为转码失败信息,则将未被正确转码的视频子文件发送到除发送所述转码失败信息的转码服务单元以外的其它转码服务单元上进行转码,获得所述其它转码服务单元转码后的视频子文件。
所述文件转码模块,还包括:
记录单元,用于在所述文件获取单元接收所述转码服务单元返回的转码信息之后,如果所述转码信息为转码后的视频子文件,则记录所述当前转码服务单元转码成功的信息,如果所述转码信息为转码失败信息,则记录所述当前转码服务单元转码失败的信息。
另一方面,还提供了一种视频服务器,所述服务器包括:如上所述的视频文件的处理装置。
另一方面,还提供了一种视频文件的处理***,所述***包括:如上所述的视频服务器和至少两个转码服务器,
所述每个转码服务器,用于接收所述视频服务器发送的视频子文件,并对所述视频子文件进行转码。
本发明实施例提供的技术方案带来的有益效果是:获取视频文件,将所述视频文件分成至少两个视频子文件;将所述至少两个视频子文件发送到转码服务单元上分别进行转码,获得至少两个所述转码后的视频子文件;根据所述至少两个转码后的视频子文件获得转码后的视频文件。这样将整个视频文件分成多个视频子文件分别进行转码,当一个视频子文件转码失败时,不会影响其它视频子文件的转码,只需将转码失败的视频子文件进行转码即可,不需要对整个视频文件重新进行转码,大大缩短了视频文件的转码时间,解决了转码耗时比较长的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1中提供的一种视频文件的处理方法的流程图;
图2是本发明实施例2中提供的一种视频文件的处理方法的流程图;
图3是本发明实施例3中提供的一种视频文件的处理方法的流程图;
图4是本发明实施例4中提供的一种视频文件的处理装置的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图1,本实施例中提供了一种视频文件的处理方法,所述方法包括:
101、获取视频文件,将所述视频文件分成至少两个视频子文件;
102、将所述至少两个视频子文件发送到转码服务单元上分别进行转码,获得所述至少两个所述转码服务单元转码后的视频子文件;
103、根据所述至少两个转码后的视频子文件获得转码后的视频文件。
可选地,所述获取视频文件,包括:
接收终端发起的播放视频文件的请求,根据所述终端发起的播放视频文件的请求获取所述视频文件;
可选地,所述根据所述至少两个转码后的视频子文件获得转码后的视频文件之后,还包括:
向所述终端返回所述转码后的视频文件,使所述终端播放所述转码后的视频文件。
可选地,所述获取视频文件,包括:
接收视频网站服务器的转码视频文件的请求,根据所述视频网站的服务器转码视频文件的请求获取所述视频文件;
可选地,所述根据所述至少两个转码后的视频子文件获得转码后的视频文件之后,还包括:
向所述视频网站的服务器返回所述转码后的视频文件,使所述视频网站的服务器保存所述转码后的视频文件。
优选地,所述将所述视频文件分成至少两个视频子文件,包括:
解析所述视频文件中每个帧的K-V对,所述K为该帧对应的偏移地址,所述V为所述K对应的数据;
根据所述视频文件的每个帧的K-V对将所述视频文件划分成至少两个视频子文件,所述每个视频子文件包括一个所述K-V对。
本实施例中,将所述至少两个视频子文件发送到转码服务单元上分别进行转码,获得所述至少两个所述转码服务单元转码后的视频子文件,包括:
将所述至少两个视频子文件发送到转码服务单元上分别进行转码;
接收所述转码服务单元返回的转码信息,如果所述转码信息为转码后的视频子文件,则存储所述转码后的视频子文件,如果所述转码信息为转码失败信息,则将未被正确转码的视频子文件发送到除发送所述转码失败信息的转码服务单元以外的其它转码服务单元上进行转码,获得所述其它转码服务单元转码后的视频子文件。
可选地,所述接收所述转码服务单元返回的转码信息之后,还包括:
如果所述转码信息为转码后的视频子文件,则记录所述当前转码服务单元转码成功的信息,如果所述转码信息为转码失败信息,则记录所述当前转码服务单元转码失败的信息。
本实施例的有益效果包括:获取视频文件,将所述视频文件分成至少两个视频子文件;将所述至少两个视频子文件发送到转码服务单元上分别进行转码;获得至少两个所述转码后的视频子文件,根据所述至少两个转码后的视频子文件获得转码后的视频文件。这样将整个视频文件的转码工作由一台转码服务单元分担到多个转码服务单元上,每个转码服务单元只需要转码该视频文件的一部分子文件,多台转码服务单元同时工作,大大缩短了视频文件的转码时间,解决了转码耗时比较长的问题。
实施例2
本实施例中提供了一种视频文件的处理方法,终端发起播放视频的请求,转码服务单元对该视频进行转码,终端实时播放转码后的视频。本实施例中提供的视频文件的处理方法基于一种分布式***,该分布式***包括为终端提供视频服务的视频网站的服务器、视频服务器和多个转码服务单元,每个转码服务单元均可以与视频服务器进行通信。其中,视频网站的服务器接收终端播放视频的请求,并进一步将该请求发送给视频服务器,视频服务器根据接收到请求获取视频文件,并进一步将该视频文件分割成至少两个视频子文件,将视频子文件发送到转码服务单元上进行转码。本实施例中转码服务单元可以为转码服务器的一个功能单元,具体执行对视频文件进行转码的任务。参见图2,该方法具体包括:
201、接收终端发起的播放视频文件的请求,根据所述终端发起的播放视频文件的请求获取视频文件。
本步骤中,在用户浏览视频网站时,随时会发起播放视频的请求,当用户发起视频播放请求后,终端接收到请求,将该请求发送到为其服务的视频网站的服务器上,该服务器进一步的将该请求发送到视频服务器上,视频服务器根据该请求向网络资源上查询该请求的种子文件,并获得视频文件。
本实施例中的终端包括个人计算机或是移动终端,对此本实施例不做具体限定。
202、将视频文件分成至少两个视频子文件。
现有的视频文件均以一定的编码格式存储的,每个视频文件包括N个帧,每个帧对应一个K-V对,K为该帧对应的偏移地址,V为所述K对应的数据。为了缩短转码的时间,本步骤中,将视频文件划分成至少两个视频子文件,其中,基于视频文件的编码格式,优选地,将视频划分成至少两个视频子文件包括:解析所述视频文件中每个帧的K-V对,根据所述视频文件的每个帧的K-V对将所述视频文件划分成多个视频子文件,所述每个视频子文件包括一个所述K-V对。
可选地,本实施例中,每个视频子文件也可以包括M个K-V对,M小于预设阈值,具体预设阈值的设定可以根据转码服务单元的运行速度,或是视频文件的大小而确定,对此本实施例不做具体限定。
203、将所述至少两个视频子文件发送到至少两个转码服务单元上分别进行转码,获得至少两个转码服务单元转码后的视频子文件。
本步骤中,在获得至少两个视频子文件后,将至少两个视频子文件发送到分布式***中的转码服务单元上分别进行转码,转码服务单元同时对多个视频子文件进行转码,由于每个视频子文件的都很小,这样转码很快就能完成,大大加快了转码速度,缩短了转码所用的时间。具体实施过程中,优选地为了提高转码速度,一个视频子文件占用一台转码服务单元进行转码,即将每个视频子文件发送到相对应的转码服务单元上进行转码,可选地,也可以将视频子文件分成几组,将不同的组发送到相对应的转码服务单元上进行转码,或是将多个视频子文件发送到一台转码服务单元上进行转码,具体采用何种方式进行转码,对此本实施例不做具体限定。
本步骤中,在转码服务单元进行转码的过程中,由于转码服务单元故障或是其它因素,可能会出现转码失败的情况,此时,该转码服务单元会向视频服务器返回转码失败的信息,视频服务器接收到该转码失败的请求后,立即将该转码失败的视频子文件发送到其它转码服务单元上进行转码。具体的,将所述至少两个视频子文件发送到至少两个转码服务单元上分别进行转码,获得所述至少两个转码后的视频子文件,包括:
1)将所述至少两个视频子文件发送到转码服务单元上分别进行转码;
2)接收所述转码服务单元返回的转码信息,如果所述转码信息为转码后的视频子文件,则存储所述转码后的视频子文件,如果所述转码信息为转码失败信息,则将未被正确转码的视频子文件发送到除发送所述转码失败信息的转码服务单元以外的其它转码服务单元上进行转码,获得所述转码后的视频子文件。
本步骤中,由于多个视频子文件分别在多个转码服务单元上进行转码,所以即使该视频子文件转码失败也不会影响到其它视频子文件的转码,不会产生视频资源浪费的问题。而且,单个的视频子文件比较小,转码用时短,不会浪费很长时间,进一步缩短了转码时间。
本实施例中可选地,在接收所述转码服务单元返回的转码信息之后,还包括:如果所述转码信息为转码后的视频子文件,则记录所述当前转码服务单元转码成功的信息,如果所述转码信息为转码失败信息,则记录所述当前转码服务单元转码失败的信息。当接收到转码失败的信息后,可以根据记录的转码服务单元转码成功或是转码失败的信息,将转码失败的视频子文件发送到记录的转码成功的转码服务单元上。例如,视频服务器将5个视频子文件分别发送到转码服务单元1、转码服务单元2、转码服务单元3、转码服务单元4和转码服务单元5上,在这几个转码服务单元对接收到的视频子文件进行转码后,将转码后的信息返回给视频服务器,如果视频服务器接收到的转码服务单元1、2和3返回的转码信息为转码后的视频子文件,则记录转码服务单元1、2和3转码成功的信息,如果视频服务器接收到的转码服务单元4和5是转码失败的信息,则记录转码服务单元4和5转码失败的信息,并将转码失败的视频子文件发送到记录的能够成功进行转码的转码服务单元上,如发送到转码服务单元1,或转码服务单元2,或转码服务单元3上,这样就能够提高转码成功的概率,从而进一步提高视频播放的时间,提高用户的体验感。
本步骤中,对视频文件进行转码的过程即对视频文件的解码过程,具体的转码方法属于现有技术,本实施例对此不再赘述。
204、根据所述至少两个视频子文件获得转码后的视频文件。
本步骤中,当视频子文件在转码服务单元上转码完毕后,得到至少两个转码后的视频子文件,将转码后的视频子文件按着分割时的序号连接成一个完整的视频文件,其中分割时的序号指的就是视频子文件对应的偏移地址K。
205、向终端返回所述转码后的视频文件,使所述终端播放所述转码后的视频文件。
本步骤中,在接收到终端发起请求后,对视频进行转码,在转码完毕后将转码后的视频文件返回给视频网站的服务器,视频网站的服务器再将视频返回给终端进行播放,终端实时播放转码后的视频文件。
本实施例的有益效果包括:获取视频文件,将所述视频文件分成至少两个视频子文件;将所述至少两个视频子文件发送到转码服务单元上分别进行转码;获得至少两个所述转码后的视频子文件,根据所述至少两个转码后的视频子文件获得转码后的视频文件。这样将整个视频文件分成多个视频子文件分别进行转码,当一个视频子文件转码失败时,不会影响其它视频子文件的转码,只需将转码失败的视频子文件进行转码即可,不需要对整个视频文件重新进行转码,大大缩短了视频文件的转码时间,解决了转码耗时比较长的问题。且将一个视频的转码工作由一台转码服务单元分担到多个转码服务单元上,每个转码服务单元只需要转码该视频文件的一部分子文件,多台转码服务单元同时工作,进一步提高了***的转码效率,缩短转码时间。本实施例中,终端实时播放转码后的视频,多个转码服务单元同时对一个视频的多个视频子文件进行转码,加快了视频的播放时间,进一步提高了终端用户观看视频时的体验感。
实施例3
本实施例中提供了一种视频文件的处理方法,本实施例中提供了方法也是基于实施例2中所述的分布式***,对此本实施例不再赘述。不需要终端发起播放视频的请求,在视频网站中有未被进行转码的视频时,视频网站的服务器向转码服务单元发出视频转码的请求,对视频进行转码,视频网站的服务器保存转码后的视频文件,在终端请求播放该视频时,就可以直接播放转码后的视频文件,不需要再向转码服务单元发起转码请求,这样进一步减少了终端用户等待播放视频的时间请求,且由于已将该视频文件完全转码,在视频播放的过程中不会出现因为视频子文件转码失败,出现视频缓冲时间比较长的问题。
参见图3,具体的该方法包括:
301、接收视频网站的服务器发起的转码视频文件的请求,根据所述视频网站的服务器发起的转码视频文件的请求获取视频文件。
本步骤中,视频网站的服务器检查本地存储的视频文件的信息,如果发现存在未被转码的视频文件,则向视频服务器发送视频转码的请求,视频服务器根据该请求向网络资源上查询该请求的种子文件,并获得视频文件。
本实施例中的终端包括个人计算机或是移动终端,对此本实施例不做具体限定。
302、将视频文件分成至少两个视频子文件。
现有的视频文件均以一定的编码格式存储的,每个视频文件包括N个帧,每个帧对应一个K-V对,K为该帧对应的偏移地址,V为所述K对应的数据。为了缩短转码的时间,本步骤中,将视频文件划分成至少两个视频子文件,其中,基于视频文件的编码格式,优选地,将视频划分成至少两个视频子文件包括:解析所述视频文件中每个帧的K-V对,根据所述视频文件的每个帧的K-V对将所述视频文件划分成多个视频子文件,所述每个视频子文件包括一个所述K-V对。
可选地,本实施例中,每个视频子文件也可以包括M个K-V对,M小于预设阈值,具体预设阈值的设定可以根据转码服务单元的运行速度,或是视频文件的大小而确定,对此本实施例不做具体限定。
303、将所述至少两个视频子文件发送到至少两个转码服务单元上分别进行转码,获得至少两个转码服务单元转码后的视频子文件。
本步骤中,在获得至少两个视频子文件后,将至少两个视频子文件发送到分布式***中的转码服务单元上分别进行转码,转码服务单元同时对多个视频子文件进行转码,由于每个视频子文件的都很小,这样转码很快就能完成,大大加快了转码速度,缩短了转码所用的时间。具体实施过程中,优选地为了提高转码速度,一个视频子文件占用一台转码服务单元进行转码,即将每个视频子文件发送到相对应的转码服务单元上进行转码,可选地,也可以将视频子文件分成几组,将不同的组发送到相对应的转码服务单元上进行转码,或是将多个视频子文件发送到一台转码服务单元上进行转码,具体采用何种方式进行转码,对此本实施例不做具体限定。
本步骤中,在转码服务单元进行转码的过程中,由于转码服务单元故障或是其它因素,可能会出现转码失败的情况,此时,该转码服务单元会向视频服务器返回转码失败的信息,视频服务器接收到该转码失败的请求后,立即将该转码失败的视频子文件发送到其它转码服务单元上进行转码。具体的,将所述至少两个视频子文件发送到至少两个转码服务单元上分别进行转码,获得所述至少两个转码后的视频子文件,包括:
1)将所述至少两个视频子文件发送到转码服务单元上分别进行转码;
2)接收所述转码服务单元返回的转码信息,如果所述转码信息为转码后的视频子文件,则存储所述转码后的视频子文件,如果所述转码信息为转码失败信息,则将未被正确转码的视频子文件发送到除发送所述转码失败信息的转码服务单元以外的其它转码服务单元上进行转码,获得所述转码后的视频子文件。
本步骤中,由于多个视频子文件分别在多个转码服务单元上进行转码,所以即使该视频子文件转码失败也不会影响到其它视频子文件的转码,不会产生视频资源浪费的问题。而且,单个的视频子文件比较小,转码用时短,不会浪费很长时间,进一步缩短了转码时间。
本实施例中可选地,在接收所述转码服务单元返回的转码信息之后,还包括:如果所述转码信息为转码后的视频子文件,则记录所述当前转码服务单元转码成功的信息,如果所述转码信息为转码失败信息,则记录所述当前转码服务单元转码失败的信息。当接收到转码失败的信息后,可以根据记录的转码服务单元转码成功或是转码失败的信息,将转码失败的视频子文件发送到记录的转码成功的转码服务单元上。例如,视频服务器将5个视频子文件分别发送到转码服务单元1、转码服务单元2、转码服务单元3、转码服务单元4和转码服务单元5上,在这几个转码服务单元对接收到的视频子文件进行转码后,将转码后的信息返回给视频服务器,如果视频服务器接收到的转码服务单元1、2和3返回的转码信息为转码后的视频子文件,则记录转码服务单元1、2和3转码成功的信息,如果视频服务器接收到的转码服务单元4和5是转码失败的信息,则记录转码服务单元4和5转码失败的信息,并将转码失败的视频子文件发送到记录的能够成功进行转码的转码服务单元上,如发送到转码服务单元1,或转码服务单元2,或转码服务单元3上,这样就能够提高转码成功的概率,从而进一步提高视频播放的时间,提高用户的体验感。
本步骤中,对视频文件进行转码的过程即对视频文件的解码过程,具体的转码方法属于现有技术,本实施例对此不再赘述。
304、根据所述至少两个视频子文件获得转码后的视频文件。
本步骤中,当视频子文件在转码服务单元上转码完毕后,得到至少两个转码后的视频子文件,将转码后的视频子文件按着分割时的序号连接成一个完整的视频文件,其中分割时的序号指的就是视频子文件对应的偏移地址K。
305、向视频网站的服务器返回所述转码后的视频文件,使视频网站的服务器保存转码后的视频文件。
本步骤中,在接收到视频网站的服务器发起送请求后,对视频进行转码,在转码完毕后将转码后的视频文件返回给视频网站的服务器,视频网站的服务器保存该转码后的视频文件,后续终端请求播放该视频时,视频网站的服务器可以直接将该视频提供给终端播放,不需要在进行转码。
本实施例的有益效果包括:获取视频文件,将所述视频文件分成至少两个视频子文件;将所述至少两个视频子文件发送到转码服务单元上分别进行转码;获得至少两个所述转码后的视频子文件,根据所述至少两个转码后的视频子文件获得转码后的视频文件。这样将整个视频文件分成多个视频子文件分别进行转码,当一个视频子文件转码失败时,不会影响其它视频子文件的转码,只需将转码失败的视频子文件进行转码即可,不需要对整个视频文件重新进行转码,大大缩短了视频文件的转码时间,解决了转码耗时比较长的问题。且将一个视频的转码工作由一台转码服务单元分担到多个转码服务单元上,每个转码服务单元只需要转码该视频文件的一部分子文件,多台转码服务单元同时工作,进一步提高了***的转码效率,缩短转码时间。本实施例中在视频网站中有未被进行转码的视频时,视频网站的服务器向转码服务单元发出视频转码的请求,对视频进行转码,视频网站的服务器保存转码后的视频文件,在终端请求播放该视频时,就可以直接播放转码后的视频文件,不需要再向转码服务单元发起转码请求,这样进一步减少了终端用户等待播放视频的时间请求,且由于已将该视频文件完全转码,在视频播放的过程中不会出现因为视频子文件转码失败,出现视频缓冲时间比较长的问题。
实施例4
参见图4,本实施例中提供了一种视频文件的处理装置,所述装置包括:文件分割模块401、文件转码模块402和文件获取模块403。
文件分割模块401,用于获取视频文件,将所述视频文件分成至少两个视频子文件;
文件转码模块402,用于将所述至少两个视频子文件发送到转码服务单元上分别进行转码,获得所述至少两个所述转码服务单元转码后的视频子文件;
文件获取模块403,用于根据所述至少两个转码后的视频子文件获得转码后的视频文件。
可选地,所述文件分割模块401,包括:
第一获取单元,用于接收终端发起的播放视频文件的请求,根据所述终端发起的播放视频文件的请求获取所述视频文件;
可选地,所述装置还包括:
第一返回模块,用于所述文件获取模块403根据所述至少个转码后的视频子文件获得转码后的视频文件之后,向所述终端返回所述转码后的视频文件,使所述终端播放所述转码后的视频文件。
可选地,所述文件分割模块401,包括:
第二获取单元,用于接收视频网站的服务器转码视频文件的请求,根据所述视频网站的服务器转码视频文件的请求获取所述视频文件;
可选地,所述装置还包括:
第二返回模块,用于所述文件获取模块403根据所述至少两个转码后的视频子文件获得转码后的视频文件之后,向所述视频网站的服务器返回所述转码后的视频文件,使所述视频网站的服务器保存所述转码后的视频文件。
优选地,所述文件分割模块401,包括:
文件解析单元,用于解析所述视频文件中每个帧的K-V对,所述K为该帧对应的偏移地址,所述V为所述K对应的数据;
文件分割单元,用于根据所述视频文件的每个帧的K-V对将所述视频文件划分成多个视频子文件,所述每个视频子文件包括一个所述K-V对。
优选地,所述文件转码模块402包括:
文件发送单元,用于将所述至少两个视频子文件发送到转码服务单元上分别进行转码;
文件获取单元,用于接收所述转码服务单元返回的转码信息,如果所述转码信息为转码后的视频子文件,则存储所述转码后的视频子文件,如果所述转码信息为转码失败信息,则将未被正确转码的视频子文件发送到除发送所述转码失败信息的转码服务单元以外的其它转码服务单元上进行转码,获得所述其它所述转码服务单元转码后的视频子文件。
可选地,所述文件转码模块402,还包括:
记录单元,用于在所述文件获取单元接收所述转码服务单元返回的转码信息之后,如果所述转码信息为转码后的视频子文件,则记录所述当前转码服务单元转码成功的信息,如果所述转码信息为转码失败信息,则记录所述当前转码服务单元转码失败的信息。
本实施例中转码服务单元可以为转码服务器的一个功能单元,具体执行对视频文件进行转码的任务。
另一方面,本实施例中还提供了一种视频服务器,所述视频服务器包括:如上所述的视频文件的处理装置。
本实施例中,每个转码服务单元均可以与视频服务器进行通信。
另一方面,本实施例中还提供了一种视频文件的处理***,所述***包括:如上所述的视频服务器和至少两个转码服务器,
所述每个转码服务器,用于接收所述视频服务器发送的视频子文件,并对所述视频子文件进行转码。
其中,当实施例2中的转码服务单元为转码服务器的一个功能单元时,本实施例中的视频文件的处理***与实施例2中所述的分布式***可以为一个***,对此本实施例不再赘述。
本实施例的有益效果包括:获取视频文件,将所述视频文件分成至少两个视频子文件;将所述至少两个视频子文件发送到至少两个转码服务单元上分别进行转码,获得至少两个所述转码后的视频子文件;根据所述至少两个转码后的视频子文件获得转码后的视频文件。这样将整个视频文件分成多个视频子文件分别进行转码,当一个视频子文件转码失败时,不会影响其它视频子文件的转码,只需将转码失败的视频子文件进行转码即可,不需要对整个视频文件重新进行转码,大大缩短了视频文件的转码时间,解决了转码耗时比较长的问题。
本实施例提供的装置、视频服务器和***,具体可以与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种视频文件的处理方法,其特征在于,所述方法包括:
获取视频文件,将所述视频文件分成至少两个视频子文件;
将所述至少两个视频子文件发送到转码服务单元上分别进行转码,获得所述至少两个所述转码服务单元转码后的视频子文件;
根据所述至少两个转码后的视频子文件获得转码后的视频文件。
2.根据要求1所述的方法,其特征在于,所述获取视频文件,包括:
接收终端发起的播放视频文件的请求,根据所述终端发起的播放视频文件的请求获取所述视频文件;
所述根据所述至少两个转码后的视频子文件获得转码后的视频文件之后,还包括:
向所述终端返回所述转码后的视频文件,使所述终端播放所述转码后的视频文件。
3.根据权利要求1所述的方法,其特征在于,所述获取视频文件,包括:
接收视频网站服务器的转码视频文件的请求,根据所述视频网站的服务器转码视频文件的请求获取所述视频文件;
所述根据所述至少两个转码后的视频子文件获得转码后的视频文件之后,还包括:
向所述视频网站的服务器返回所述转码后的视频文件,使所述视频网站的服务器保存所述转码后的视频文件。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述将所述视频文件分成至少两个视频子文件,包括:
解析所述视频文件中每个帧的K-V对,所述K为该帧对应的偏移地址,所述V为所述K对应的数据;
根据所述视频文件的每个帧的K-V对将所述视频文件划分成多个视频子文件,所述每个视频子文件包括一个所述K-V对。
5.根据权利要求1所述的方法,其特征在于,所述将所述至少两个视频子文件发送到转码服务单元上分别进行转码,获得所述至少两个所述转码服务单元转码后的视频子文件,包括:
将所述至少两个视频子文件发送到转码服务单元上分别进行转码;
接收所述转码服务单元返回的转码信息,如果所述转码信息为转码后的视频子文件,则存储所述转码后的视频子文件,如果所述转码信息为转码失败信息,则将未被正确转码的视频子文件发送到除发送所述转码失败信息的转码服务单元以外的其它转码服务单元上进行转码,获得所述其它转码服务器单元转码后的视频子文件。
6.根据权利要求5所述的方法,其特征在于,所述接收所述转码服务单元返回的转码信息之后,还包括:
如果所述转码信息为转码后的视频子文件,则记录所述当前转码服务单元转码成功的信息,如果所述转码信息为转码失败信息,则记录所述当前转码服务单元转码失败的信息。
7.一种视频文件的处理装置,其特征在于,所述装置包括:
文件分割模块,用于获取视频文件,将所述视频文件分成至少两个视频子文件;
文件转码模块,用于将所述至少两个视频子文件发送到转码服务单元上分别进行转码,获得所述至少两个所述转码服务单元转码后的视频子文件;
文件获取模块,用于根据所述至少两个转码后的视频子文件获得转码后的视频文件。
8.根据要求7所述的装置,其特征在于,所述文件分割模块,包括:
第一获取单元,用于接收终端发起的播放视频文件的请求,根据所述终端发起的播放视频文件的请求获取所述视频文件;
所述装置还包括:
第一返回模块,用于所述文件获取模块根据所述至少两个转码后的视频子文件获得转码后的视频文件之后,向所述终端返回所述转码后的视频文件,使所述终端播放所述转码后的视频文件。
9.根据权利要求7所述的装置,其特征在于,所述文件分割模块,包括:
第二获取单元,用于接收视频网站服务器的转码视频文件的请求,根据所述视频网站的服务器转码视频文件的请求获取所述视频文件;
所述装置还包括:
第二返回模块,用于所述文件获取模块根据所述至少两个转码后的视频子文件获得转码后的视频文件之后,向所述视频网站的服务器返回所述转码后的视频文件,使所述视频网站的服务器保存所述转码后的视频文件。
10.根据权利要求7-9任一项所述的装置,其特征在于,所述文件分割模块,包括:
文件解析单元,用于解析所述视频文件中每个帧的K-V对,所述K为该帧对应的偏移地址,所述V为所述K对应的数据;
文件分割单元,用于根据所述视频文件的每个帧的K-V对将所述视频文件划分成多个视频子文件,所述每个视频子文件包括一个所述K-V对。
11.根据权利要求7所述的装置,其特征在于,所述文件转码模块包括:
文件发送单元,用于将所述至少两个视频子文件发送到转码服务单元上分别进行转码;
文件获取单元,用于接收所述转码服务单元返回的转码信息,如果所述转码信息为转码后的视频子文件,则存储所述转码后的视频子文件,如果所述转码信息为转码失败信息,则将未被正确转码的视频子文件发送到除发送所述转码失败信息的转码服务单元以外的其它转码服务单元上进行转码,获得所述其它转码服务器转码后的视频子文件。
12.根据权利要求11所述的装置,其特征在于,所述文件转码模块,还包括:
记录单元,用于在所述文件获取单元接收所述转码服务单元返回的转码信息之后,如果所述转码信息为转码后的视频子文件,则记录所述当前转码服务单元转码成功的信息,如果所述转码信息为转码失败信息,则记录所述当前转码服务单元转码失败的信息。
13.一种视频服务器,其特征在于,所述服务器包括:如权利要求7-12任一项所述的视频文件处理的装置。
14.一种视频文件的处理***,其特征在于,所述***包括:如权利要求13所述的视频服务器和至少两个转码服务器,
所述每个转码服务器,用于接收所述视频服务器发送的视频子文件,并对所述视频子文件进行转码。
CN201210126608.XA 2012-04-26 2012-04-26 视频文件的处理方法、装置、视频服务器和*** Active CN103379364B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210126608.XA CN103379364B (zh) 2012-04-26 2012-04-26 视频文件的处理方法、装置、视频服务器和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210126608.XA CN103379364B (zh) 2012-04-26 2012-04-26 视频文件的处理方法、装置、视频服务器和***

Publications (2)

Publication Number Publication Date
CN103379364A true CN103379364A (zh) 2013-10-30
CN103379364B CN103379364B (zh) 2018-08-03

Family

ID=49463848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210126608.XA Active CN103379364B (zh) 2012-04-26 2012-04-26 视频文件的处理方法、装置、视频服务器和***

Country Status (1)

Country Link
CN (1) CN103379364B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103686204A (zh) * 2013-12-20 2014-03-26 乐视网信息技术(北京)股份有限公司 基于转码失败的智能重试的方法和***
CN105357593A (zh) * 2015-10-30 2016-02-24 努比亚技术有限公司 一种上传视频的方法、装置和***
CN105451031A (zh) * 2015-11-18 2016-03-30 腾讯科技(深圳)有限公司 一种视频转码方法和***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080183727A1 (en) * 2004-01-13 2008-07-31 Mitsutoshi Shinkai Information processing apparatus, information processing method, and program
CN101459848A (zh) * 2008-12-26 2009-06-17 西安交通大学 一种分布式多格式数字视频转码结构设计方法
CN101945278A (zh) * 2010-09-15 2011-01-12 中国科学院深圳先进技术研究院 视频自适应转码方法和***
CN102024033A (zh) * 2010-12-01 2011-04-20 北京邮电大学 一种自动检测音频模板并对视频分章的方法
CN102123279A (zh) * 2010-12-28 2011-07-13 乐视网信息技术(北京)股份有限公司 一种分布式实时转码方法与***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080183727A1 (en) * 2004-01-13 2008-07-31 Mitsutoshi Shinkai Information processing apparatus, information processing method, and program
CN101459848A (zh) * 2008-12-26 2009-06-17 西安交通大学 一种分布式多格式数字视频转码结构设计方法
CN101945278A (zh) * 2010-09-15 2011-01-12 中国科学院深圳先进技术研究院 视频自适应转码方法和***
CN102024033A (zh) * 2010-12-01 2011-04-20 北京邮电大学 一种自动检测音频模板并对视频分章的方法
CN102123279A (zh) * 2010-12-28 2011-07-13 乐视网信息技术(北京)股份有限公司 一种分布式实时转码方法与***

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103686204A (zh) * 2013-12-20 2014-03-26 乐视网信息技术(北京)股份有限公司 基于转码失败的智能重试的方法和***
CN105357593A (zh) * 2015-10-30 2016-02-24 努比亚技术有限公司 一种上传视频的方法、装置和***
CN105357593B (zh) * 2015-10-30 2019-06-07 努比亚技术有限公司 一种上传视频的方法、装置和***
CN105451031A (zh) * 2015-11-18 2016-03-30 腾讯科技(深圳)有限公司 一种视频转码方法和***

Also Published As

Publication number Publication date
CN103379364B (zh) 2018-08-03

Similar Documents

Publication Publication Date Title
CN108848060B (zh) 一种多媒体文件处理方法、处理***及计算机可读存储介质
CN104219286B (zh) 流媒体处理方法、装置、客户端、cdn节点服务器及终端
CN102055718B (zh) 一种在http streaming***中实现分层请求内容的方法,装置和***
CN104967862A (zh) 一种视频存储方法及装置和视频搜索方法及装置
CN103581230A (zh) 文件传输***和方法、接收端、发送端
CN103078847A (zh) 一种多码率流文件的存储和读取方法及相关装置
US10448073B2 (en) Popping-screen push system and method
CN102523314A (zh) 识别高效的目标服务器
CN101677325A (zh) 发布媒体描述信息和获取媒体的方法、装置、***
CN102740125B (zh) 一种播放流媒体的***和方法
CN102694831A (zh) 移动终端流媒体数据补偿方法与***、内容分发网络
CN102932472A (zh) 一种数据处理方法以及通信***
CN103139173A (zh) 终端设备、媒体交换网***、媒体业务下载方法及***
CN104091478A (zh) 随问随答学习机以及网络学习***
CN102111426A (zh) 点对点技术的实现方法、***和装置
CN105357041A (zh) 边缘节点服务器及日志文件上传方法和***
CA2931525A1 (en) Data stream identifying method and device
CN104394601A (zh) 一种WiFi无线网络的访问控制方法、装置及路由器
CN103546771A (zh) 一种基于智能终端的电视节目评论处理方法及***
CN105338421A (zh) 一种hls流媒体传输方法及装置
CN103379364A (zh) 视频文件的处理方法、装置、视频服务器和***
US20140358996A1 (en) Distributed encoding and decoding system, method, and device
CN105827700A (zh) 一种动态文件的传输方法、装置及电子设备
CN102811342A (zh) 视频轮切控制方法、设备及***
CN104113545A (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