CN110213615A - 视频转码方法、装置、服务器以及存储介质 - Google Patents
视频转码方法、装置、服务器以及存储介质 Download PDFInfo
- Publication number
- CN110213615A CN110213615A CN201810295313.2A CN201810295313A CN110213615A CN 110213615 A CN110213615 A CN 110213615A CN 201810295313 A CN201810295313 A CN 201810295313A CN 110213615 A CN110213615 A CN 110213615A
- Authority
- CN
- China
- Prior art keywords
- video
- transcoding
- reference paper
- slicing
- sub
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000002123 temporal effect Effects 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 abstract description 27
- 230000002688 persistence Effects 0.000 abstract description 4
- 238000004321 preservation Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000011218 segmentation Effects 0.000 description 7
- 239000012634 fragment Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 101150027108 Hspbap1 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234309—Processing 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
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种视频转码方法、装置、服务器以及存储介质,属于视频处理领域。本发明提供的技术方案,通过事先生成视频的转码参考文件,并对该转码参考文件进行持久化保存,以便在后续对视频进行的转码过程中对转码进行指导,避免了重复计算的过程,且对于同样数量的转码需求,所需要使用的服务器数量也大大减少,大大节约了转码成本,且由于将多个编码降为一次编码,大大节约了转码的时间消耗。
Description
技术领域
本发明涉及视频处理领域,特别涉及一种视频转码方法、装置、服务器以及存储介质。
背景技术
为了适应复杂的网络场景,对于一个视频源通常会通过转码来提供多个不同清晰度的视频,例如标清、高清、超清和蓝光等,根据用户实际的网络推送合适视频流,来保证用户良好的视频播放体验。如果播放过程中出现卡顿而需要切换清晰度时,如果两路视频流I帧播放时间戳不一致,播放客户端通常会在切换流中选择一个时间戳接近的I帧进行切换。由于两个I帧的视频画面不一致,会导致播放画面后退或者前进,切换过程显得不顺畅,影响正常播放。
目前,为了避免出现上述切换过程不顺畅等情况,服务器在转码时会采用下述过程:1)对视频进行切片,由多个服务器分别对切片得到的每个视频分片进行pass1编码,生成stats文件,该stats文件中包括该视频分片中每帧的图像信息。2)pass2在分布式转码过程中,各个服务器根据视频分片对应的stats文件,指导编码器进行pass2编码,生成对应清晰度的视频分片,再将多个服务器输出的视频分片合并,以得到该清晰度的视频,重复上述过程,则可以得到多个清晰度的视频。通过上述转码过程所输出的视频的I帧与切换之前的视频的I帧均是对齐的,使得用户在进行切换的前后画面一致,则可以解决切换过程不顺畅的问题。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
上述的视频转码过程虽然能够解决切换不顺畅的问题,但是针对一个视频,不论生成哪种清晰度,均需要独立进行一次pass1的过程,然而,对于任一种清晰度来说,该视频的pass1的计算过程和计算结果实际上是相同;因此,这种转码过程中,由于pass1的重复计算,会导致CPU资源浪费,且该计算过程会造成转码延时较高。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种视频转码方法、装置、服务器以及存储介质。所述技术方案如下:
一方面,提供了一种视频转码方法,所述方法包括:
获取预先生成的待转码视频的转码参考文件,所述转码参考文件包括所述视频的多个视频分片中每帧的图像信息;
按照所述多个视频分片中每帧的图像信息和目标清晰度,对所述多个视频分片进行转码;
合并转码后的各个视频分片,输出所述目标清晰度的视频。
一方面,提供了一种视频转码装置,包括:
获取模块,用于获取预先生成的待转码视频的转码参考文件,所述转码参考文件包括所述视频的多个视频分片中每帧的图像信息;
转码模块,用于按照所述多个视频分片中每帧的图像信息和目标清晰度,对所述多个视频分片进行转码;
合并模块,用于合并转码后的各个视频分片,输出所述目标清晰度的视频。
一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述视频转码方法所执行的操作。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述视频转码方法所执行的操作。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的技术方案,通过事先生成视频的转码参考文件,并对该转码参考文件进行持久化保存,以便在后续对视频进行的转码过程中对转码进行指导,避免了重复计算的过程,且对于同样数量的转码需求,所需要使用的服务器数量也大大减少,大大节约了转码成本,且由于将多个编码降为一次编码,大大节约了转码的时间消耗。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实施场景的示意图;
图2是本发明实施例提供的一种转码参考文件的格式示意图;
图3是本发明实施例提供的转码参考文件中索引字段的格式示意图;
图4是本发明实施例提供的一种获取转码参考文件的流程示意图;
图5和图6是本发明实施例提供的转码参考文件的具体生成过程的流程示意图;
图7和图8是本发明实施例提供的视频转码方法的流程示意图;
图9是本发明实施例提供的一种视频转码装置的结构示意图;
图10是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种实施场景的示意图。参见图1,该实施场景中包括终端101和多个服务器102,其中,终端101上可以安装有由多个服务器102提供服务的客户端,以便通过该客户端获取该多个服务器102所提供的视频服务。当然,本发明实施例所关注的是多个服务器102所提供的视频服务,实际上,该多个服务器102还可以通过客户端提供诸如音频服务、互动服务等其他资源服务,从而为用户提供例如直播、信息互动、资源推荐等等不同的网络产品体验,本发明实施例对此不做具体限定。该多个服务器102可以组成一个分布式系统,来实现对视频的转码,从而获取视频的多个清晰度版本。当然,该终端101
下面对本发明实施例所涉及的一些名词进行解释:
视频分片的子转码参考文件包括该视频分片中每帧的图像信息;其具体可以采用stats文件的形式。
视频的转码参考文件包括该视频的多个视频分片中每帧的图像信息;其具体可以采用一种新定义的格式:
该视频的转码参考文件包括索引字段和数据字段,其中,所述索引字段用于存储各个视频分片的索引项,每个索引项包括一个视频分片在所述视频中时间信息、所述各个视频分片的子转码参考文件在所述转码参考文件中的文件偏移信息以及所述各个视频分片的子转码参考文件的文件长度,所述数据字段用于存储各个视频分片的子转码参考文件。
以图2所示的格式为例,该转码参考文件可以包括以下字段:文件标识、版本号、索引区大小、数据区大小、数据(数据区)以及索引(索引区)。其中,文件标识可以用于指示该参考文件用于提供I帧信息的参考文件,例如,该文件标识可以为FRF(I Frame referencefile)。文件标识字段可以为4Bytes,版本号字段可以为4Bytes、索引区大小和数据区大小字段均可以为8Bytes,而数据字段可以由一系列在第一次转码(pass1)过程中生成的子转码参考文件(如stats文件)构成。
参见图3,一个索引项中的时间信息可以包括该视频分段在视频中的起始时间和结束时间、该视频分片的子转码参考文件在转码参考文件中的开始位置、子转码参考文件的文件长度。上述各个字段均可以为8Bytes。
本发明实施例主要通过服务器基于视频生成一个转码参考文件,该转码参考文件包括该视频的各个视频分片中每帧的图像信息,从而使得服务器可以在为该视频进行转码时,基于该转码参考文件进行pass2转码,避免重复进行pass编码过程。例如,该生成可以由用户触发,该用户可以是指服务器的资源发布用户,参见图4所示的流程,第一步,终端请求服务器生成转码参考文件,服务器通过pass1编码过程,生成视频的转码参考文件,并上传至存储服务器,再将该转码参考文件在存储服务器中的下载地址发送至终端。第二步:用户在终端上触发对该视频的多个清晰度的转码过程,则可以在转码指令中携带转码参考文件的下载地址和例如目标清晰度等转码参数;服务器在转码过程中下载转码参考文件,并基于终端的目标清晰度和该转码参考文件,生成相应的清晰度的视频。当还需要转码至其他清晰度时,服务器可以重复第二步的流程,为终端生成多种清晰度的视频,且所生成的视频的I帧都是对齐的。
当然,在图4中仅以转码参考文件的生成是基于终端请求进行为例来说明,终端可以在视频上传完成后指定要转码的清晰度,使得服务器执行转码过程,具体转码为哪几个清晰度可以由终端指定,也可以是服务器默认设置的,当然,上述转码的清晰度需要是服务器所支持的清晰度。
具体地,下面基于结合图5和图6,对上述转码参考文件的具体生成过程进行说明:
500、服务器X接收终端的转码参考文件生成指令,所述转码参考文件生成指令携带视频的标识。
终端在视频上传完成后,可以请求服务器生成转码参考文件,以供后续转码使用。例如,该视频可以为图6中所示的SRC格式视频。
501、服务器X对该视频进行切分,得到该视频的多个视频分片。
502、服务器X将该视频的多个视频分片分别发送至服务器1至服务器n,由该服务器1至服务器n进行编码。
服务器可以根据预设的切分规则,对视频进行切分,以得到该视频的多个视频分片1至分片n,并将该多个视频分片的编码任务分配给服务器1至服务器n。
其中,该预设的切分规则可以用于限定切分的片数,也可以用于限定分片大小,本发明实施例对此不做限定。该切分规则可以是基于视频类型或视频时长而变化,该服务器上可以存储有视频类型或视频时长与切分规则之间的对应关系,从而在对任一视频进行切分时,基于上述对应关系,获取该视频的切分规则。例如,视频时长小于预设时长的视频,其对应的切分规则可以是限定分片大小,以避免对该视频过度细碎的切分,造成无谓的服务器资源浪费。
当然,在进行编码任务分配时,服务器可以确定当前处于空闲或者具有处理能力的服务器来分配,也即是,服务器根据各个服务器当前的负载,选择多个负载符合预设条件的服务器。
需要说明的是,在上述步骤501和502中,多个视频分片和多个服务器之间并不必须是数量相等的关系,视频分片的个数可以大于服务器的个数,也即是,对于一个服务器来说,其所被分配的编码任务可以是对至少一个视频分片进行编码。
503、服务器1至服务器n在接收到视频分片后,分别对视频分片进行编码,生成该视频分片的子转码参考文件,每个子转码参考文件包括一个视频分片中每帧的图像信息。
各个服务器采用相同的转码参数分别对视频分片进行pass1编码,生成该视频分片的stats文件保存到本机中。
504、服务器1至服务器n将多个视频分片的子转码参考文件的下载地址发送至服务器X。
在各个服务器生成并存储视频分片的stats文件后,各个服务器可以通知服务器X该视频分片的stats文件已经生成,并将该视频分片的stats文件的下载地址发送至服务器X。
需要说明的是,该视频分片的子转码参考文件的下载地址可以是指各个服务器上存储的子转码参考文件的下载地址,也可以是各个服务器将视频分片的子转码参考文件存储至存储服务器上,并获取子转码参考文件在存储服务器上的下载地址,以发送给服务器X。
505、该服务器X基于每个视频分片的子转码参考文件的下载地址,从该服务器1至服务器n中,获取该每个视频分片的子转码参考文件。
需要说明的是,如果上述下载地址为存储服务器中的下载地址,则服务器可以从存储服务器上下载各个子转码参考文件。
506、该服务器X将该每个视频分片的子转码参考文件按照预设文件格式封装为一个文件,得到该视频的转码参考文件。
在上述步骤505至506中,服务器可以根据接收到的下载地址,从多个服务器中下载该各个视频分片的子转码参考文件,并基于下载到的子转码参考文件进行封装,以得到视频的转码参考文件。
在实际场景中,该服务器还可以将该合成任务分配给多个服务器中的任一个服务器,由该服务器根据该多个子转码参考文件的下载地址,从各个服务器中或存储服务器中下载各个视频分片的子转码参考文件,并基于下载到的子转码参考文件进行封装,以得到视频的转码参考文件。其具体封装格式为预设文件格式,详见图2和图3所示的格式。例如,具体封装过程可以为:按照视频分片的索引标识从小到大的顺序,将各个视频分片的子转码参考文件存储至数据字段中,基于已存储的各个视频分片的时间信息、文件偏移信息以及文件长度生成各个视频分片的索引项,并按照视频分片的索引标识从小到大的顺序,将各个索引项存储至索引字段,并基于该数据字段和索引字段在索引区大小字段和数据区大小字段中写入相应数值,再基于版本号和文件标识生成文件头,最终得到封装后的转码参考文件。
507、服务器X将该视频的转码参考文件存储至存储服务器,并获取该转码参考文件的下载地址。
为了使得该视频的转码参考文件能够持久化保存,服务器可以将该转码参考文件存储至存储服务器。
508、服务器向终端发送该视频的转码参考文件的下载地址。
509、当终端接收到该视频的转码参考文件的下载地址时,存储该视频的转码参考文件的下载地址。
当任一个终端请求生成某个视频的转码参考文件时,均可以采用上述501至509步骤实现,当然,对于一个视频来说,该生成过程只需进行一次,而当有其他终端也有相应需求时,服务器可以直接将该视频的转码参考文件的下载地址发送至该终端即可,而无需再次生成,大大降低了服务器负载。
具体地,下面基于结合图7和图8,对上述视频转码过程进行说明:
701、终端向服务器Y发送转码指令,该转码指令携带视频的标识、目标清晰度和该视频的转码参考文件的下载地址,该转码参考文件包括多个视频分片中每帧的图像信息。
该终端可以为用户进行视频上传所使用的终端,终端上可以存储有本次需要进行转码的视频的转码参考文件的下载地址,并通过终端上的选择操作等,来选择目标清晰度。该下载地址可以是终端在上传视频完成时获取到,其具体生成过程在上述图5和图6中已经详述,在此不做赘述。
702、当服务器Y接收到该转码指令时,根据该转码参考文件的下载地址,获取该转码参考文件。
当服务器接收到转码指令时,根据该转码参考文件的下载地址,从存储服务器的对应地址中,获取存储服务器所存储的该视频的转码参考文件。
703、该服务器Y根据该转码参考文件中该多个视频分片的索引项,对该视频进行切分,得到该视频的多个视频分片。
转码参考文件的每个索引项包括一个视频分片在所述视频中时间信息、所述各个视频分片的子转码参考文件在所述转码参考文件中的文件偏移信息以及所述各个视频分片的子转码参考文件的文件长度。通过对该转码参考文件中索引项的解析,可以获知生成该视频的转码参考文件时所采用的切分规则。
为了保持转码后的视频和转码前视频之间的一致性,服务器可以从转码参考文件中提取该多个视频分片的索引项,基于索引项中各个视频分片在所述视频中时间信息,对视频进行切分,以得到该视频的多个视频分片。此时,所得到的多个视频分片与生成该转码参考文件时的各个视频分片的切分方式相同,因此不会造成画面播放时间不匹配等问题。
704、该服务器Y将该多个视频分片和转码参考文件的下载地址分别发送至服务器1至服务器n,由服务器1至服务器n进行转码。
该服务器可以存储索引项解析得到的信息作为分片索引信息,并在将视频分片发送至各个服务器时,同时发送该视频分片的索引信息,从而使得各个服务器知道自己需要进行转码的视频分片是视频中的哪个部分。
该服务器通过调度多个服务器分别对多个视频分片进行转码的方式,以实现分布式转码,提高转码效率。
705、服务器1至服务器n根据转码参考文件的下载地址获取该转码参考文件。
706、服务器1至服务器n根据该目标清晰度和该转码参考文件该多个视频分片中每帧的图像信息,分别对该多个视频分片进行转码,输出目标清晰度的视频分片。
各个服务器根据索引项中的视频分片的文件偏移信息和文件长度,提取该转码参考文件中视频分片的子转码参考文件,并基于该视频分片的子转码参考文件对视频分片进行pass2转码,输出转码后的视频分片,该视频分片即为目标清晰度的视频分片。
707、服务器Y将该服务器1至服务器n输出的目标清晰度的视频分片合并,输出该目标清晰度的视频。
当各个服务器的转码完成时,服务器可以对多个服务器输出的目标清晰度的视频分片进行合并,得到目标清晰度的视频。
需要说明的是,在上述实施例中的服务器X和服务器Y均可以为服务器1至服务器n中的任一个,该服务器X和服务器Y可以是由多个服务器组成的分布式转码系统中的控制单元所运行的服务器。
通过上述的转码过程可以看出,如果需要将视频转码至n种清晰度的I帧对齐视频,相对于相关技术中的转码过程,本发明实施例提供的转码将n次pass1编码和n次pass2转码,降低为1次pass1编码和n次pass2转码,节约了n-1次pass1的时间消耗。
本发明实施例提供的技术方案,通过事先生成视频的转码参考文件,并对该转码参考文件进行持久化保存,以便在后续对视频进行的转码过程中对转码进行指导,避免了重复计算的过程,且对于同样数量的转码需求,所需要使用的服务器数量也大大减少,大大节约了转码成本,且由于将多个编码降为一次编码,大大节约了转码的时间消耗。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图9是本发明实施例提供的一种视频转码装置的结构示意图。参见图9,所述装置包括:
获取模块901,用于获取预先生成的待转码视频的转码参考文件,所述转码参考文件包括所述视频的多个视频分片中每帧的图像信息;
转码模块902,用于按照所述多个视频分片中每帧的图像信息和目标清晰度,对所述多个视频分片进行转码;
合并模块903,用于合并转码后的各个视频分片,输出所述目标清晰度的视频。
在一种可能实现方式中,所述装置还包括:
解析模块,用于解析所述转码参考文件中所述多个视频分片的索引项,得到所述视频的各个视频分片在所述视频中的时间信息;
切分模块,用于按照所述视频的各个视频分片在所述视频中的时间信息,对所述视频进行切分,得到所述视频的多个视频分片。
在一种可能实现方式中,所述装置还包括:
编码模块,用于对所述视频的多个视频分片进行编码,生成所述多个视频分片中每个视频分片的子转码参考文件,每个子转码参考文件包括一个视频分片中每帧的图像信息;
文件生成模块,用于根据所述每个视频分片的子转码参考文件,生成所述视频的转码参考文件。
在一种可能实现方式中,所述编码模块用于通过多个服务器分别对所述视频的多个视频分片进行编码,生成每个视频分片的子转码参考文件;获取所述每个视频分片的子转码参考文件的下载地址;
所述文件生成模块用于基于所述每个视频分片的子转码参考文件的下载地址,从所述多个服务器中,获取所述每个视频分片的子转码参考文件;
将所述每个视频分片的子转码参考文件按照预设文件格式封装为一个文件,得到所述视频的转码参考文件。
在一种可能实现方式中,所述装置还包括:
接收模块,用于接收转码参考文件生成指令,所述转码参考文件生成指令携带所述视频的标识。
在一种可能实现方式中,所述获取模块用于:
接收转码指令,所述转码指令携带所述转码参考文件的下载地址;
根据所述转码参考文件的下载地址,从存储服务器中下载所述转码参考文件。
在一种可能实现方式中,所述获取模块用于:
接收转码指令,所述转码指令携带所述视频的标识;
根据所述视频的标识,查询所述视频的转码参考文件的下载地址;
根据所述转码参考文件的下载地址,从存储服务器中下载所述转码参考文件。
在一种可能实现方式中,所述转码参考文件包括索引字段和数据字段,
其中,所述索引字段用于存储每个视频分片的索引项,每个索引项包括一个视频分片在所述视频中的时间信息、所述每个视频分片的子转码参考文件在所述转码参考文件中的文件偏移信息以及所述每个视频分片的子转码参考文件的文件长度;
所述数据字段用于存储所述每个视频分片的子转码参考文件。
需要说明的是:上述实施例提供的视频转码装置在视频转码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频转码装置与视频转码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10是本发明实施例提供的一种服务器的结构示意图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)1001和一个或一个以上的存储器1002,其中,所述存储器1002中存储有至少一条指令,所述至少一条指令由所述处理器1001加载并执行以实现上述各个方法实施例提供的视频转码方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成下述实施例中的视频转码方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种视频转码方法,其特征在于,所述方法包括:
获取预先生成的待转码视频的转码参考文件,所述转码参考文件包括所述视频的多个视频分片中每帧的图像信息;
按照所述多个视频分片中每帧的图像信息和目标清晰度,对所述多个视频分片进行转码;
合并转码后的各个视频分片,输出所述目标清晰度的视频。
2.根据权利要求1所述的方法,其特征在于,所述按照所述多个视频分片中每帧的图像信息和目标清晰度,对所述多个视频分片进行转码之前,所述方法还包括:
解析所述转码参考文件中所述多个视频分片的索引项,得到所述视频的各个视频分片在所述视频中的时间信息;
按照所述视频的各个视频分片在所述视频中的时间信息,对所述视频进行切分,得到所述视频的多个视频分片。
3.根据权利要求1所述的方法,其特征在于,所述转码参考文件通过下述方法生成:
对所述视频的多个视频分片进行编码,生成所述多个视频分片中每个视频分片的子转码参考文件,每个子转码参考文件包括一个视频分片中每帧的图像信息;
根据所述每个视频分片的子转码参考文件,生成所述视频的转码参考文件。
4.根据权利要求3所述的方法,其特征在于,所述对所述视频的多个视频分片进行编码,生成所述多个视频分片中每个视频分片的子转码参考文件包括:
通过多个服务器分别对所述视频的多个视频分片进行编码,生成每个视频分片的子转码参考文件;
获取所述每个视频分片的子转码参考文件的下载地址;
相应地,所述根据所述每个视频分片的子转码参考文件,生成所述视频的转码参考文件,包括:
基于所述每个视频分片的子转码参考文件的下载地址,从所述多个服务器中,获取所述每个视频分片的子转码参考文件;
将所述每个视频分片的子转码参考文件按照预设文件格式封装为一个文件,得到所述视频的转码参考文件。
5.根据权利要求3所述的方法,其特征在于,所述对所述视频的多个视频分片进行转码之前,所述方法还包括:
接收转码参考文件生成指令,所述转码参考文件生成指令携带所述视频的标识。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述获取预先生成的待转码视频的转码参考文件包括:
接收转码指令,所述转码指令携带所述转码参考文件的下载地址;
根据所述转码参考文件的下载地址,从存储服务器中下载所述转码参考文件。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述获取预先生成的待转码视频的转码参考文件包括:
接收转码指令,所述转码指令携带所述视频的标识;
根据所述视频的标识,查询所述视频的转码参考文件的下载地址;
根据所述转码参考文件的下载地址,从存储服务器中下载所述转码参考文件。
8.根据权利要求1至5任一项所述的方法,其特征在于,所述转码参考文件包括索引字段和数据字段,
其中,所述索引字段用于存储每个视频分片的索引项,每个索引项包括一个视频分片在所述视频中的时间信息、所述每个视频分片的子转码参考文件在所述转码参考文件中的文件偏移信息以及所述每个视频分片的子转码参考文件的文件长度;
所述数据字段用于存储所述每个视频分片的子转码参考文件。
9.一种视频转码装置,其特征在于,包括:
获取模块,用于获取预先生成的待转码视频的转码参考文件,所述转码参考文件包括所述视频的多个视频分片中每帧的图像信息;
转码模块,用于按照所述多个视频分片中每帧的图像信息和目标清晰度,对所述多个视频分片进行转码;
合并模块,用于合并转码后的各个视频分片,输出所述目标清晰度的视频。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
解析模块,用于解析所述转码参考文件中所述多个视频分片的索引项,得到所述视频的各个视频分片在所述视频中的时间信息;
切分模块,用于按照所述视频的各个视频分片在所述视频中的时间信息,对所述视频进行切分,得到所述视频的多个视频分片。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
编码模块,用于对所述视频的多个视频分片进行编码,生成所述多个视频分片中每个视频分片的子转码参考文件,每个子转码参考文件包括一个视频分片中每帧的图像信息;
文件生成模块,用于根据所述每个视频分片的子转码参考文件,生成所述视频的转码参考文件。
12.根据权利要求11所述的装置,其特征在于,所述编码模块用于通过多个服务器分别对所述视频的多个视频分片进行编码,生成每个视频分片的子转码参考文件;获取所述每个视频分片的子转码参考文件的下载地址;
所述文件生成模块用于基于所述每个视频分片的子转码参考文件的下载地址,从所述多个服务器中,获取所述每个视频分片的子转码参考文件;
将所述每个视频分片的子转码参考文件按照预设文件格式封装为一个文件,得到所述视频的转码参考文件。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收转码参考文件生成指令,所述转码参考文件生成指令携带所述视频的标识。
14.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至权利要求8任一项所述的视频转码方法所执行的操作。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求8任一项所述的视频转码方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810295313.2A CN110213615B (zh) | 2018-04-04 | 2018-04-04 | 视频转码方法、装置、服务器以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810295313.2A CN110213615B (zh) | 2018-04-04 | 2018-04-04 | 视频转码方法、装置、服务器以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213615A true CN110213615A (zh) | 2019-09-06 |
CN110213615B CN110213615B (zh) | 2021-11-02 |
Family
ID=67778769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810295313.2A Active CN110213615B (zh) | 2018-04-04 | 2018-04-04 | 视频转码方法、装置、服务器以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213615B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110830805A (zh) * | 2019-10-24 | 2020-02-21 | 上海网达软件股份有限公司 | 一种多分辨率输出的分布式文件转码方法及装置 |
CN112004103A (zh) * | 2020-01-13 | 2020-11-27 | 张益兰 | 基于物联网和网络直播的视频数据处理系统及方法 |
CN112312162A (zh) * | 2020-10-16 | 2021-02-02 | 安擎(天津)计算机有限公司 | 一种传输视频流的视频服务器 |
CN113949877A (zh) * | 2021-10-18 | 2022-01-18 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种转码码率确定方法及装置 |
CN114173074A (zh) * | 2021-10-22 | 2022-03-11 | 广州市奥威亚电子科技有限公司 | 用于视频格式转换的录制保存方法及格式转换方法 |
WO2024098836A1 (zh) * | 2022-11-11 | 2024-05-16 | 上海哔哩哔哩科技有限公司 | 视频对齐方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120195365A1 (en) * | 2011-02-01 | 2012-08-02 | Michael Horowitz | Spatial scalability using redundant pictures and slice groups |
CN104243430A (zh) * | 2013-06-20 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 一种流媒体播放方法及装置 |
CN105227968A (zh) * | 2014-06-30 | 2016-01-06 | 惠州市伟乐科技股份有限公司 | 基于切片的视频转码加速方法 |
CN106210884A (zh) * | 2016-07-13 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 视频文件的转码方法和装置 |
CN106961613A (zh) * | 2017-03-30 | 2017-07-18 | 上海七牛信息技术有限公司 | 一种流式实时转码点播方法及系统 |
-
2018
- 2018-04-04 CN CN201810295313.2A patent/CN110213615B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120195365A1 (en) * | 2011-02-01 | 2012-08-02 | Michael Horowitz | Spatial scalability using redundant pictures and slice groups |
CN104243430A (zh) * | 2013-06-20 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 一种流媒体播放方法及装置 |
CN105227968A (zh) * | 2014-06-30 | 2016-01-06 | 惠州市伟乐科技股份有限公司 | 基于切片的视频转码加速方法 |
CN106210884A (zh) * | 2016-07-13 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 视频文件的转码方法和装置 |
CN106961613A (zh) * | 2017-03-30 | 2017-07-18 | 上海七牛信息技术有限公司 | 一种流式实时转码点播方法及系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110830805A (zh) * | 2019-10-24 | 2020-02-21 | 上海网达软件股份有限公司 | 一种多分辨率输出的分布式文件转码方法及装置 |
CN112004103A (zh) * | 2020-01-13 | 2020-11-27 | 张益兰 | 基于物联网和网络直播的视频数据处理系统及方法 |
CN112004103B (zh) * | 2020-01-13 | 2022-04-12 | 宿迁市广播电视总台 | 基于物联网和网络直播的视频数据处理系统及方法 |
CN112312162A (zh) * | 2020-10-16 | 2021-02-02 | 安擎(天津)计算机有限公司 | 一种传输视频流的视频服务器 |
CN112312162B (zh) * | 2020-10-16 | 2022-11-08 | 安擎(天津)计算机有限公司 | 一种传输视频流的视频服务器 |
CN113949877A (zh) * | 2021-10-18 | 2022-01-18 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种转码码率确定方法及装置 |
CN114173074A (zh) * | 2021-10-22 | 2022-03-11 | 广州市奥威亚电子科技有限公司 | 用于视频格式转换的录制保存方法及格式转换方法 |
CN114173074B (zh) * | 2021-10-22 | 2023-11-03 | 广州市奥威亚电子科技有限公司 | 用于视频格式转换的录制保存方法及格式转换方法 |
WO2024098836A1 (zh) * | 2022-11-11 | 2024-05-16 | 上海哔哩哔哩科技有限公司 | 视频对齐方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110213615B (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213615A (zh) | 视频转码方法、装置、服务器以及存储介质 | |
CN105052107B (zh) | 使用质量信息进行媒体内容自适应传输 | |
CN108989885B (zh) | 视频文件转码系统、分割方法、转码方法及装置 | |
CN105516736B (zh) | 视频文件处理方法和装置 | |
US20160134881A1 (en) | Parallel media encoding | |
CN109391825A (zh) | 一种视频转码方法及其装置、服务器、可读存储介质 | |
CN106685942A (zh) | 视频直播回播系统以及视频直播回播方法 | |
US20150074129A1 (en) | Augmenting media presentation description and index for metadata in a network environment | |
WO2013152426A1 (en) | Methods and systems for real-time transmuxing of streaming media content | |
CN110401850B (zh) | 一种透传自定义sei的方法和装置 | |
CN106657143A (zh) | 一种流媒体传输方法、装置、服务器及终端 | |
CN106899894B (zh) | 动态优化的自适应流媒体方法、装置和服务器 | |
CN105577819A (zh) | 一种虚拟化桌面的分享系统、分享方法以及分享装置 | |
CN104837033B (zh) | 一种信息处理方法及服务器 | |
CN105282124A (zh) | 基于xmpp协议的渐进式图片的传输方法及呈现方法 | |
CN115599744A (zh) | 文件的转码方法、装置、存储介质及电子装置 | |
Zabrovskiy et al. | Evaluation of the performance of adaptive HTTP streaming systems | |
CN113079386B (zh) | 一种视频在线播放方法、装置、电子设备及存储介质 | |
CN114501025A (zh) | 一种视频转码方法、装置、设备及介质 | |
US11356722B2 (en) | System for distributing an audiovisual content | |
CN112188285A (zh) | 视频转码方法、装置、系统及存储介质 | |
CN113727189A (zh) | 支持多种流媒体传输协议的媒体播放方法和系统 | |
CN113452630B (zh) | 数据合流方法、数据拆分方法、装置、设备及存储介质 | |
CN110602555B (zh) | 视频转码方法及装置 | |
Thang et al. | Video streaming over HTTP with dynamic resource prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |