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

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

Info

Publication number
CN103379364B
CN103379364B CN201210126608.XA CN201210126608A CN103379364B CN 103379364 B CN103379364 B CN 103379364B CN 201210126608 A CN201210126608 A CN 201210126608A CN 103379364 B CN103379364 B CN 103379364B
Authority
CN
China
Prior art keywords
transcoding
video
file
subfile
video 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.)
Active
Application number
CN201210126608.XA
Other languages
English (en)
Other versions
CN103379364A (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

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 (12)

1.一种视频文件的处理方法,其特征在于,所述方法包括:
获取视频文件,根据所述视频文件的帧将所述视频文件分成至少两个视频子文件;解析所述视频文件中每个帧的K-V对,所述K为该帧对应的偏移地址,所述V为所述K对应的数据;根据所述视频文件的每个帧的K-V对将所述视频文件划分成至少两个视频子文件,每个所述视频子文件包括M个所述K-V对,M小于预设阈值,所述预设阈值的设定根据转码服务单元的运行速度,或是视频文件的大小而确定;
将视频子文件分成几组,将不同的组发送到相对应的转码服务单元上进行转码,获得至少两个所述转码服务单元转码后的视频子文件;
根据至少两个转码后的视频子文件获得转码后的视频文件。
2.根据权利要求1所述的方法,其特征在于,所述获取视频文件,包括:
接收终端发起的播放视频文件的请求,根据所述终端发起的播放视频文件的请求获取所述视频文件;
所述根据至少两个转码后的视频子文件获得转码后的视频文件之后,还包括:
向所述终端返回所述转码后的视频文件,使所述终端播放所述转码后的视频文件。
3.根据权利要求1所述的方法,其特征在于,所述获取视频文件,包括:
接收视频网站服务器的转码视频文件的请求,根据所述视频网站的服务器转码视频文件的请求获取所述视频文件;
所述根据至少两个转码后的视频子文件获得转码后的视频文件之后,还包括:
向所述视频网站的服务器返回所述转码后的视频文件,使所述视频网站的服务器保存所述转码后的视频文件。
4.根据权利要求1所述的方法,其特征在于,所述将视频子文件分成几组,将不同的组发送到相对应的转码服务单元上进行转码,获得至少两个所述转码服务单元转码后的视频子文件,包括:
将所述至少两个视频子文件发送到转码服务单元上分别进行转码;
接收所述转码服务单元返回的转码信息,如果所述转码信息为转码后的视频子文件,则存储所述转码后的视频子文件,如果所述转码信息为转码失败信息,则将未被正确转码的视频子文件发送到除发送所述转码失败信息的转码服务单元以外的其它转码服务单元上进行转码,获得所述其它转码服务器单元转码后的视频子文件。
5.根据权利要求4所述的方法,其特征在于,所述接收所述转码服务单元返回的转码信息之后,还包括:
如果所述转码信息为转码后的视频子文件,则记录当前转码服务单元转码成功的信息,如果所述转码信息为转码失败信息,则记录所述当前转码服务单元转码失败的信息。
6.一种视频文件的处理装置,其特征在于,所述装置包括:
文件分割模块,用于获取视频文件,根据所述视频文件的帧将所述视频文件分成至少两个视频子文件;所述文件分割模块,包括文件解析单元,用于解析所述视频文件中每个帧的K-V对,所述K为该帧对应的偏移地址,所述V为所述K对应的数据;文件分割单元,用于根据所述视频文件的每个帧的K-V对将所述视频文件划分成至少两个视频子文件,每个所述视频子文件包括M个所述K-V对,M小于预设阈值,所述预设阈值的设定根据转码服务单元的运行速度,或是视频文件的大小而确定;
文件转码模块,用于将视频子文件分成几组,将不同的组发送到相对应的转码服务单元上进行转码,获得所述至少两个所述转码服务单元转码后的视频子文件;
文件获取模块,用于根据至少两个转码后的视频子文件获得转码后的视频文件。
7.根据权利要求6所述的装置,其特征在于,所述文件分割模块,包括:
第一获取单元,用于接收终端发起的播放视频文件的请求,根据所述终端发起的播放视频文件的请求获取所述视频文件;
所述装置还包括:
第一返回模块,用于所述文件获取模块根据至少两个转码后的视频子文件获得转码后的视频文件之后,向所述终端返回所述转码后的视频文件,使所述终端播放所述转码后的视频文件。
8.根据权利要求6所述的装置,其特征在于,所述文件分割模块,包括:
第二获取单元,用于接收视频网站服务器的转码视频文件的请求,根据所述视频网站的服务器转码视频文件的请求获取所述视频文件;
所述装置还包括:
第二返回模块,用于所述文件获取模块根据至少两个转码后的视频子文件获得转码后的视频文件之后,向所述视频网站的服务器返回所述转码后的视频文件,使所述视频网站的服务器保存所述转码后的视频文件。
9.根据权利要求6所述的装置,其特征在于,所述文件转码模块包括:
文件发送单元,用于将所述至少两个视频子文件发送到转码服务单元上分别进行转码;
文件获取单元,用于接收所述转码服务单元返回的转码信息,如果所述转码信息为转码后的视频子文件,则存储所述转码后的视频子文件,如果所述转码信息为转码失败信息,则将未被正确转码的视频子文件发送到除发送所述转码失败信息的转码服务单元以外的其它转码服务单元上进行转码,获得所述其它转码服务器转码后的视频子文件。
10.根据权利要求9所述的装置,其特征在于,所述文件转码模块,还包括:
记录单元,用于在所述文件获取单元接收所述转码服务单元返回的转码信息之后,如果所述转码信息为转码后的视频子文件,则记录当前转码服务单元转码成功的信息,如果所述转码信息为转码失败信息,则记录所述当前转码服务单元转码失败的信息。
11.一种视频服务器,其特征在于,所述服务器包括:如权利要求6-10任一项所述的视频文件处理的装置。
12.一种视频文件的处理***,其特征在于,所述***包括:如权利要求11所述的视频服务器和至少两个转码服务器,
每个转码服务器,用于接收所述视频服务器发送的视频子文件,并对所述视频子文件进行转码。
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 CN103379364A (zh) 2013-10-30
CN103379364B true 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)

Families Citing this family (3)

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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945278A (zh) * 2010-09-15 2011-01-12 中国科学院深圳先进技术研究院 视频自适应转码方法和***
CN102024033A (zh) * 2010-12-01 2011-04-20 北京邮电大学 一种自动检测音频模板并对视频分章的方法
CN102123279A (zh) * 2010-12-28 2011-07-13 乐视网信息技术(北京)股份有限公司 一种分布式实时转码方法与***

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4165403B2 (ja) * 2004-01-13 2008-10-15 ソニー株式会社 情報処理装置および方法、並びにプログラム
CN101459848B (zh) * 2008-12-26 2010-11-10 西安交通大学 一种分布式多格式数字视频转码结构设计方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945278A (zh) * 2010-09-15 2011-01-12 中国科学院深圳先进技术研究院 视频自适应转码方法和***
CN102024033A (zh) * 2010-12-01 2011-04-20 北京邮电大学 一种自动检测音频模板并对视频分章的方法
CN102123279A (zh) * 2010-12-28 2011-07-13 乐视网信息技术(北京)股份有限公司 一种分布式实时转码方法与***

Also Published As

Publication number Publication date
CN103379364A (zh) 2013-10-30

Similar Documents

Publication Publication Date Title
CN102036058B (zh) 视频监控***中视频切换的方法、服务器、终端及***
CN102656857B (zh) 一种启动阶段的流媒体数据获取、发送方法及装置
CN101662658B (zh) 节目推送方法、机顶盒及电子节目菜单
CN101267589B (zh) 实现互动业务的***及方法
EP2493191B1 (en) Method, device and system for realizing hierarchically requesting content in http streaming system
CN104125229B (zh) 流媒体的播放方法与播放装置
CN103416073B (zh) 用于提供关于对视频内容的处理的反馈的方法和设备
CN104135678A (zh) 一种基于hls协议实现视频点播中视频广告投放的方法
CN104769951A (zh) 可扩展的鲁棒直播流送***
US20160277306A1 (en) Data Stream Identifying Method and Device
US9390274B2 (en) Media data processing method and apparatus
CN105847386A (zh) 直播流的处理方法、装置及***
CN102932681A (zh) 电视节目推荐的实现方法及***
CN111836076A (zh) 视频分辨率切换方法及装置、电子设备
CN101127780A (zh) 将在线视频进行下载、保存、再播放的方法及其在线视频网络的构造
CN111726641A (zh) 直播视频的播放处理方法、装置及服务器
CN103379364B (zh) 视频文件的处理方法、装置、视频服务器和***
CN103546771A (zh) 一种基于智能终端的电视节目评论处理方法及***
CN102571409B (zh) 一种用于实现业务跨终端使用的业务请求管理***及方法
CN111131843A (zh) 一种网络直播***和方法
CN105227989A (zh) 一种基于vdi技术架构的多媒体重定向方法和***
CN107801049A (zh) 一种实时视频传送、播放方法及装置
CN104079975A (zh) 图像处理设备、图像处理方法以及计算机程序
CN109600635B (zh) 一种根据智能电视视频按需推送信息的***及方法
US8582664B2 (en) Method and device for creating a video sequence representative of a digital video sequence and associated methods and devices for transmitting and receiving video data

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