CN112218128B - 广告视频的播放方法、播放客户端及可读存储介质 - Google Patents
广告视频的播放方法、播放客户端及可读存储介质 Download PDFInfo
- Publication number
- CN112218128B CN112218128B CN201910631009.5A CN201910631009A CN112218128B CN 112218128 B CN112218128 B CN 112218128B CN 201910631009 A CN201910631009 A CN 201910631009A CN 112218128 B CN112218128 B CN 112218128B
- Authority
- CN
- China
- Prior art keywords
- video
- advertisement
- fragment
- target
- frame
- 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
Links
Images
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/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
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2668—Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
-
- 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/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种广告视频的播放方法、播放客户端及可读存储介质,通过对广告视频的播放索引文件中地址信息的替换,从而可以播放原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片,该方案能够在视频的流文件层面实现广告的插入,达到在视频的指定位置快速插入广告的目的,并避免了视频播放过程中对广告素材相应内容的实时解析,有效解决视频播放过程中的各个终端的适配和播放器的兼容问题,同时不影响用户播放。
Description
技术领域
本申请涉及多媒体技术领域,具体而言,本申请涉及一种广告视频的播放方法、播放客户端及可读存储介质。
背景技术
随着多媒体技术的迅猛发展,新兴了以视频为媒介的植入试广告形式。这种广告形式与传统广告形式相比,在表现形式上更加多样化,并且具有更强大的情景展示功能,带来的良好效果受到了各界的青睐。其中,若想在视频文件的某个片段中增加或者修改特定的广告,需要把整个视频进行广告的插入处理后重新转码,会消耗额外的时间和资源。
现有的技术方案中,为节约时间和资源,可以针对视频文件来标注广告的时间、广告的持续时间、广告的素材信息等内容,播放器通过解析相应的内容信息来拉取相应的广告素材,以在指定的时间显示相应的传播内容。
但是这种视频的播放方式,对播放器的兼容性能要求极高,无法在所有类型的播放器中有效兼容播放的效果,例如HTML5实现的播放器或者常见终端的系统播放器。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
第一方面,本申请提供了一种广告视频的播放方法,该播放方法包括:
获取广告视频的播放索引文件,所述广告视频是根据原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片得到的,每个第一广告视频分片均是根据所述原始视频的一个目标视频分片得到的,所述播放索引文件中的所述原始视频的所述各个目标视频分片的地址信息被所述各个第一广告视频分片的地址信息替换;
根据所述播放索引文件,播放所述原始视频中除所述各个目标视频分片外的其他视频分片以及所述各个第一广告视频分片;
其中,所述各个目标视频分片为所述原始视频中至少一个待插入广告分别对应的视频分片。
一种可行的实现方式中,根据原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片得到所述广告视频的过程,包括:
将所述原始视频中的各个视频分片进行帧对齐和转码,得到包含各个视频分片的至少一个第一视频码流和包含各个视频分片的第二视频码流;
获取至少一个待插入广告分别对应的第一广告视频分片,每个第一广告视频分片均是根据第二视频码流中的一个目标视频分片得到的;
分别根据各个第一广告视频分片,对各个第一视频码流中与所述各个第一广告视频分片对应的目标视频分片进行替换处理,得到至少一个插入广告后的视频文件,将所述至少一个插入广告后的视频文件中的其中一个视频文件作为所述广告视频。
一种可行的实现方式中,所述第二视频码流的码率大于所述各个第一视频码流的码率,和/或所述第二视频码流的分辨率大于所述各个第一视频码流的分辨率,根据任一个第一广告视频分片,对各个第一视频码流中与所述任一第一广告视频分片对应的目标视频分片进行替换处理的过程,包括:
将所述任一第一广告视频分片进行转码,输出码率和分辨率与所述各个第一视频码流的码率和分辨率相同的各个第二广告视频分片;
分别根据所述各个第二广告视频分片,对与所述各个第二广告视频分片对应的第一视频码流中与所述任一第一广告视频分片对应的目标视频分片进行替换处理。
一种可行的实现方式中,所述根据任一第二广告视频分片,对与所述任一第二广告视频分片对应的第一视频码流中与所述任一第一广告视频分片对应的目标视频分片进行替换处理的过程,包括:
根据与所述任一第二广告视频分片对应的第一视频码流中与所述任一个第一广告视频对应的第一目标视频分片,对所述任一第二广告视频分片进行帧调整,得到第三广告视频分片;
根据所述第三广告视频分片的地址信息,对与所述任一第二广告视频分片对应的第一视频码流对应的视频播放索引文件中与所述第三广告视频分片对应的目标视频分片的地址信息进行替换。
一种可行的实现方式中,所述根据与所述任一第二广告视频分片对应的第一视频码流中与所述任一个第一广告视频对应的第一目标视频分片,对所述任一第二广告视频分片进行帧调整的过程,包括:
确定第一时间戳与第二时间戳的差值,所述第一时间戳为所述第一目标视频分片的第一个视频帧的时间戳,所述第二时间戳为所述任一第二广告视频分片的第一个视频帧的时间戳;
根据所述差值,调整所述任一第二广告视频分片的各个视频帧的时间戳;
将调整时间戳后的所述任一第二广告视频分片的各个视频帧,以及所述第一目标视频分片的各个音频帧进行封装,得到第三广告视频分片。
一种可行的实现方式中,所述确定第一时间戳与第二时间戳的差值的过程之前,还包括:
对所述第一目标视频分片进行分解复用,得到所述第一目标视频分片的各个视频帧和各个音频帧,并对所述任一第二广告视频分片进行分解复用,得到所述任一第二广告视频分片的各个视频帧和各个音频帧;
确定所述第一目标视频分片的第一个视频帧,并获取所述第一时间戳;
根据所述第一目标视频分片的第一个视频帧,针对所述任一第二广告视频分片的第一个视频帧,获取所述第二时间戳。
一种可行的实现方式中,获取任一待插入广告对应的第一广告视频分片的过程,包括:
根据所述任一待插入广告及所述第二视频码流中与所述任一待插入广告对应的第二目标视频分片,生成所述任一待插入广告对应的第一广告视频分片。
一种可行的实现方式中,根据所述任一待插入广告及所述第二视频码流中与所述任一待插入广告对应的第二目标视频分片,生成所述任一待插入广告对应的第一广告视频分片的过程,包括:
确定所述任一待插入广告在所述第二目标视频分片中的位置信息;
基于所述位置信息相应的位置,将所述任一待插入广告插入到所述第二目标视频分片中,生成所述任一待插入广告对应的第一广告视频分片。
第二方面,本申请提供了一种广告视频的播放客户端,该播放客户端包括:
获取模块,用于获取广告视频的播放索引文件,所述广告视频是根据原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片得到的,每个第一广告视频分片均是根据所述原始视频的一个目标视频分片得到的,所述播放索引文件中的所述原始视频的所述各个目标视频分片的地址信息被所述各个第一广告视频分片的地址信息替换;
播放模块,用于根据所述播放索引文件,播放所述原始视频中除所述各个目标视频分片外的其他视频分片以及所述各个第一广告视频分片;
其中,所述各个目标视频分片为所述原始视频中至少一个待插入广告分别对应的视频分片。
一种可行的实现方式中,根据原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片得到所述广告视频的过程,包括:
将所述原始视频中的各个视频分片进行帧对齐和转码,得到包含各个视频分片的至少一个第一视频码流和包含各个视频分片的第二视频码流;
获取至少一个待插入广告分别对应的第一广告视频分片,每个第一广告视频分片均是根据第二视频码流中的一个目标视频分片得到的;
分别根据各个第一广告视频分片,对各个第一视频码流中与所述各个第一广告视频分片对应的目标视频分片进行替换处理,得到至少一个插入广告后的视频文件,将所述至少一个插入广告后的视频文件中的其中一个视频文件作为所述广告视频。
一种可行的实现方式中,所述第二视频码流的码率大于所述各个第一视频码流的码率,和/或所述第二视频码流的分辨率大于所述各个第一视频码流的分辨率,根据任一个第一广告视频分片,对各个第一视频码流中与所述任一第一广告视频分片对应的目标视频分片进行替换处理的过程,包括:
将所述任一第一广告视频分片进行转码,输出码率和分辨率与所述各个第一视频码流的码率和分辨率相同的各个第二广告视频分片;
分别根据所述各个第二广告视频分片,对与所述各个第二广告视频分片对应的第一视频码流中与所述任一第一广告视频分片对应的目标视频分片进行替换处理。
一种可行的实现方式中,所述根据任一第二广告视频分片,对与所述任一第二广告视频分片对应的第一视频码流中与所述任一第一广告视频分片对应的目标视频分片进行替换处理的过程,包括:
根据与所述任一第二广告视频分片对应的第一视频码流中与所述任一个第一广告视频对应的第一目标视频分片,对所述任一第二广告视频分片进行帧调整,得到第三广告视频分片;
根据所述第三广告视频分片的地址信息,对与所述任一第二广告视频分片对应的第一视频码流对应的视频播放索引文件中与所述第三广告视频分片对应的目标视频分片的地址信息进行替换。
一种可行的实现方式中,所述根据与所述任一第二广告视频分片对应的第一视频码流中与所述任一个第一广告视频对应的第一目标视频分片,对所述任一第二广告视频分片进行帧调整的过程,包括:
确定第一时间戳与第二时间戳的差值,所述第一时间戳为所述第一目标视频分片的第一个视频帧的时间戳,所述第二时间戳为所述任一第二广告视频分片的第一个视频帧的时间戳;
根据所述差值,调整所述任一第二广告视频分片的各个视频帧的时间戳;
将调整时间戳后的所述任一第二广告视频分片的各个视频帧,以及所述第一目标视频分片的各个音频帧进行封装,得到第三广告视频分片。
一种可行的实现方式中,所述确定第一时间戳与第二时间戳的差值的过程之前,还包括:
对所述第一目标视频分片进行分解复用,得到所述第一目标视频分片的各个视频帧和各个音频帧,并对所述任一第二广告视频分片进行分解复用,得到所述任一第二广告视频分片的各个视频帧和各个音频帧;
确定所述第一目标视频分片的第一个视频帧,并获取所述第一时间戳;
根据所述第一目标视频分片的第一个视频帧,针对所述任一第二广告视频分片的第一个视频帧,获取所述第二时间戳。
一种可行的实现方式中,获取任一待插入广告对应的第一广告视频分片的过程,包括:
根据所述任一待插入广告及所述第二视频码流中与所述任一待插入广告对应的第二目标视频分片,生成所述任一待插入广告对应的第一广告视频分片。
一种可行的实现方式中,根据所述任一待插入广告及所述第二视频码流中与所述任一待插入广告对应的第二目标视频分片,生成所述任一待插入广告对应的第一广告视频分片的过程,包括:
确定所述任一待插入广告在所述第二目标视频分片中的位置信息;
基于所述位置信息相应的位置,将所述任一待插入广告插入到所述第二目标视频分片中,生成所述任一待插入广告对应的第一广告视频分片。
第三方面,本申请提供了一种电子设备,该电子设备包括:
处理器和存储器,存储器存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如本申请的第一方面或第一方面的任一可选的实现方式中所示的方法。
第四方面,本申请提供了一种计算机可读存储介质,该计算机存储介质用于存储计算机指令、程序、代码集或指令集,当计算机指令、程序、代码集或指令集在计算机上运行时,使得计算机执行如本申请的第一方面或第一方面的任一可选的实现方式中所示的方法。
本申请提供的广告视频的播放方法、播放客户端及可读存储介质,通过对广告视频的播放索引文件中地址信息的替换,从而可以播放原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片,该方案能够在视频的流文件层面实现广告的插入,达到在视频的指定位置快速插入广告的目的,并避免了视频播放过程中对广告素材相应内容的实时解析,有效解决视频播放过程中的各个终端的适配和播放器的兼容问题,同时不影响用户播放。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图做简单的介绍。
图1为本申请实施例提供的一种广告视频的播放方法的流程示意图;
图2为本申请实施例提供的调整视频分片的示意图;
图3a为本申请实施例提供的在视频中插入未广告的示意图;
图3b为本申请实施例提供的在视频中插入广告的示意图;
图4为本申请实施例提供的视频中插入广告的总体方案的示意图;
图5为本申请实施例提供的一种播放客户端的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供了广告视频的播放方法,如图1所示,该方法包括:
步骤S001:获取广告视频的播放索引文件,广告视频是根据原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片得到的,每个第一广告视频分片均是根据原始视频的一个目标视频分片得到的,播放索引文件中的原始视频的各个目标视频分片的地址信息被各个第一广告视频分片的地址信息替换;
步骤S002:根据播放索引文件,播放原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片;
其中,各个目标视频分片为原始视频中至少一个待插入广告分别对应的视频分片。
本申请实施例提供的广告视频的播放方法、播放客户端及可读存储介质,通过对广告视频的播放索引文件中地址信息的替换,从而可以播放原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片,该方案能够在视频的流文件层面实现广告的插入,达到在视频的指定位置快速插入广告的目的,并避免了视频播放过程中对广告素材相应内容的实时解析,有效解决视频播放过程中的各个终端的适配和播放器的兼容问题,同时不影响用户播放。
对于本申请实施例,不具体限定需要进行广告插入的视频的类型。作为示例地,可以是用于点播的视频、直播视频或短视频等。本申请实施例中,可以实现在视频的指定位置快速插入广告。
实际应用中,对于与广告类似的目标对象,即与视频内容相关联的元素,例如与视频内容中的某物体相关的广告,或者是与视频内容相关联的特效,或者是与视频内容中的某人物相关的表情贴纸等,均可以采用本申请实施例提供的方案进行处理,本领域技术人员可以根据实际情况进行扩展,本申请实施例在此不做限定。
其中,插入即植入,也就是在视频中插入植入式广告,用于把产品及其服务具有代表性的品牌内容融入视频中,以达到营销目的。而基于本申请实施例提供的在视频中插入广告的技术方案,也可以将方案应用在对视频中目标对象的修改、删除等,例如对植入式广告的删除,修改等。本领域技术人员可以根据实际情况进行扩展,本申请实施例在此也不做限定。
本申请实施例中,根据原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片得到广告视频的过程,可以包括如下步骤:
步骤S101:将原始视频中的各个视频分片进行帧对齐和转码,得到包含各个视频分片的至少一个第一视频码流和包含各个视频分片的第二视频码流;
步骤S102:获取至少一个待插入广告分别对应的第一广告视频分片,每个第一广告视频分片均是根据第二视频码流中的一个目标视频分片得到的;
步骤S103:分别根据各个第一广告视频分片,对各个第一视频码流中与各个第一广告视频分片对应的目标视频分片进行替换处理,得到至少一个插入广告后的视频文件,将至少一个插入广告后的视频文件中的其中一个视频文件作为广告视频。
本申请实施例中,进行处理以及进行播放的视频,包括原始视频和广告视频,均包含多个视频分片。本申请的一个实施例中,可以在步骤S101之前,将待原始视频分割成多个视频分片,实际应用中,可采用根据预设的分片时长、根据预设的分片数量等方式将原始视频进行分割,本申请实施例对此不做限定,进而在步骤S101中对原始视频中的各个视频分片进行处理;或者也可以直接接收或读取原始视频的各个视频分片,进而在步骤S101中对原始视频中的各个视频分片进行处理。
具体而言,步骤S101中,会将原始视频中的各个视频分片进行帧对齐和转码,本申请实施例中,帧对齐和转码方式可以采用IDR(Instantaneous Decoding Refresh,瞬时解码刷新)对齐转码。其中,IDR对齐是指内容相同而清晰度不同的视频分片的IDR帧处于视频播放时间上的相同位置。也就是说,得到的每个第一视频码流的各个视频分片与第二视频码流的各个视频分片都分别是IDR帧对齐的。作为示例的,每个第一视频码流的第一个视频分片与第二视频码流的第一个视频分片是IDR帧对齐的,每个第一视频码流的第二个视频分片与第二视频码流的第二个视频分片也是IDR帧对齐的,以此类推。IDR帧对齐的作用是:每个不同视频码流的相同视频分片的起始帧是同一帧,后续进行视频分片替换时可以得到平滑的替换效果。
本申请示例中,当得到的至少两个第一视频码流时,不同的第一视频码流可以具有不同的分辨率,例如1080P、720P、480P、270P等,本申请不对视频码流可采用的分辨率进行限定。
其中,第一视频码流是播放使用的,因此可以提供不同分辨率的视频码流供用户选择。
第二视频码流是用来制作广告视频分片的,为了保证制作效果,第二视频码流的分辨率应大于或等于分辨率最高的第一视频码流的分辨率。作为示例地,当转码得到1080P、720P、480P、270P四个分辨率的第一视频码流时,第二视频码流的分辨率至少为1080P。
以及,第二视频码流的码率应大于或等于各个第一视频码流的码率。实际应用中,第二视频码流可以采用较大的码率,使得第二视频码流与原始视频更加接近,便于后续不同情况下对视频的处理,提高处理的灵活性。
可以理解,在码率一定的情况下,分辨率与清晰度成反比关系:分辨率越高,视频清晰度越低,分辨率越低,视频清晰度越高。而在分辨率一定的情况下,码率与清晰度成正比关系:码率越高,视频清晰度越高;码率越低,视频清晰度越低。
在转码得到第一视频码流和第二视频码流后,便可执行步骤S102。
本申请实施例的步骤S102中,待插入广告是针对该原始视频的特定位置需要进行插入的广告。本申请实施例中,将特定位置通过不同的视频分片区分开。实际应用中,原始视频可能仅有一个视频分片需要插入一个广告,例如视频分片a需要插入广告a-ad1;也可能存在多个视频分片同时需要插入广告,例如视频分片a需要插入广告a-ad1,同时视频分片c需要插入广告c-ad1;或者也可能存在一个视频分片需要插入多个广告,例如视频分片a需要插入广告a-ad1和a-ad2,或者也可能存在多个视频分片分别需要插入一个或多个广告等。
该步骤中,针对每个待插入广告(例如上述a-ad1、a-ad 2、c-ad 1等),均会获取各个待插入广告分别对应的第一广告视频分片,第一广告视频分片即插入完广告后的视频分片,例如对视频分片a进广告a-ad1的插入,得到第一广告视频分片a1,对视频分片a进广告a-ad2的插入,得到第一广告视频分片a2,对视频分片c进广告c-ad1的插入,得到第一广告视频分片c1等,以此类推。
其中,每个待插入广告对应的视频分片(例如上述视频分片a和/或视频分片c等)即为需要进行插入广告的目标视频分片(原始视频可能包括一个或多个目标视频分片)。可以理解,无论是原始视频还是第一视频码流或第二视频码流,同一位置的视频分片对应的视频内容是相同的。例如第一视频码流中的视频分片a与第二视频码流中相同位置的视频分片a的内容是相同的。因此第一视频码流中的目标视频分片与第二视频码流中的目标视频分片是相对应的。
结合上文可知,每个第一广告视频分片均是根据第二视频码流中的一个目标视频分片进行广告的插入后得到的。在获得各个第一广告视频分片后,便可执行步骤S103。
本申请实施例中,由于各个第一广告视频分片与其对应的第一视频码流中的目标视频分片具有以下依赖条件(例如第一广告视频分片a1和视频分片a等),因此可以进行替换处理:
1)IDR帧对齐:IDR帧对齐保证了替换处理后的画面平滑;
2)视频帧个数一致:视频帧个数一致保证了替换处理后的帧率和画面连续性一致;
3)时长一致:时长一致保证了替换处理后没有时间戳空洞或回退,避免播放器播放异常。
本申请实施例的步骤S103中,需要针对每个第一视频码流,都进行相应目标视频分片的替换处理。若步骤S101中编码得到一个第一视频码流,并且该码流的清晰度格式与第二视频码流相同(码率和分辨率均相同),则直接根据第一广告视频分片对第一视频码流中的目标视频分片进行替换处理。若步骤S101中编码得到一个第一视频码流,但该码流的清晰度格式与第二视频码流不同,那么需要先将第一广告视频分片转码成为与第一视频码流清晰度格式相同的视频码流,再根据转码后的第一广告视频分片对第一视频码流中的目标视频分片进行替换处理;若步骤S103中编码得到多个第一视频码流,以两个为例,分别为1080P和720P,那么需要先将第一广告视频分片转码成为与1080P的第一视频码流清晰度格式相同的视频码流(码率转码为相同,分辨率转码为1080P),再对1080P的第一视频码流中的目标视频分片进行替换处理,并将第一广告视频分片转码成为与720P的第一视频码流清晰度格式相同的视频码流(码率转码为相同,分辨率转码为720P),再对720P的第一视频码流中的目标视频分片进行替换处理。
也就是说,第二视频码流的码率大于各个第一视频码流的码率,和/或第二视频码流的分辨率大于各个第一视频码流的分辨率时,本申请实施例的步骤S103中,针对根据任一个第一广告视频分片,对各个第一视频码流中与该任一第一广告视频分片对应的目标视频分片进行替换处理的过程包括如下步骤:
步骤S1031:将该任一第一广告视频分片进行转码,输出码率和分辨率与各个第一视频码流的码率和分辨率相同的各个第二广告视频分片;
步骤S1032:分别根据各个第二广告视频分片,对与各个第二广告视频分片对应的第一视频码流中与该任一第一广告视频分片对应的目标视频分片进行替换处理。
可以理解,每个第一视频码流对应均会对应一个或多个插入广告后的视频文件,例如720P的第一视频码流会的产生其对应的视频文件,1080P的第一视频码流也会尝试其对应的视频文件;若一个第一视频码流中存在多个视频分片同时需要插入广告,该多个视频分片可能对应一个插入广告后的视频文件,例如将视频分片a和视频分片c同时插入广告后产生一个视频文件,也可能对应不同的插入广告后的视频文件,例如视频分片a插入广告后产生一个视频文件,视频分片c插入广告后也产生一个视频文件,可以根据配置的广告策略来选择插入哪些广告来生成一个视频文件,也可以通过排列组合、随机等方式来选择,本申请实施例对此不作限定;若存在一个视频分片需要插入多个广告,该视频分片的不同广告会产生不同的插入广告后的视频文件。例如若视频分片a有两个广告后可以插入,则两个广告会产生不同的视频文件。
本申请实施例中,为步骤S1032提供了一种可行的实现方式,具体而言,针对根据任一第二广告视频分片,对与该任一第二广告视频分片对应的第一视频码流中与该任一第一广告视频分片对应的目标视频分片进行替换处理的过程,包括如下步骤:
步骤A:根据与该任一第二广告视频分片对应的第一视频码流中与该任一个第一广告视频对应的第一目标视频分片,对该任一第二广告视频分片进行帧调整,得到第三广告视频分片;
步骤B:根据第三广告视频分片的地址信息,对与该任一第二广告视频分片对应的第一视频码流对应的视频播放索引文件中与第三广告视频分片对应的目标视频分片的地址信息进行替换。
为了保证原始的视频分片每一帧和生成的视频分片(进行广告的插入后视频分片)的每一帧除了广告都足够一致,以使得视频分片的替换处理后可以实现视频的无缝播放,本申请实施例的步骤A中,针对每个第二广告视频分片,都需要依照其对应的第一视频码流中的视频分片进行帧调整,得到每个第二广告视频分片分别对应的各个第三广告视频分片。
在其他实施例中,例如在步骤S101中编码得到一个第一视频码流,并且该码流的清晰度格式与第二视频码流相同的情况下,可以直接根据各个第一视频码流中的目标视频分片,分别对各个对应的第一广告视频分片进行帧调整,得到各个第三广告视频分片,具体的实现过程可参见对步骤A的介绍,在此不再赘述。
进一步地,本申请实施例的步骤B中,先要对各个第一视频码流对应的视频播放索引文件的内容进行替换修改。其中,每个视频播放索引文件记录有对应的视频码流中各个视频切片的时间信息(也可称为播放长度)和地址信息,所有视频切片的时间信息将所有视频切片合并为一个完整的视频文件,用于根据视频播放索引文件提供的资源定位信息对各个视频切片进行实现的播放。本申请实施例中,视频播放索引文件可以为基于HLS(HTTPLive Streaming,超文本传输协议实时流)协议的M3U8文件,一个实际的示例中,一个M3U8文件可以描述为:
#EXTM3U
#EXT-X-VERSI0N:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:18
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:10.200,
test.l.ts
#EXTINF:10.600,
test.2.ts
#EXTINF:8.160,
test.a.ts
#EXTINF:10.040,
test.4.ts
#EXTINF:10.400,
test.5.ts
#EXT-X-ENDLIST
该M3U8文件中,共包括5个视频分片,5个视频分片的名称信息分别为:l.ts、2.ts、a.ts、4.ts、5.ts,时间信息分别为10.200秒、10.600秒、8.160秒、10.040秒、10.040秒,地址信息分别为:test.l.ts、test.2.ts、test.a.ts、test.4.ts、test.5.ts。
本申请实施例的步骤B中,由于用来替换的视频分片(第三广告视频分片)与待替换的视频分片(第一视频码流中的目标视频分片)时间信息一致,因此只需对地址信息进行替换,接上示例,若第一视频码流中的目标视频分片为a.ts,而第三广告视频分片为a1_out.ts,则得到的广告视频播放索引文件可以描述为:
#EXTM3U
#EXT-X-VERSI0N:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:18
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:10.200,
test.l.ts
#EXTINF:10.600,
test.2.ts
#EXTINF:8.160,
test.a1_out.ts
#EXTINF:10.040,
test.4.ts
#EXTINF:10.400,
test.5.ts
#EXT-X-ENDLIST
采用该替换后M3U8文件指向插入广告后的视频分片即可。
可以理解,产生的一个插入广告后的视频文件会对应一个M3U8文件,由上文的介绍可知,可以根据配置的广告策略来决定M3U8文件的生成,也可以通过排列组合、随机等方式来决定,本申请实施例对此不作限定。
本申请实施例中,为步骤A中的实现提供了一种可行的方式,具体而言,根据与该任一第二广告视频分片对应的第一视频码流中与该任一个第一广告视频对应的第一目标视频分片,对该任一第二广告视频分片进行帧调整的过程,如图2所示,包括如下步骤:
确定第一时间戳与第二时间戳的差值(也可称为delta值),第一时间戳为第一目标视频分片的第一个视频帧的时间戳(对应图2中的视频分片1)的第一个视频帧的时间戳,第二时间戳为该任一第二广告视频分片(对应图2中的视频分片2)的第一个视频帧的时间戳;
在此之前,还需要对第一目标视频分片(对应图2中的视频分片1)进行分解复用(demux操作,该操作用于分离视频帧和音频帧),得到第一目标视频分片的各个视频帧和各个音频帧(对应图2中的视频分片1)的各个视频帧和各个音频帧,并对该任一第二广告视频分片(对应图2中的视频分片2)进行分解复用,得到该任一第二广告视频分片(对应图2中的视频分片2)的各个视频帧和各个音频帧。
进一步地,确定第一目标视频分片(对应图2中的视频分片1)的第一个视频帧,并获取第一时间戳。
再进一步地,根据第一目标视频分片(对应图2中的视频分片1)的第一个视频帧,针对该任一第二广告视频分片(对应图2中的视频分片2)的第一个视频帧(由于对齐的视频分片帧位置相同,可直接读取),获取第二时间戳。
在确定出第一时间戳与第二时间戳的差值后,根据确定出的差值,调整该任一第二广告视频分片(对应图2中的视频分片2)的各个视频帧的时间戳。
随后,将调整时间戳后的该任一第二广告视频分片(对应图2中的视频分片2)的各个视频帧,以及各个第一目标视频分片(对应图2中的视频分片1)的各个音频帧进行封装(mux操作),得到第三广告视频分片(对应图2中的视频分片3)。
也就是说,视频分片2可以直接使用视频分片1的各个音频帧,这样,得到视频分片3与视频分片1的音频帧完全一样,视频帧的时间戳和帧个数一致,可以实现视频的无缝播放。
本申请的一个实施例中,为步骤S102提供了一种可行的实现方式,其中,针对获取任一待插入广告对应的第一广告视频分片的过程,可以是根据该任一待插入广告及第二视频码流中与该任一待插入广告对应的第二目标视频分片,生成该任一待插入广告对应的第一广告视频分片。
具体而言,可以通过确定该任一待插入广告在第二目标视频分片中的位置信息,再基于位置信息相应的位置,将该任一待插入广告插入到第二目标视频分片中,生成该任一待插入广告对应的第一广告视频分片。
其中,位置信息可以包括第二视频码流中的目标视频分片的位置,例如为视频分片a1;以及目标视频分片中的视频帧的位置,例如第二帧到第四帧;以及待插入广告在每一帧中的坐标位置等。或者位置信息也可以包括其他定位方式,本领域技术人员可以结合广告的类型进行扩展,在此不做限定。
本申请的另一个实施例中,为步骤S102也可通过以下方式实现:直接将第二视频码流发送给第三方服务器,由第三方服务端进行第一广告视频分片的制作,并从第三方服务器接收制作好的各个第一广告视频分片。
例如可以将转码出的高码流发送给第三方广告服务端,由第三方广告服务端进行广告分片的制作,接收第三方广告服务端制作好的已插入广告的广告分片。
下面结合图3a、图3b和图4,通过示例再次对本申请提供的在视频中插入广告的技术方案进行详细介绍。
如图3a所示,若在视频中插入广告,用户观看的视频在相应的时间段和位置就会出现相应的广告内容,如图3b所示。
本申请实施例中,点播视频中插入广告的总体方案如图4所示:
1)片源经过IDR帧对齐编码,转码输出1080P码流、720P码流和一路高码流;
2)将该一路高码流发送给某一广告服务端;
3)该一路高码流会在需要植入广告的视频分片中相应位置植入广告,生成高码广告视频分片,该示例中,有两种广告可以插入视频分片a,制作成高码广告视频分片a1和a2;也有两种广告可以插入视频分片c,制作成高码广告视频分片c1和c2;
4)制作好的植入广告的高码广告视频分片经过转码,输出不同清晰度(1080P,720P)的广告视频分片,即得到720P的a1、720P a2、1080P的a1、1080P的a2,针对视频分片c的处理方式与a相同,在此不再赘述;
5)用同一清晰度的原始视频分片(例如720P的a),对广告视频分片(例如720P的a1)进行帧调整,生成一个新的视频分片(720P的a1_out),并由后台分发存储到CDN(Content Delivery Network,内容分发网络)中,其他视频分片的处理方式与a1相同,在此不再赘述;
6)同时,根据配置的广告策略,选择合适广告类型的广告视频分片(如a1还是a2,或者该视频分片不插入广告),并生成M3U8文件,M3U8文件中相应段指向相应的替换后的广告视频分片。
至此,便可直接根据M3U8文件,供用户播放插入广告的视频文件,达到在视频的指定位置快速插入广告的目的,无需再实时解析私有字段来拉取相应的广告素材进行显示,有效解决视频播放过程中的各个终端的适配和播放器的兼容问题,同时不影响用户播放。
可以理解,上述各实施例中的“第一视频码流”、“第二视频码流”中的第一、第二仅表示对不同视频码流的区分,而不能理解为对其数量或内容的限定;
以及,上述各实施例中的“第一广告视频分片”、“第二广告视频分片”和“第三广告视频分片”中的第一、第二、第三表示的是对不同处理步骤得到的不同类型广告视频分片进行区分,而不能理解为对其数量或内容的限定;
以及,上述各实施例中的“第一时间戳”、“第二时间戳”中的第一、第二仅表示对不同视频分片的时间戳的区分,而不能理解为对其大小的限定;
以及,上述各实施例中的“第一目标视频分片”、“第二目标视频分片”中的第一、第二仅表示对不同目标视频分片的区分,而不能理解为对其顺序或内容的限定。
对于本申请实施例,对步骤S101~步骤S103的各个实施例中的方法,也可称为一种在视频中插入广告的方法,该方法的执行主体可以为服务器,例如视频点播转码系统,服务器可以基于本申请实施例所提供的方法,在视频的流文件层面实现广告的插入(例如广告的插入),供用户获取播放。
而本申请实施例的步骤S001~步骤S002中,该方法的执行主体可以为客户端,由于广告视频是根据原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片得到的,每个第一广告视频分片均是根据原始视频的一个目标视频分片得到的,播放索引文件中的原始视频的各个目标视频分片的地址信息被各个第一广告视频分片的地址信息替换,那么,根据播放索引文件,便可直接播放原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片,达到播放广告视频的目的。
其中,播放的视频广告服务器生成的至少一个插入广告后的视频文件中的其中一个视频文件,对应一个播放索引文件,指向该广告视频。可以根据配置的广告策略或随机针对用户进行选择播放索引文件并播放对应的广告视频。实际应用中,该播放索引文件可以为M3U8文件,很好地解决了在视频中动态插入广告的功能。
本领域技术人员应能理解,上述点播视频中插入广告的场景仅为举例,可以基于该范例进行的适当变化以用于其他场景,也可以属于本申请的精神或范畴。
本申请实施例还提供了一种广告视频的播放客户端,如图5所示,该播放客户端50可以包括:获取模块501和播放模块502,其中,
获取模块501用于获取广告视频的播放索引文件,广告视频是根据原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片得到的,每个第一广告视频分片均是根据原始视频的一个目标视频分片得到的,播放索引文件中的原始视频的各个目标视频分片的地址信息被各个第一广告视频分片的地址信息替换;
播放模块502用于根据播放索引文件,播放原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片;
其中,各个目标视频分片为原始视频中至少一个待插入广告分别对应的视频分片。
一种可行的实现方式中,根据原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片得到广告视频的过程,包括:
将原始视频中的各个视频分片进行帧对齐和转码,得到包含各个视频分片的至少一个第一视频码流和包含各个视频分片的第二视频码流;
获取至少一个待插入广告分别对应的第一广告视频分片,每个第一广告视频分片均是根据第二视频码流中的一个目标视频分片得到的;
分别根据各个第一广告视频分片,对各个第一视频码流中与各个第一广告视频分片对应的目标视频分片进行替换处理,得到至少一个插入广告后的视频文件,将至少一个插入广告后的视频文件中的其中一个视频文件作为广告视频。
一种可行的实现方式中,第二视频码流的码率大于各个第一视频码流的码率,和/或第二视频码流的分辨率大于各个第一视频码流的分辨率,根据任一个第一广告视频分片,对各个第一视频码流中与该任一第一广告视频分片对应的目标视频分片进行替换处理的过程,包括:
将该任一第一广告视频分片进行转码,输出码率和分辨率与各个第一视频码流的码率和分辨率相同的各个第二广告视频分片;
分别根据各个第二广告视频分片,对与各个第二广告视频分片对应的第一视频码流中与该任一第一广告视频分片对应的目标视频分片进行替换处理。
一种可行的实现方式中,根据任一第二广告视频分片,对与该任一第二广告视频分片对应的第一视频码流中与该任一第一广告视频分片对应的目标视频分片进行替换处理的过程,包括:
根据与该任一第二广告视频分片对应的第一视频码流中与该任一个第一广告视频对应的第一目标视频分片,对该任一第二广告视频分片进行帧调整,得到第三广告视频分片;
根据第三广告视频分片的地址信息,对与该任一第二广告视频分片对应的第一视频码流对应的视频播放索引文件中与第三广告视频分片对应的目标视频分片的地址信息进行替换。
一种可行的实现方式中,根据与该任一第二广告视频分片对应的第一视频码流中与该任一个第一广告视频对应的第一目标视频分片,对该任一第二广告视频分片进行帧调整的过程,包括:
确定第一时间戳与第二时间戳的差值,第一时间戳为第一目标视频分片的第一个视频帧的时间戳,第二时间戳为该任一第二广告视频分片的第一个视频帧的时间戳;
根据差值,调整该任一第二广告视频分片的各个视频帧的时间戳;
将调整时间戳后的该任一第二广告视频分片的各个视频帧,以及第一目标视频分片的各个音频帧进行封装,得到第三广告视频分片。
一种可行的实现方式中,确定第一时间戳与第二时间戳的差值的过程之前,还包括:
对第一目标视频分片进行分解复用,得到第一目标视频分片的各个视频帧和各个音频帧,并对该任一第二广告视频分片进行分解复用,得到该任一第二广告视频分片的各个视频帧和各个音频帧;
确定第一目标视频分片的第一个视频帧,并获取第一时间戳;
根据第一目标视频分片的第一个视频帧,针对该任一第二广告视频分片的第一个视频帧,获取第二时间戳。
一种可行的实现方式中,获取任一待插入广告对应的第一广告视频分片的过程,包括:
根据该任一待插入广告及第二视频码流中与该任一待插入广告对应的第二目标视频分片,生成该任一待插入广告对应的第一广告视频分片。
一种可行的实现方式中,根据该任一待插入广告及第二视频码流中与该任一待插入广告对应的第二目标视频分片,生成该任一待插入广告对应的第一广告视频分片的过程,包括:
确定该任一待插入广告在第二目标视频分片中的位置信息;
基于位置信息相应的位置,将该任一待插入广告插入到第二目标视频分片中,生成该任一待插入广告对应的第一广告视频分片。
所属领域的技术人员可以清楚地了解到,本申请实施例提供的播放客户端,其实现原理及产生的技术效果和前述方法实施例相同,为描述的方便和简洁,装置实施例部分未提及之处,可参考前述方法实施例中相应内容,在此不再赘述。
本申请实施例提供的播放客户端,通过对广告视频的播放索引文件中地址信息的替换,从而可以播放原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片,该方案能够在视频的流文件层面实现广告的插入,达到在视频的指定位置快速插入广告的目的,并避免了视频播放过程中对广告素材相应内容的实时解析,有效解决视频播放过程中的各个终端的适配和播放器的兼容问题,同时不影响用户播放。
本申请实施例中,还可以提供一种在视频中插入广告的装置,该装置可以包括:转码模块、获取模块和替换模块,其中,
转码模块用于将原始视频中的各个视频分片进行帧对齐和转码,得到包含各个视频分片的至少一个第一视频码流和包含各个视频分片的第二视频码流;
获取模块用于将获取至少一个待插入广告分别对应的第一广告视频分片,每个第一广告视频分片均是根据第二视频码流中的一个目标视频分片得到的;
替换模块用于将分别根据各个第一广告视频分片,对各个第一视频码流中与各个第一广告视频分片对应的目标视频分片进行替换处理,得到至少一个插入广告后的视频文件,将至少一个插入广告后的视频文件中的其中一个视频文件作为广告视频。
一种可行的实现方式中,第二视频码流的码率大于各个第一视频码流的码率,和/或第二视频码流的分辨率大于各个第一视频码流的分辨率,替换模块在用于根据任一个第一广告视频分片,对各个第一视频码流中与该任一第一广告视频分片对应的目标视频分片进行替换处理的过程中,具体用于:
将该任一第一广告视频分片进行转码,输出码率和分辨率与各个第一视频码流的码率和分辨率相同的各个第二广告视频分片;
分别根据各个第二广告视频分片,对与各个第二广告视频分片对应的第一视频码流中与该任一第一广告视频分片对应的目标视频分片进行替换处理。
一种可行的实现方式中,替换模块在用于根据任一第二广告视频分片,对与该任一第二广告视频分片对应的第一视频码流中与该任一第一广告视频分片对应的目标视频分片进行替换处理的过程中,具体用于:
根据与该任一第二广告视频分片对应的第一视频码流中与该任一个第一广告视频对应的第一目标视频分片,对该任一第二广告视频分片进行帧调整,得到第三广告视频分片;
根据第三广告视频分片的地址信息,对与该任一第二广告视频分片对应的第一视频码流对应的视频播放索引文件中与第三广告视频分片对应的目标视频分片的地址信息进行替换。
一种可行的实现方式中,替换模块在用于根据与该任一第二广告视频分片对应的第一视频码流中与该任一个第一广告视频对应的第一目标视频分片,对该任一第二广告视频分片进行帧调整的过程中,具体用于:
确定第一时间戳与第二时间戳的差值,第一时间戳为第一目标视频分片的第一个视频帧的时间戳,第二时间戳为该任一第二广告视频分片的第一个视频帧的时间戳;
根据差值,调整该任一第二广告视频分片的各个视频帧的时间戳;
将调整时间戳后的该任一第二广告视频分片的各个视频帧,以及第一目标视频分片的各个音频帧进行封装,得到第三广告视频分片。
一种可行的实现方式中,替换模块在用于确定第一时间戳与第二时间戳的差值的过程之前,还用于:
对第一目标视频分片进行分解复用,得到第一目标视频分片的各个视频帧和各个音频帧,并对该任一第二广告视频分片进行分解复用,得到该任一第二广告视频分片的各个视频帧和各个音频帧;
确定第一目标视频分片的第一个视频帧,并获取第一时间戳;
根据第一目标视频分片的第一个视频帧,针对该任一第二广告视频分片的第一个视频帧,获取第二时间戳
一种可行的实现方式中,获取模块在用于获取任一待插入广告对应的第一广告视频分片的过程中,具体用于:
根据该任一待插入广告及第二视频码流中与该任一待插入广告对应的第二目标视频分片,生成该任一待插入广告对应的第一广告视频分片。
一种可行的实现方式中,获取模块在用于根据该任一待插入广告及第二视频码流中与该任一待插入广告对应的第二目标视频分片,生成该任一待插入广告对应的第一广告视频分片的过程中,具体用于:
确定该任一待插入广告在第二目标视频分片中的位置信息;
基于位置信息相应的位置,将该任一待插入广告插入到第二目标视频分片中,生成该任一待插入广告对应的第一广告视频分片。
本申请实施例中,播放客户端可以为一种电子设备,包括:处理器和存储器,存储器存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现前述方法实施例中相应内容。
可选地,电子设备还可以包括收发器。处理器和收发器相连,如通过总线相连。需要说明的是,实际应用中收发器不限于一个,该电子设备的结构并不构成对本申请实施例的限定。
其中,处理器可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线可包括一通路,在上述组件之间传送信息。总线可以是PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。存储器可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
本申请实施例提供的电子设备,通过对广告视频的播放索引文件中地址信息的替换,从而可以播放原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片,该方案能够在视频的流文件层面实现广告的插入,达到在视频的指定位置快速插入广告的目的,并避免了视频播放过程中对广告素材相应内容的实时解析,有效解决视频播放过程中的各个终端的适配和播放器的兼容问题,同时不影响用户播放。
本申请实施例还提供了一种可读存储介质,例如为计算机可读存储介质,该计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
本申请实施例提供的计算机可读存储介质,通过对广告视频的播放索引文件中地址信息的替换,从而可以播放原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片,该方案能够在视频的流文件层面实现广告的插入,达到在视频的指定位置快速插入广告的目的,并避免了视频播放过程中对广告素材相应内容的实时解析,有效解决视频播放过程中的各个终端的适配和播放器的兼容问题,同时不影响用户播放。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种广告视频的播放方法,其特征在于,包括:
获取广告视频的播放索引文件,所述广告视频是根据原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片得到的,每个第一广告视频分片均是根据所述原始视频的一个目标视频分片得到的,所述播放索引文件中的所述原始视频的所述各个目标视频分片的地址信息被所述各个第一广告视频分片的地址信息替换;
根据所述播放索引文件,播放所述原始视频中除所述各个目标视频分片外的其他视频分片以及所述各个第一广告视频分片,播放的每个第一广告视频分片的各个视频帧的时间戳已根据该第一广告视频分片对应的目标视频分片的时间戳进行调整,播放的每个第一广告视频分片的各个音频帧使用该第一广告视频分片对应的目标视频分片的各个音频帧;
其中,所述各个目标视频分片为所述原始视频中至少一个待插入广告分别对应的视频分片;
根据第一广告视频分片对应的目标视频分片的时间戳对该第一广告视频分片的时间戳进行调整,以及该第一广告视频分片的各个音频帧使用该第一广告视频分片对应的目标视频分片的各个音频帧的过程包括:
对该第一广告视频分片对应的目标视频分片以及该第一广告视频分片分别进行分解复用,得到对应的各个视频帧和各个音频帧;
确定第一时间戳与第二时间戳的差值,所述第一时间戳为该第一广告视频分片对应的目标视频分片的第一个视频帧的时间戳,所述第二时间戳为该第一广告视频分片的第一个视频帧的时间戳;
根据所述差值,调整该第一广告视频分片的各个视频帧的时间戳;
将调整时间戳后的该第一广告视频分片的各个视频帧,以及该第一广告视频分片对应的目标视频分片的各个音频帧进行封装。
2.根据权利要求1所述的播放方法,其特征在于,根据原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片得到所述广告视频的过程,包括:
将所述原始视频中的各个视频分片进行帧对齐和转码,得到包含各个视频分片的至少一个第一视频码流和包含各个视频分片的第二视频码流;
获取至少一个待插入广告分别对应的第一广告视频分片,每个第一广告视频分片均是根据第二视频码流中的一个目标视频分片得到的;
分别根据各个第一广告视频分片,对各个第一视频码流中与所述各个第一广告视频分片对应的目标视频分片进行替换处理,得到至少一个插入广告后的视频文件,将所述至少一个插入广告后的视频文件中的其中一个视频文件作为所述广告视频。
3.根据权利要求2所述的播放方法,其特征在于,所述第二视频码流的码率大于所述各个第一视频码流的码率,和/或所述第二视频码流的分辨率大于所述各个第一视频码流的分辨率,根据任一个第一广告视频分片,对各个第一视频码流中与所述任一第一广告视频分片对应的目标视频分片进行替换处理的过程,包括:
将所述任一第一广告视频分片进行转码,输出码率和分辨率与所述各个第一视频码流的码率和分辨率相同的各个第二广告视频分片;
分别根据所述各个第二广告视频分片,对与所述各个第二广告视频分片对应的第一视频码流中与所述任一第一广告视频分片对应的目标视频分片进行替换处理。
4.根据权利要求3所述的播放方法,其特征在于,所述根据任一第二广告视频分片,对与所述任一第二广告视频分片对应的第一视频码流中与所述任一第一广告视频分片对应的目标视频分片进行替换处理的过程,包括:
根据与所述任一第二广告视频分片对应的第一视频码流中与所述任一个第一广告视频对应的第一目标视频分片,对所述任一第二广告视频分片进行帧调整,得到第三广告视频分片;
根据所述第三广告视频分片的地址信息,对与所述任一第二广告视频分片对应的第一视频码流对应的视频播放索引文件中与所述第三广告视频分片对应的目标视频分片的地址信息进行替换。
5.根据权利要求4所述的播放方法,其特征在于,所述根据与所述任一第二广告视频分片对应的第一视频码流中与所述任一个第一广告视频对应的第一目标视频分片,对所述任一第二广告视频分片进行帧调整的过程,包括:
确定第一时间戳与第二时间戳的差值,所述第一时间戳为所述第一目标视频分片的第一个视频帧的时间戳,所述第二时间戳为所述任一第二广告视频分片的第一个视频帧的时间戳;
根据所述差值,调整所述任一第二广告视频分片的各个视频帧的时间戳;
将调整时间戳后的所述任一第二广告视频分片的各个视频帧,以及所述第一目标视频分片的各个音频帧进行封装,得到第三广告视频分片。
6.根据权利要求5所述的播放方法,其特征在于,所述确定第一时间戳与第二时间戳的差值的过程之前,还包括:
对所述第一目标视频分片进行分解复用,得到所述第一目标视频分片的各个视频帧和各个音频帧,并对所述任一第二广告视频分片进行分解复用,得到所述任一第二广告视频分片的各个视频帧和各个音频帧;
确定所述第一目标视频分片的第一个视频帧,并获取所述第一时间戳;
根据所述第一目标视频分片的第一个视频帧,针对所述任一第二广告视频分片的第一个视频帧,获取所述第二时间戳。
7.根据权利要求2所述的播放方法,其特征在于,获取任一待插入广告对应的第一广告视频分片的过程,包括:
根据所述任一待插入广告及所述第二视频码流中与所述任一待插入广告对应的第二目标视频分片,生成所述任一待插入广告对应的第一广告视频分片。
8.根据权利要求7所述的播放方法,其特征在于,根据所述任一待插入广告及所述第二视频码流中与所述任一待插入广告对应的第二目标视频分片,生成所述任一待插入广告对应的第一广告视频分片的过程,包括:
确定所述任一待插入广告在所述第二目标视频分片中的位置信息;
基于所述位置信息相应的位置,将所述任一待插入广告插入到所述第二目标视频分片中,生成所述任一待插入广告对应的第一广告视频分片。
9.一种广告视频的播放客户端,其特征在于,包括:
获取模块,用于获取广告视频的播放索引文件,所述广告视频是根据原始视频中除各个目标视频分片外的其他视频分片以及各个第一广告视频分片得到的,每个第一广告视频分片均是根据所述原始视频的一个目标视频分片得到的,所述播放索引文件中的所述原始视频的所述各个目标视频分片的地址信息被所述各个第一广告视频分片的地址信息替换;
播放模块,用于根据所述播放索引文件,播放所述原始视频中除所述各个目标视频分片外的其他视频分片以及所述各个第一广告视频分片,播放的每个第一广告视频分片的各个视频帧的时间戳已根据该第一广告视频分片对应的目标视频分片的时间戳进行调整,播放的每个第一广告视频分片的各个音频帧使用该第一广告视频分片对应的目标视频分片的各个音频帧;
其中,所述各个目标视频分片为所述原始视频中至少一个待插入广告分别对应的视频分片;
根据第一广告视频分片对应的目标视频分片的时间戳对该第一广告视频分片的时间戳进行调整,以及该第一广告视频分片的各个音频帧使用该第一广告视频分片对应的目标视频分片的各个音频帧的过程包括:
对该第一广告视频分片对应的目标视频分片以及该第一广告视频分片分别进行分解复用,得到对应的各个视频帧和各个音频帧;
确定第一时间戳与第二时间戳的差值,所述第一时间戳为该第一广告视频分片对应的目标视频分片的第一个视频帧的时间戳,所述第二时间戳为该第一广告视频分片的第一个视频帧的时间戳;
根据所述差值,调整该第一广告视频分片的各个视频帧的时间戳;
将调整时间戳后的该第一广告视频分片的各个视频帧,以及该第一广告视频分片对应的目标视频分片的各个音频帧进行封装。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质用于存储计算机指令、程序、代码集或指令集,当所述计算机指令、程序、代码集或指令集在计算机上运行时,使得计算机执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910631009.5A CN112218128B (zh) | 2019-07-12 | 2019-07-12 | 广告视频的播放方法、播放客户端及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910631009.5A CN112218128B (zh) | 2019-07-12 | 2019-07-12 | 广告视频的播放方法、播放客户端及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112218128A CN112218128A (zh) | 2021-01-12 |
CN112218128B true CN112218128B (zh) | 2022-05-03 |
Family
ID=74048589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910631009.5A Active CN112218128B (zh) | 2019-07-12 | 2019-07-12 | 广告视频的播放方法、播放客户端及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112218128B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114339366A (zh) * | 2021-12-22 | 2022-04-12 | 武汉市烽视威科技有限公司 | 一种回看节目中广告的替换方法、装置与设备 |
CN114979713A (zh) * | 2022-06-06 | 2022-08-30 | 北京奇艺世纪科技有限公司 | 帧对齐方法、装置、计算机设备和存储介质 |
CN115118922B (zh) * | 2022-08-31 | 2023-01-20 | 全时云商务服务股份有限公司 | 一种云会议中实时视频合屏插入动图的方法与装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101668194B (zh) * | 2008-09-05 | 2011-05-11 | 中兴通讯股份有限公司 | 一种基于内容分片的广告插入、播放方法及装置 |
US8707182B2 (en) * | 2010-01-20 | 2014-04-22 | Verizon Patent And Licensing Inc. | Methods and systems for dynamically inserting an advertisement into a playback of a recorded media content instance |
US20120116883A1 (en) * | 2010-11-08 | 2012-05-10 | Sony Corporation | Methods and systems for use in incorporating targeted advertising into multimedia content streams |
JP5808433B2 (ja) * | 2011-12-16 | 2015-11-10 | 株式会社ソニー・コンピュータエンタテインメント | 放送番組処理装置、放送番組処理方法、放送局装置、情報配信サーバ、プログラム及び情報記憶媒体 |
CN104602029A (zh) * | 2014-08-27 | 2015-05-06 | 腾讯科技(北京)有限公司 | 在线视频文件的生成方法及装置 |
US9438936B1 (en) * | 2015-04-03 | 2016-09-06 | Mirriad Limited | Producing video data |
CN105049896B (zh) * | 2015-07-23 | 2019-11-12 | Tcl集团股份有限公司 | 一种基于hls协议的流媒体广告插入方法及系统 |
CN106210809A (zh) * | 2016-08-09 | 2016-12-07 | 亦非云互联网技术(上海)有限公司 | 一种视频直播中插播广告的方法及系统 |
-
2019
- 2019-07-12 CN CN201910631009.5A patent/CN112218128B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112218128A (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6275691B2 (ja) | 任意の時点でストリーミングメディアにコンテンツを挿入する方法及びシステム | |
RU2652099C2 (ru) | Устройство передачи, способ передачи, устройство приема и способ приема | |
JP5964972B2 (ja) | 複数のソースからのマルチメディアデータのストリーミング | |
KR102009124B1 (ko) | 이벤트 스트리밍 프레젠테이션 확립 | |
JP6588987B2 (ja) | ライブビデオエンコーディングおよびストリーミングにおけるフレーム複写およびフレーム拡張のためのシステムおよび方法 | |
CN112218128B (zh) | 广告视频的播放方法、播放客户端及可读存储介质 | |
US11722711B2 (en) | System and method for data stream fragmentation | |
CN107634930B (zh) | 一种媒体数据的获取方法和装置 | |
US10887645B2 (en) | Processing media data using file tracks for web content | |
US10863211B1 (en) | Manifest data for server-side media fragment insertion | |
CN106134146A (zh) | 处理连续的多周期内容 | |
JP7246508B2 (ja) | Httpによる動的適応ストリーミングのための方法及び装置 | |
US10637904B2 (en) | Multimedia streaming service presentation method, related apparatus, and related system | |
JP2015512188A (ja) | メディアファイルのファイルデータを提供する方法とシステム | |
CN116965008A (zh) | 用于mpeg dash以支持具有堆叠特性的前贴片、中贴片和结束贴片的辅助mpd | |
CN116636193A (zh) | 使用w3c媒体源和加密扩展的实况cmaf/dash播放器中的mpd链接 | |
CN116547960A (zh) | 用于在媒体回放期间支持前置式和中置式内容的mpeg dash的方法和装置 | |
CN113132806A (zh) | 一种播放终端及其节目播放方法 | |
Babu et al. | Real Time Implementation on Media Presentation Description for MPEG-DASH |
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 |