CN114630177A - 一种视频转码方法及其相关装置 - Google Patents

一种视频转码方法及其相关装置 Download PDF

Info

Publication number
CN114630177A
CN114630177A CN202210307066.XA CN202210307066A CN114630177A CN 114630177 A CN114630177 A CN 114630177A CN 202210307066 A CN202210307066 A CN 202210307066A CN 114630177 A CN114630177 A CN 114630177A
Authority
CN
China
Prior art keywords
video
transcoded
segment
transcoding
segments
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
CN202210307066.XA
Other languages
English (en)
Other versions
CN114630177B (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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210307066.XA priority Critical patent/CN114630177B/zh
Publication of CN114630177A publication Critical patent/CN114630177A/zh
Application granted granted Critical
Publication of CN114630177B publication Critical patent/CN114630177B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本申请实施例提供了一种视频转码方法及其相关装置。该方法包括:基于用户选择的点播位置,确定视频文件中的待转码视频,视频文件包括与多个时间间隔一一对应的多个视频片段,该多个时间间隔基于预设时长对视频文件的总时长划分,待转码视频包括多个视频片段中的部分视频片段;基于预存的映射关系,确定待转码视频中每个视频片段是否预存有对应的分片,分片基于对应的视频片段转码得到,映射关系指示视频文件中的每个视频片段是否已被转码;基于待转码视频,获取预存的分片,和/或,对未转码的视频片段转码。因此,可以避免对已转码的视频片段重复转码,从而降低服务商的转码成本,且不会带来较长的用户等待时间。

Description

一种视频转码方法及其相关装置
技术领域
本申请涉及流媒体处理领域,并且更具体地,涉及一种视频转码方法及其相关装置。
背景技术
随着计算机技术的不断发展,越来越多的用户选择在网盘中的视频点播系统上点播视频,而视频点播系统需要将视频转码后才能播放。
为了避免用户的长时间等待,已知一种离线转码方法,视频点播系统在用户将视频上传网盘系统后,就对视频进行离线转码,得到转码后的完整视频,在用户有点播需求时,直接播放预先转码好的完整视频。
但是,离线转码可能会造成不必要的转码成本。比如,用户可能只是想观看视频中的部分内容,而不需要观看完整视频,但视频点播视频仍需将整个完整视频进行转码,造成了不必要的转码成本。但若不进行离线转码,用户可能需要等待视频点播系统临时转码,存在较长的等待时间。因此,转码成本和用户的等待时间之间很难平衡。
发明内容
本申请提供了一种视频转码方法及其相关装置,以期在降低服务商转码成本的同时,尽可能地避免造成过长的用户等待时间。
第一方面,本申请提供了一种视频转码方法,该方法包括:基于用户选择的点播位置,确定视频文件中的待转码视频,该视频文件包括与多个时间间隔一一对应的多个视频片段,该多个时间间隔是基于预设时长对视频文件的总时长划分得到的,该待转码视频包括多个视频片段中的部分视频片段;基于预存的映射关系,确定待转码视频中每个视频片段是否预存有对应的分片,该分片是基于对应的视频片段转码得到的,该映射关系用于指示视频文件中的每个视频片段是否已被转码;以及基于待转码视频,获取预存的分片;和/或,基于待转码视频,对未转码的视频片段进行转码。
第二方面,本申请提供了一种视频转码装置,该装置包括:确定模块和处理模块。其中,该确定模块用于基于用户选择的点播位置,确定视频文件中的待转码视频,该视频文件包括与多个时间间隔一一对应的多个视频片段,该多个时间间隔是基于预设时长对视频文件的总时长划分得到的,该待转码视频包括多个视频片段中的至少一个;并用于基于预存的映射关系,确定待转码视频中每个视频片段是否预存有对应的分片,该分片是基于对应的视频片段转码得到的,该映射关系用于指示视频文件中的每个视频片段是否已被转码;处理模块用于,基于待转码视频,获取预存的分片;和/或,基于待转码视频,对未转码的视频片段进行转码。
应理解,各个模块可通过执行计算机程序来实现相应的功能。
第三方面,本申请提供了一种视频转码装置,该装置包括处理器,用于执行计算机程序,以使得该装置实现上述第一方面中的方法。
第四方面,本申请提供了一种电子设备,该电子设备包括:处理器和存储器,该存储器用于存储计算机程序;该处理器用于从存储器调用并执行计算机程序,使得该电子设备实现上述第一方面中的方法。
第五方法,本申请提供了一种计算机程序产品,包括计算机程序,当计算机程序被运行时,实现上述第一方面中的方法。
第六方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当计算机程序被处理器执行时,使处理器实现上述第一方面中的方法。
在本申请提供的方案中,基于预设时长对视频文件的总时长进行划分,得到与多个时间间隔一一对应的多个视频片段,并用于指示各视频片段是否已被转码的映射关系,在基于用户的点播位置确定出待转码视频,可基于预存的映射关系,确定出待转码视频中的每个视频片段是否预存有转码得到的分片。对于预存有分片的时频片段,可直接读取,而不必再次转码。如此一来,服务端只需对该待转码视频中未预存分片的视频片段进行转码,便可将转码后的视频提供给客户端播放。由于对每个视频片段是否转码做了记录,并对转码后的分片进行了存储,因此在下一次需要对同一视频片段进行转码时,便可将预存的相应分片读取出来,而无需重复转码,因此,可以极大地节省转码成本,且因预存的分片可直接发送给客户端播放,也可以避免因需对视频文件进行转码造成的用户长时间等待,保证了用户的点播体验。
附图说明
图1是本申请实施例提供的视频点播系统的架构图;
图2是本申请实施例提供的映射关系的生成方法的示意性流程图;
图3是本申请实施例提供的视频文件中多个视频片段的示意图;
图4是本申请实施例提供的视频转码方法的示意性流程图;
图5是本申请实施例提供的视频点播的示意图;
图6是本申请实施例提供的视频转码装置的示意图框图;
图7是本申请实施例提供的视频转码装置的另一示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请提供的技术方案可以应用于网盘领域。其中,该网盘可以为个人网盘等视频点开率不高的网盘。
图1是适用于本申请实施例提供的视频点播系统的架构图。
如图1所示,在视频点播系统中,可以包括服务端和客户端。客户端可为用户提供播放界面,该播放界面可播放用户想要观看的视频。服务端可对用户上传的视频文件进行转码。其中,服务端可以为视频点播系统的后台,客户端可以为视频点播系统的播放器,该播放器具有播放界面。
用户在客户端的播放界面选中想要观看的视频,或在播放界面拖动进度条来选择想要开始观看的位置时,客户端会将用户想要观看的视频的基本信息(如视频的名称)、或点播位置信息发送给服务端。服务端在接收到该视频的相关信息后,就可将转码后的视频发送给客户端,以供客户端的播放界面播放相应视频。
应理解,视频点播系统可以作为网盘系统中的子系统,部署在网盘系统中。视频点播系统和网盘系统可以共享存储空间。用户所上传或下载的视频可以存储在存储空间中,服务端在进行视频转码时可从存储空间中获取视频,并可将转码后的视频也保存在存储空间中。
还应理解,转码是将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。转码本质上是一个先解码,再编码的过程,因此转换前后的码流可能遵循相同的视频编码标准,也可能不遵循相同的视频编码标准。
为了避免用户的长时间等待,已知一种离线转码方法,视频点播系统在用户将视频上传网盘系统后,就对视频进行离线转码,得到转码后的完整视频,在用户有点播需求时,直接播放预先转码好的完整视频。
但是,离线转码可能会造成不必要的转码成本。比如,用户可能只是想观看视频中的部分内容,而不需要观看完整视频,但视频点播视频仍需将整个完整视频进行转码,造成了不必要的转码成本。但若不进行离线转码,用户可能需要等待视频点播系统临时转码,存在较长的等待时间。因此,转码成本和用户的等待时间之间很难平衡。
鉴于此,本申请提供一种视频转码方法,在基于用户的点播位置确定出待转码视频,可基于预存的用于指示各视频片段是否已被转码的映射关系,确定出待转码视频中的每个视频片段是否预存有转码得到的分片。对于预存有分片的视频片段,可直接读取,而不必再次转码。如此一来,服务端只需对该待转码视频中未预存分片的视频片段进行转码,便可将转码后的视频提供给客户端播放。由于对每个视频片段是否转码做了记录,并对转码后的分片进行了存储,因此在下一次需要对同一视频片段进行转码时,便可将预存的相应分片读取出来,而无需重复转码,因此,可以极大地节省转码成本,且因预存的分片可直接发送给客户端播放,也可以避免因需对视频文件进行转码造成的用户长时间等待,保证了用户的点播体验。
下面将结合附图对本申请实施例提供的视频转码方法做详细说明。
应理解,下文所示的实施例可以由视频转码装置来执行,该视频转码装置例如可以是图1所示的服务端,也可以是配置在服务端中的部件,如芯片、芯片系统等,还可以是可用于实现该视频转码装置的部分或全部功能的逻辑模块或软件,本申请对此不做限定。
还应理解,本申请实施例提供的视频转码方法不仅可适用于如图1所示的场景,还可适用于其他需要进行视频转码的场景中。图1仅为一种示例,不应对本申请提供的方法所适用的场景构成任何限定。
为了便于理解本申请实施例所提供的方法,下文先结合图2至图3对本申请实施例提供的映射关系的生成方法进行详细说明,然后结合图4和图5对本申请实施例提供的视频转码方法进行详细说明。
图2为本申请实施例提供的映射关系的生成方法的示意性流程图。图2所示的方法200包括步骤201至步骤203。下面详细说明图2所示的映射关系的生成方法200中的各个步骤。
步骤201,基于预设时长,对视频文件的总时长进行划分,得到多个时间间隔。
具体地,用户在网盘系统上传视频文件后,视频文件会暂存在网盘系统的存储空间内。由于视频点播系统属于网盘系统,视频点播系统的视频转码装置就可从存储空间中获取到用户上传的视频文件。
视频转码装置获取到用户上传的视频文件后,会对视频文件的基本信息进行分析,例如分析出视频文件的总时长。在分析出视频文件的总时长后,结合预先设置好的预设时长,对视频文件的总时长进行划分,从而可得到多个时间间隔。
示例性地,如图3中的(a)所示,为本申请实施例提供的多个视频片段的示意图。假设视频转码装置对某视频文件进行分析后,确定出该视频文件的总时长为1个小时,而若预先设置的预设时长为10秒,则视频转码装置就可在该视频的00:00秒、00:10秒、00:20秒、00:30秒、00:40秒、00:50秒、01:00分钟…所在的时间点处标记,从而就可得到【00:00~00:10】、【00:10~00:20】、【00:20~00:30】、【00:30~00:40】、【00:40~00:50】、【00:50~01:00】…等多个时间间隔。
可选地,视频转码装置还可根据视频文件的以下至少一项:码率、帧率和分辨率,确定视频文件转码后能够达到的清晰度。
具体地,视频转码装置在对视频文件的基本信息进行分析时,不但会分析视频文件的总时长,还会对视频文件的码率、帧率和分辨率进行分析。在分析出视频文件的码率、帧率和分辨率后,就可结合这三个信息综合判断出视频文件转码后所能够达到哪些清晰度。比如,在对视频文件A的码率、帧率和分辨率分析后,确定出视频文件A可转码到标清、高清、或超清;在对视频文件B的码率、帧率和分辨率分析后,确定出视频文件B可转码到标清或高清。
应理解,视频转码装置也可记录对视频文件分析出的基本信息,如总时长、码率、帧率和分辨率等。
步骤202,确定与多个时间间隔一一对应的多个视频片段。
示例性地,如图3中的(a)所示,视频转码装置在确定出时间间隔:【00:00~00:10】、【00:10~00:20】、【00:20~00:30】、【00:30~00:40】、【00:40~00:50】、【00:50~01:00】等后,就可确定出与上述每个时间间隔对应的视频片段分别为:视频片段1、视频片段2、视频片段3、视频片段4、视频片段5和视频片段6等多个视频片段。
应注意,视频转码装置只是基于预设时长对视频文件的总时长进行了多个时间间隔的划分,这并不代表该视频文件被分割成了多个文件。这里仅为便于与视频文件区分,将对应于每个时间间隔的视频记为视频片段。可以理解,该多个视频片段是视频文件中的不同部分。该多个视频片段构成了一个视频文件。
步骤203,基于多个视频片段,生成映射关系。
其中,该映射关系可用于指示该多个视频片段中的每个视频片段是否已转码。已转码具体可以是指,已经完成了对视频片段的转码,并有相应的分片输出。与此相对,未转码具体可以是指,未完成对视频片段的转码,没有相应的分片输出。其中,未完成对视频文件的转码可以包括,未对该视频片段进行转码,或,对该视频片段转码,但还未完成。因此不管是否已经开始对该视频片段进行转码,只要未完成,就没有相应的分片输出。从另一个角度来说,该映射关系也可用于指示该多个视频片段中的每个视频片段是否有预存的分片。
这里,预存的分片可以是指预存在视频点播子系统的存储空间中的,对视频片段进行转码后得到的数据。每个分片可对应于一个视频片段,由所对应的视频片段转码得到。
该映射关系的一种可能的设计是,时间间隔、视频片段和转码状态之间的映射关系。其中,转码状态包括:已转码和未转码。
示例性地,假设视频转码装置所分析的视频文件的总时长为10分钟,则在划分出时间间隔【00:00~00:10】、【00:10~00:20】、【00:20~00:30】、【00:30~00:40】、…、【09:50~10:00】,并确定出对应的视频片段1、视频片段2、视频片段3、视频片段4、视频片段5、视频片段6、…、视频片段60后。由于在接收到该视频文件后,并未对其进行转码,可以生成该视频文件的初始的映射关系表,如表1所示:
表1
时间间隔 视频片段 转码状态
【00:00~00:10】 视频片段1 未转码
【00:10~00:20】 视频片段2 未转码
【00:20~00:30】 视频片段3 未转码
【00:30~00:40】 视频片段4 未转码
【09:50~10:00】 视频片段60 未转码
该映射关系的另一种可能的设计是,时间间隔和转码状态之间的映射关系。
以表1所示的映射关系可以转换为表2所示:
表2
时间间隔 转码状态
【00:00~00:10】 未转码
【00:10~00:20】 未转码
【00:20~00:30】 未转码
【00:30~00:40】 未转码
【09:50~10:00】 未转码
应理解,表1和表2所示仅为示例,基于相同的构思,该映射关系还可以有更多可能的形式,例如将表2中的时间间隔替换为视频片段。
还应理解,映射关系也可以不以表格的形式来呈现,本申请包含但不限于此。后文中为了方便理解和说明,仍以表格为例来示例各种映射关系。
可以理解,如果视频文件的总时长较长,可能需要耗费较长的转码时间,可以对该视频文件中的部分视频片段进行预先转码。从而可以避免在用户点播时再进行转码可能带来的长时间等待。因此,在确定出多个视频片段后,视频转码装置可结合视频文件的总时长来确定是否需要对部分视频片段进行预先转码。
在一种可能的实现方式中,视频转码装置可根据预设的时长门限与视频文件的总时长的大小关系来判断是否需要对该视频文件的部分视频片段进行预先转码。
可选地,在步骤203之前,还可以包括:视频转码装置对视频文件中的一个或多个视频片段进行转码,该一个或多个视频片段在视频文件中的位置处于其他视频片段之前。与之对应,步骤203具体可以包括:基于对该视频文件中的一个或多个视频片段的转码,生成映射关系。
具体地,视频转码装置可对位于视频文件开头部分的一个或多个视频片段进行预先转码,使得在用户有开始从头观看视频的需求时,就可直接播放视频开头部分已转码的视频片段。
示例性地,如图3中的(b)所示,为本申请实施例提供的多个视频片段的另一示意图。假设视频转码装置所分析的视频文件的总时长为2个小时,则在划分出时间间隔【00:00~00:10】、【00:10~00:20】、【00:20~00:30】、【00:30~00:40】、【00:40~00:50】、【00:50~01:00】…,和确定出对应的视频片段1、视频片段2、视频片段3、视频片段4、视频片段5、视频片段6…后。由于该视频的总时长比较长,就可对视频开头部分的相关视频片段进行预先转码,比如,对视频片段1和视频片段2进行转码。则,此时步骤203生成的该视频文件的初始的映射关系表,如表3所示:
表3
时间间隔 视频片段 转码状态
【00:00~00:10】 1 已转码
【00:10~00:20】 2 已转码
【00:20~00:30】 3 未转码
【00:30~00:40】 4 未转码
【00:40~00:50】 5 未转码
【00:50~01:00】 6 未转码
应理解,表3仅为示例,基于前文关于表1和表2的说明可知,表3中的视频片段列或时间间隔列也可省略。为了简洁,这里不一一示例。
为了便于从存储空间中查找到已转码的视频片段所对应的分片,该映射关系还可用于指示各分片的位置。一种可能的实现方式是,将各分片在存储空间的位置与不同的分片标识关联,在该映射关系中包含时间间隔和视频片段中的至少一项、转码状态与分片标识的对应关系。表4示出了该映射关系的一例:
表4
Figure BDA0003565839750000061
Figure BDA0003565839750000071
应理解,通过分片标识来关联分片在存储空间的位置仅为一种可能的实现。在另一种实现方式中,也可直接在该映射关系中包含各分片在存储空间中的位置。为了简洁,这里不一一示例。
在本申请中,视频转码装置可将转码后的视频片段作为分片保存在存储空间中,比如,将已转码的视频片段1、视频片段2分别对应的分片1、分片2保存在存储空间中。
进一步地,该映射关系还可用于指示每个已转码的视频片段的清晰度。
前已述及,由于一个视频文件可能能够转码成多个清晰度的版本,基于不同用户的需求,每个已转码的视频片段可能预存有不同清晰度的一个或多个分片。换言之,每个已转码的视频片段可能与一个或多个不同清晰度的分片对应。
比如,假设在对如图3的(b)中视频片段1进行转码时,将该视频片段1转码为了标清和超清两种清晰度,则就可得到标清的分片1a和超清的分片1c,将标清的分片1a和超清的分片1c均保存在存储空间中。则初始生成的映射关系中可以包括视频片段1对应的分片1a和1c。又比如,假设对图3的(b)中的视频片段2进行转码时,将视频片段2转码为了标清和高清两种清晰度,则初始生成的映射关系中可以包括视频片段2对应的分片2a和2b。表5示出了该映射关系的一例。
表5
时间间隔 转码状态 分片标识
【00:00~00:10】 已转码 1a,1c
【00:10~00:20】 已转码 2a,2b
【00:20~00:30】 未转码
【00:30~00:40】 未转码
【00:40~00:50】 未转码
【00:50~01:00】 未转码
应理解,在一个视频片段对应有多个不同清晰度的分片时,可通过不同的标识(如a、b、c等)来区分不同清晰度的分片。本申请对于用于区分不同清晰度的标识不作限定。
下面结合图4介绍本申请实施例提供的视频转码方法。
图4是本申请实施例提供的视频转码方法的示意性流程图。图4所示的方法400可以应用于视频转码装置,该视频转码装置可以为视频点播系统的后台。图4所示的方法可以包括步骤401至步骤404。下面详细说明方法400中的各个步骤。应理解,对于步骤403和步骤404,可以仅执行步骤403,也可以仅执行步骤404,还可以既执行步骤403,也执行步骤404。
步骤401,基于用户选择的点播位置,确定视频文件中的待转码视频。
其中,该视频文件包括与多个时间间隔一一对应的多个视频片段,该多个时间间隔是基于预设时长对视频文件的总时长划分得到的,该待转码视频包括多个视频片段中的至少一个。
本申请中,待转码视频所对应的时间长度为划分的单个时间间隔所对应的时间长度的整数倍,即预设时长的整数倍。例如将该整数倍记为n倍,n为自然数。待转码视频为该视频文件包含的多个视频文件中的n个视频片段。换言之,待转码视频也就可包括至少一个视频片段。比如,可设置n=3,则待转码视频所对应的时间长度为预设时长的三倍,假设预设时长为10秒,则待转码视频所对应的时间长度为30秒,待转码视频包括三个视频片段。
若将该用户选择的点播位置所落在的时间间隔记为目标时间间隔,则该待转码视频的n个视频片段中包括与该目标时间间隔对应的视频片段。
这里,点播位置所落在的时间间隔,可以包括:处于该时间间隔内的位置和处于该时间间隔的左边界位置。例如,点播位置落在时间间隔【00:10~00:20】可以包括:点播位置落在[00:10,00:20)的范围内。换言之,若点播位置落在时间间隔的右边界位置,可认为该点播位置落在下一个时间间隔内。
应理解,上文对点播位置处于时间边界时所落在的时间间隔的定义仅为示例,本申请对此不予限制。若n为奇数,也即,待转码视频所对应的时间长度为预设时长的奇数倍,待转码视频可以包括:用户选择的点播位置所在的目标时间间隔对应的视频片段,以及处于该目标时间间隔之后的n-1个时间间隔对应的n-1视频片段;或者,也可以包括:该目标时间间隔对应的视频片段和处于该目标时间间隔前后各(n-1)/2个视频片段;或者,也可以包括:该目标时间间隔对应的视频片段,以及处于该目标时间间隔之前的一个视频片段和处于该目标时间间隔之后的n-2个视频片段,等等。本申请包含但不限于此。
若n为偶数,也即,待转码视频所对应的时长长度为预设时长的偶数倍,待转码视频可以包括:用户选择的点播位置所在的目标时间间隔对应的视频片段,以及处于该目标时间间隔之后的n-1个时间间隔对应的n-1个视频片段;或者,也可以包括:该目标时间间隔对应的视频片段,以及处于该目标时间间隔之前的一个视频片段和处于该目标时间间隔之后的n-2个视频片段,等等。本申请包含但不限于此。
应理解,上文所示例的从多个视频片段中确定n个视频片段的方法仅为示例,本申请对于确定待转码视频的具体方法不作限定。本领域技术人员可根据实际需求设置待转码视频所对应的具体时间长度,只需要满足在对待转码视频包括的所有视频片段进行转码时,转码所需的时间既不会让用户等待太久,也不会让服务商产生较高的转码成本。
具体地,用户可在客户端(例如,视频点播系统的播放器)的播放界面中通过拖动进度条来选择从视频的哪个位置开始观看。客户端在获取到用户选择的点播位置后,将该点播位置发送给视频转码装置,使得视频转码装置根据用户所选择的点播位置,来确定出待转码视频。
下面以图5为例来进行示例性说明。图5为本申请实施例提供的视频点播的示意图。其中,图5中的(a)为初次点播的示意图,图5中的(b)为二次点播示意图,图5中的(c)为三次点播示意图。其中,预设的待转码视频所对应的时间长度为预设时长的三倍。
如图5中的(a)所示,假设用户在初次点播视频时,将进度条的位置选择在了00:32秒处,则视频转码装置可确定出待转码视频所对应的时间间隔为【00:20~00:50】,则待转码视频包括:视频片段3、视频片段4和视频片段5。如图5中的(b)所示,假设用户在二次点播相同的视频时,将进度条位置选择在了00:47秒处,则视频转码装置可确定出待转码视频所对应的时间间隔为【00:30~00:60】,则待转码视频包括:视频片段4、视频片段5和视频片段6。如图5中的(c)所示,假设用户在三次点播相同视频时,将进度条位置选择在了00:42秒处,则视频转码装置可确定出待转码视频所对应的时间间隔仍旧为【00:30~00:60】,则待转码视频仍旧包括:视频片段4、视频片段5和视频片段6。
应理解,在对相同的视频进行多次不同播放位置的点播时,可为同一个用户进行点播,也可为不同用户进行点播。
步骤402,视频转码装置基于预存的映射关系,确定待转码视频中每个视频片段是否预存有对应的分片。
其中,该分片是基于对应的视频片段转码得到的,该映射关系可用于指示视频文件中的每个视频片段是否已被转码。
根据前述方法200可知,该映射关系可用于指示该视频文件中的每个视频片段是否已转码,也即是否预存有对应的分片。视频转码装置可以基于待转码视频中n个视频片段或n个视频片段对应的时间间隔,从该映射关系中确定是否预存有对应的分片。应理解,关于映射关系的具体说明可参考前述方法200的描述,在此不再赘述。
在待转码视频中的每个视频片段均未进行转码,即存储空间中未保存对应的分片时,可执行步骤404;在待转码视频中的一部分视频片段进行了转码,另一部分视频未进行转码,即存储空间中只保存有待转码视频中的一部分视频片段对应的分片时,可执行步骤403和步骤404;在待转码视频中的每个视频片段均进行了转码,即存储空间中保存有待转码视频中所有视频片段对应的分片时,可执行步骤403。
步骤403,视频转码装置基于待转码视频,获取预存的分片。
具体地,对于待转码视频中已经转码的视频片段,视频转码装置可从存储空间中获取相应的分片,并将分片发送给客户端以供后续的视频播放。
步骤404,视频转码装置基于待转码视频,对未转码的视频片段进行转码。
具体地,对于待转码视频中未转码的视频片段,视频转码装置可对这些视频片段进行转码,从而得到相应的分片,并将转码后的分片发送给客户端以供后续的视频播放。同时,视频转码装置也将转码后的分片保存在存储空间中。
应理解,在视频转码装置对视频片段进行转码时,客户端的显示界面上可显示“转码中”等消息提示,以告知用户正在转码。
可选地,在步骤404之后,还可以包括:视频转码装置更新映射关系。
具体地,对于未转码的视频片段进行了转码操作时,视频转码装置可对预存的映射关系进行更新,将进行了转码操作的视频片段的转码状态由未转码更新为已转码。
下面以图5为例进行示例性说明。
如图5中的(a)所示,在用户初次将进度条的位置选择在00:32秒时,视频转码装置确定出待转码视频包括:视频片段3、视频片段4和视频片段5。视频转码装置通过查找预存的映射关系,可以确定出视频片段3、视频片段4和视频片段5均未进行过转码,即存储空间中并未保存有视频片段3、视频片段4和视频片段5对应的分片,则视频转码装置对视频片段3、视频片段4和视频片段5进行转码,得到分片3、分片4和分片5。此时,视频转码装置将分片3、分片4和分片5保存在存储空间中,并更新映射关系,将视频片段3、视频片段4和视频片段5所对应的转码状态修改为已转码。同时,视频转码装置可将分片3、分片4和分片5发送给客户端,使得客户端可从用户选中的位置,即00:32秒处开始播放视频。
如图5中的(b)所示,在用户第二次将进度条的位置选择在00:47秒时,视频转码装置确定出待转码视频包括:视频片段4、视频片段5和视频片段6。此时,视频转码装置通过查找预存的映射关系,可以确定出视频片段4和视频片段5进行过转码,即存储空间中保存有视频片段4对应的分片4,视频片段5对应的分片5。并且,也可以确定出视频片段6未进行过转码,即存储空间中并未保存有视频片段6对应的分片。则,一方面,视频转码装置从存储空间中获取分片4和分片5。另一方面,对视频片段6进行转码,得到分片6。
此时,视频转码装置可将分片4和分片5先发送给客户端,使得客户端从用户选中的位置,即00:47秒处开始播放视频,在转码得到分片6后,再将分片6发送给客户端,使得客户端可以接着播放分片6的视频内容;或者,也可以在转码得到分片6后,将分片4、分片5和分片6一起发送给客户端。
同时,视频转码装置将分片6保存在存储空间中,并更新映射关系,将视频片段6所对应的转码状态修改为已转码,并可进一步记录分片6的存储位置。
如图5中的(c)所示,在用户第三次将进度条的位置选择在00:42秒时,视频转码装置确定出待转码视频包括:视频片段4、视频片段5和视频片段6。此时,视频转码装置通过查找预存的映射关系,可以确定出视频片段4、视频片段5和视频片段6均进行过转码,即存储空间中保存有视频片段4对应的分片4,视频片段5对应的分片5,以及视频片段6对应的分片6。则,视频转码装置从存储空间中获取分片4、分片5和分片6,并将这三个分片发送给客户端,使得客户端从用户选中的位置,即00:42秒处开始播放视频。
如前所述,用户在上传视频文件后,视频转码装置会通过对视频文件的分析,来确定出该视频可以转码成哪些清晰度的视频,比如可转码成标清、高清或超清。则,视频转码装置可将视频能够转码成哪些清晰度的信息发送给客户端,以供客户端在播放界面为用户提供清晰度选项,使得用户可根据自己的需求来选择自己所观看的视频的清晰度。
同时,视频转码装置生成的映射关系还可以指示每个已转码的视频片段对应的分片的清晰度。也就是说,在视频转码装置确定出视频文件可转码为多种清晰度的视频时,该视频文件中的每个视频片段也就可转码成多种清晰度的视频片段,即一个视频片段可对应多个不同清晰度的分片。
因此,视频转码装置在确定出待转码视频中的视频片段在存储空间中保存有对应的分片时,还可以进一步判断所存储的分片的清晰度是否为用户所选择的清晰度。
一示例,在步骤403之前,还可以包括:视频转码装置确定待转码视频中的第一视频片段预存有对应的第一分片;确定用户选择的清晰度与第一分片的清晰度匹配。则,步骤403中视频转码装置获取预存分片的过程,具体可以包括:视频转码装置获取预存的第一分片。
其中,第一分片为与用户选择的清晰度相同的分片。
具体地,视频转码装置在确定出待转码视频中有部分或全部视频片段在存储空间中已经预存了对应的分片,则针对每个视频片段所对应的分片,判断分片的清晰度与用户在客户端的播放界面所选择的想要观看的视频的清晰度是否一致。若存在有分片的清晰度与用户选择的清晰度一致,则将这些分片作为第一分片,直接从存储空间中获取第一分片。
例如,如图5的(b)中,在用户第二次将进度条的位置选择在00:47秒时,假设用户选择的清晰度为标清。视频转码装置通过预存的映射关系,确定出待转码视频中的视频片段4和视频片段5在存储空间中保存有对应的分片4a和分片5a。假设视频片段4和视频片段5在图5的(a)中的转码过程中转码为了标清,即分片4a和分片5a对应的清晰度恰好为标清,则分片4a和分片5a就为第一分片。视频转码装置就可从存储空间中获取分片4a和分片5a,将其提供给客户端进行播放。
另一示例,在步骤404之前,还可以包括:视频转码装置确定待转码视频中的第二视频片段预存有对应的第二分片;确定用户选择的清晰度与第二分片的清晰度不匹配;确定第二视频片段为未转码的视频片段。
其中,第二分片为与用户选择的清晰度不同的分片。
具体地,视频转码装置在确定出待转码视频中有部分或全部视频片段在存储空间中已经预存了对应的分片,在针对每个视频片段所对应的分片,判断分片的清晰度与用户在客户端的播放界面所选择的想要观看的视频的清晰度是否一致时,若存在有视频片段所对应的分片的清晰度与用户选择的清晰度不一致,则将这些分片作为第二分片。此时,视频转码装置针对待转码视频中已经转码的视频片段,根据用户选择的清晰度,重新对这些视频片段进行转码,得到与用户选择的清晰度一致的分片。
例如,如图5的(c)中,在用户第三次将进度条的位置选择在00:42秒时,假设用户选择的清晰度变为了超清。视频转码装置通过预存的映射关系,虽然确定出待转码视频中的视频片段4、视频片段5和视频片段6在图5的(b)的过程中转码为了标清,即在存储空间中保存的分片4a、分片5a和分片6a对应的清晰度为标清,但与用户所选择的超清不匹配。则视频片段4、视频片段5和视频片段6就为第二视频片段。因此,视频转码装置就对视频片段4、视频片段5和视频片段6重新转码,得到清晰度为超清的分片4c、分片5c和分片6c,并将其提供给客户端进行播放。
并且,视频转码装置可将分片4c、分片5c和分片6c保存在存储空间中,视频转码装置还会再次更新映射关系,更新后的映射关系指示已转码的视频片段4对应有清晰度为标清的分片4a和超清的分片4c,已转码的视频片段5对应有清晰度为标清的分片5a和超清的分片5c,已转码的视频片段5对应有清晰度为标清的分片6a和超清的分片6c。
在本申请提供的方案中,视频转码装置基于预设时长对视频文件的总时长进行划分,得到与多个时间间隔一一对应的多个视频片段,并用于指示各视频片段是否已被转码的映射关系,在基于用户的点播位置确定出待转码视频,可基于预存的映射关系,确定出待转码视频中的每个视频片段是否预存有转码得到的分片。对于预存有分片的时频片段,可直接读取,而不必再次转码。如此一来,服务端只需对该待转码视频中未预存分片的视频片段进行转码,便可将转码后的视频提供给客户端播放。由于对每个视频片段是否转码做了记录,并对转码后的分片进行了存储,因此在下一次需要对同一视频片段进行转码时,便可将预存的相应分片读取出来,而无需重复转码,因此,可以极大地节省转码成本,且因预存的分片可直接发送给客户端播放,也可以避免因需对视频文件进行转码造成的用户长时间等待,保证了用户的点播体验。
以上,结合图2至图5详细描述了本申请实施例提供的方法。以下,结合图6至图7详细说明本申请实施例提供的装置。
图6是本申请实施例提供的视频转码装置的示意性框图。如图6所示,该视频转码装置600可以包括:确定模块610和处理模块620。该视频转码装置600中的各模块可用于实现图4所示的方法400中视频转码装置的功能。例如,确定模块610可用于执行方法400中的步骤401和步骤402,处理模块620可用于执行方法400中的步骤403和/或步骤404。
具体地,确定模块610可用于基于用户选择的点播位置,确定视频文件中的待转码视频,该视频文件包括与多个时间间隔一一对应的多个视频片段,该多个时间间隔是基于预设时长对视频文件的总时长划分得到的,该待转码视频包括多个视频片段中的部分视频片段;基于预存的映射关系,确定待转码视频中每个视频片段是否预存有对应的分片,该分片是基于对应的视频片段转码得到的,该映射关系用于指示视频文件中的每个视频片段是否已被转码;处理模块620可用于,基于待转码视频,获取预存的分片;和/或,基于待转码视频,对未转码的视频片段进行转码。
可选地,该映射关系中每个视频片段通过一个时间间隔标识,每个视频片段的时间间隔表示每个视频片段在视频文件中的起止位置。
可选地,该映射关系还用于指示每个已转码的视频片段对应的分片的清晰度。
可选地,该确定模块610,还可用于确定待转码视频中的第一视频片段预存有对应的第一分片;确定用户选择的清晰度与第一分片的清晰度匹配;则处理模块620可具体用于基于所述待转码视频中的所述第一视频片段,获取预存的第一分片。
可选地,该确定模块610,还可用于确定待转码视频中的第二视频片段预存有对应的第二分片;确定用户选择的清晰度与第二分片的清晰度不匹配;确定第二视频片段为未转码的视频片段。
可选地,该处理模块620,还可用于更新映射关系。
可选地,该确定模块610,还可用于基于预设时长,对视频文件的总时长进行划分,得到多个时间间隔;确定与多个时间间隔一一对应的多个视频片段;该处理模块620,还可用于基于多个视频片段,生成映射关系。
可选地,该确定模块610还可用于根据视频文件的以下至少一项:码率、帧率和分辨率,确定视频文件转码后能够达到的清晰度。
可选地,该确定模块610还可用于基于用户选择的点播位置,确定视频文件中对应的目标时间间隔,所述点播位置落在所述目标时间间隔的范围内;从所述多个视频片段中确定n个视频片段,所述n个视频片段包括与所述目标时间间隔对应的视频片段,n为自然数。
可选地,该处理模块620还可用于对视频文件中的一个或多个视频片段进行转码,该一个或多个视频片段在视频文件中的位置处于其他视频片段之前。
该视频转码装置600中的各模块还可用于实现图2所示的方法200中视频转码装置的功能,具体可参看前文实施例中的相关说明,此处不再赘述。
应理解,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
图7是本申请实施例提供的视频转码装置的另一示意性框图。该视频转码装置700可用于实现上述方法400中视频转码装置的功能。该视频转码装置700可以为芯片系统。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
如图7所示,该视频转码装置700可以包括处理器710和存储器720。存储器720和处理器710耦合。
其中,该存储器720可用于存储计算机程序,处理器710可用于调用并执行该计算机程序,以使得装置700实现本申请实施例提供的方法400中视频转码装置的功能。
示例性地,当该视频转码装置700用于实现本申请实施例提供的方法400中视频转码装置的功能时,处理器710可用于基于用户选择的点播位置,确定视频文件中的待转码视频,该视频文件包括与多个时间间隔一一对应的多个视频片段,该多个时间间隔是基于预设时长对视频文件的总时长划分得到的,该待转码视频包括多个视频片段中的部分视频片段;基于预存的映射关系,确定待转码视频中每个视频片段是否预存有对应的分片,该分片是基于对应的视频片段转码得到的,该映射关系用于指示视频文件中的每个视频片段是否已被转码;以及基于待转码视频,获取预存的分片;和/或,基于待转码视频,对未转码的视频片段进行转码。具体参见方法示例中的详细描述,此处不做赘述。
该视频转码装置700还可用于实现图2所示的方法200中视频转码装置的功能,具体可参看前文实施例中的相关说明,此处不再赘述。
本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器710可能和存储器720协同操作。处理器710可能执行存储器720中存储的程序指令。
该视频转码装置700还可以包括通信接口730,用于通过传输介质和其它设备进行通信,从而用于视频转码装置700可以和其它设备进行通信。例如,在该视频转码装置为服务端时,其它设备可以为客户端。该通信接口730例如可以是收发器、接口、总线、电路或者能够实现收发功能的装置。处理器710可利用通信接口730收发数据和/或信息,并用于实现图4对应的实施例中视频转码装置所执行的方法。
本申请实施例中不限定上述处理器710、存储器720以及通信接口730之间的具体连接介质。本申请实施例在图7中以处理器710、存储器720以及通信接口730之间通过总线连接。总线在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请还提供了一种芯片,所述芯片包括至少一个处理器,用于实现上述图2和/或图4所示实施例中视频转码装置所涉及的功能。
在一种可能的设计中,所述芯片还包括存储器,所述存储器用于保存程序指令和数据,存储器位于处理器之内或处理器之外。
本申请还提供一种电子设备,该电子设备包括:处理器和存储器,该存储器用于存储计算机程序,该处理器用于从存储器调用计算机程序,使得该电子设备执行上述图2和/或图4所示实施例的方法。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)。当该计算机程序被运行时,使得计算机执行如图2和/或图4所示实施例的方法。
本申请还提供一种计算机程序产品,包括计算机程序,当计算机程序被允许时,实现如图2和/或图4所示实施例的方法。
本说明书中使用的术语“单元”、“模块”等,可用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,各功能单元的功能可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令(程序)。在计算机上加载和执行该计算机程序指令(程序)时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD)、或者半导体介质(例如固态硬盘(solidstate disk,SSD)等。
该功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种视频转码方法,其特征在于,包括:
基于用户选择的点播位置,确定视频文件中的待转码视频,所述视频文件包括与多个时间间隔一一对应的多个视频片段,所述多个时间间隔是基于预设时长对所述视频文件的总时长划分得到的,所述待转码视频包括所述多个视频片段中的部分视频片段;
基于预存的映射关系,确定所述待转码视频中每个视频片段是否预存有对应的分片,所述分片是基于对应的视频片段转码得到的,所述映射关系用于指示所述视频文件中的每个视频片段是否已被转码;以及
基于所述待转码视频,获取预存的分片;和/或,
基于所述待转码视频,对未转码的视频片段进行转码。
2.如权利要求1所述的方法,其特征在于,所述映射关系中每个视频片段通过一个时间间隔标识,每个视频片段的时间间隔表示所述每个视频片段在所述视频文件中的起止位置。
3.如权利要求1所述的方法,其特征在于,所述映射关系还用于指示每个已转码的视频片段对应的分片的清晰度。
4.如权利要求3所述的方法,其特征在于,在所述基于所述待转码视频,获取预存的分片之前,所述方法还包括:
确定所述待转码视频中的第一视频片段预存有对应的第一分片;
确定所述用户选择的清晰度与所述第一分片的清晰度匹配;
所述基于所述待转码视频,获取预存的分片,包括:
基于所述待转码视频中的所述第一视频片段,获取预存的所述第一分片。
5.如权利要求3所述的方法,其特征在于,在所述基于所述待转码视频,对未转码的视频片段进行转码之前,所述方法还包括:
确定所述待转码视频中的第二视频片段预存有对应的第二分片;
确定所述用户选择的清晰度与所述第二分片的清晰度不匹配;
确定所述第二视频片段为未转码的视频片段。
6.如权利要求1至5中任一项所述的方法,其特征在于,在所述基于所述待转码视频,对未转码的视频片段进行转码之后,所述方法还包括:
更新所述映射关系。
7.如权利要求1或2所述的方法,其特征在于,在所述基于用户选择的点播位置,确定视频文件中的待转码视频之前,所述方法还包括:
基于所述预设时长,对所述视频文件的总时长进行划分,得到所述多个时间间隔;
确定与所述多个时间间隔一一对应的所述多个视频片段;
基于所述多个视频片段,生成所述映射关系。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
根据所述视频文件的以下至少一项:码率、帧率和分辨率,确定所述视频文件转码后能够达到的清晰度。
9.如权利要求7所述的方法,其特征在于,所述待转码视频包括所述多个视频片段中的n个视频片段,n为自然数,所述基于用户选择的点播位置,确定视频文件中的待转码视频,包括:
基于用户选择的点播位置,确定视频文件中对应的目标时间间隔,所述点播位置落在所述目标时间间隔的范围内;
从所述多个视频片段中确定n个视频片段,所述n个视频片段包括与所述目标时间间隔对应的视频片段。
10.如权利要求7所述的方法,其特征在于,在所述基于所述多个视频片段,生成所述映射关系之前,所述方法还包括:
对所述视频文件中的一个或多个视频片段进行转码,所述一个或多个视频片段在所述视频文件中的位置处于其他视频片段之前。
11.一种视频转码装置,其特征在于,包括用于执行如权利要求1至10中任一项所述的方法的模块。
12.一种电子设备,其特征在于,包括处理器和存储器,其中,
所述存储器用于存储计算机程序;
所述处理器用于从所述存储器调用并执行所述计算机程序,使得所述电子设备实现如权利要求1至10中任一项所述的方法。
13.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,实现如权利要求1至10中任一项所述的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被执行时,实现如权利要求1至10中任一项所述的方法。
CN202210307066.XA 2022-03-25 2022-03-25 一种视频转码方法及其相关装置 Active CN114630177B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210307066.XA CN114630177B (zh) 2022-03-25 2022-03-25 一种视频转码方法及其相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210307066.XA CN114630177B (zh) 2022-03-25 2022-03-25 一种视频转码方法及其相关装置

Publications (2)

Publication Number Publication Date
CN114630177A true CN114630177A (zh) 2022-06-14
CN114630177B CN114630177B (zh) 2024-06-21

Family

ID=81903044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210307066.XA Active CN114630177B (zh) 2022-03-25 2022-03-25 一种视频转码方法及其相关装置

Country Status (1)

Country Link
CN (1) CN114630177B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117395451A (zh) * 2023-09-13 2024-01-12 重庆数智融合创新科技有限公司 基于云存储的视频文件访问方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150207841A1 (en) * 2014-01-19 2015-07-23 Fabrix Tv Ltd. Methods and systems of storage level video fragment management
CN106604062A (zh) * 2016-12-01 2017-04-26 中央电视台 一种流媒体点播方法及装置
CN107333148A (zh) * 2017-06-23 2017-11-07 腾讯科技(深圳)有限公司 视频处理方法及装置、计算机存储介质及设备
WO2019167634A1 (ja) * 2018-02-28 2019-09-06 ソニー株式会社 コンテンツ配信制御装置、コンテンツ配信制御方法、プログラム、およびコンテンツ配信システム
WO2020040741A1 (en) * 2018-08-21 2020-02-27 Rovi Guides, Inc. Systems and methods for real-time adaptive bitrate transcoding and transmission of transcoded media
CN111147869A (zh) * 2019-12-25 2020-05-12 新浪网技术(中国)有限公司 一种基于分布式对象存储的视频转码系统及方法
WO2021061098A1 (en) * 2019-09-23 2021-04-01 Google Llc Interruptible video transcoding

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150207841A1 (en) * 2014-01-19 2015-07-23 Fabrix Tv Ltd. Methods and systems of storage level video fragment management
CN106604062A (zh) * 2016-12-01 2017-04-26 中央电视台 一种流媒体点播方法及装置
CN107333148A (zh) * 2017-06-23 2017-11-07 腾讯科技(深圳)有限公司 视频处理方法及装置、计算机存储介质及设备
WO2019167634A1 (ja) * 2018-02-28 2019-09-06 ソニー株式会社 コンテンツ配信制御装置、コンテンツ配信制御方法、プログラム、およびコンテンツ配信システム
WO2020040741A1 (en) * 2018-08-21 2020-02-27 Rovi Guides, Inc. Systems and methods for real-time adaptive bitrate transcoding and transmission of transcoded media
WO2021061098A1 (en) * 2019-09-23 2021-04-01 Google Llc Interruptible video transcoding
CN111147869A (zh) * 2019-12-25 2020-05-12 新浪网技术(中国)有限公司 一种基于分布式对象存储的视频转码系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
姜彦;高杰;: "基于IPTV点播业务的视频分段式转码方案的研究与应用", 传播力研究, no. 07, 1 March 2018 (2018-03-01) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117395451A (zh) * 2023-09-13 2024-01-12 重庆数智融合创新科技有限公司 基于云存储的视频文件访问方法及系统

Also Published As

Publication number Publication date
CN114630177B (zh) 2024-06-21

Similar Documents

Publication Publication Date Title
US11962827B2 (en) Displaying non-time bound content in a time bound grid
US20220286718A1 (en) Method for playing back live-streaming video, and device thereof
US20180255359A1 (en) Method for sharing a captured video clip and electronic device
US8762564B1 (en) Method and system for dynamically selecting, assembling and inserting content into stream media
US10277927B2 (en) Movie package file format
CN106201330B (zh) 一种影像数据调度方法、装置及系统
US20060218251A1 (en) AV server, AV contents reproducing apparatus, AV contents transmitting method, program and recording medium
CN106961614B (zh) 一种加密视频网络播放的方法和系统
US20140109156A1 (en) Method, terminal, server and system for playing media file
US20200314509A1 (en) Video Processing Method, Terminal and Server
WO2017080175A1 (zh) 用于多机位的视频播放器、播放系统及播放方法
US20140059171A1 (en) Method And Device For Generating Media Fragment Requests For Requesting Fragments Of An Encoded Media Stream
US8955019B2 (en) Network system, server apparatus, terminal apparatus, display method of content guide, program for server apparatus, program for terminal apparatus
CN114630177A (zh) 一种视频转码方法及其相关装置
US10674188B2 (en) Playback apparatus, method of controlling playback apparatus, playback method and server apparatus
KR101517959B1 (ko) 적응형 스트리밍 방법
US20080215594A1 (en) Contents distribution system, terminal apparatus, contents distribution method, and recording medium on which is recorded a program used therein
CN112291591A (zh) 一种视频数据回放方法、电子设备和存储介质
US20170264685A1 (en) Distribution method, distribution request method, and information processing device
CN108989426B (zh) 基于hls协议的拉流方法、系统及客户端和存储介质
US10565248B2 (en) Time-shifted playback for over-the-top linear streaming
US7599962B2 (en) Content delivery system, content server, content receiver, content delivery method, storage medium and program
KR101858247B1 (ko) 통합 아이디를 이용한 콘텐츠 제공 시스템 및 방법
US20160173551A1 (en) System and method for session mobility for adaptive bitrate streaming
CN107071504B (zh) 闪屏内容处理方法及装置

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