CN110446072A - 视频流切换方法、电子设备和存储介质 - Google Patents

视频流切换方法、电子设备和存储介质 Download PDF

Info

Publication number
CN110446072A
CN110446072A CN201910750947.7A CN201910750947A CN110446072A CN 110446072 A CN110446072 A CN 110446072A CN 201910750947 A CN201910750947 A CN 201910750947A CN 110446072 A CN110446072 A CN 110446072A
Authority
CN
China
Prior art keywords
video stream
moment
current
transcoding
video
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
CN201910750947.7A
Other languages
English (en)
Other versions
CN110446072B (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.)
China Mobile Communications Group Co Ltd
MIGU Video Technology Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Video Technology Co Ltd
MIGU Culture Technology 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 China Mobile Communications Group Co Ltd, MIGU Video Technology Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201910750947.7A priority Critical patent/CN110446072B/zh
Publication of CN110446072A publication Critical patent/CN110446072A/zh
Application granted granted Critical
Publication of CN110446072B publication Critical patent/CN110446072B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234309Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234381Processing 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 altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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/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/440281Processing 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 altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例提供一种视频流切换方法、电子设备和存储介质。所述方法包括:确定进行视频流切换的切换操作后,若确定当前视频流的帧率与目标视频流的帧率不同,则根据所述切换操作对应的切换时刻确定所述当前视频流的对齐时刻;其中,在所述当前视频流中所述对齐时刻所在位置上设置有视频帧;在所述目标视频流中与所述对齐时刻对应的位置进行插帧处理,获得插帧处理后的目标视频流;根据所述插帧处理后的目标视频流,执行所述切换操作。本发明实施例能够实现不同分辨率的视频流的无缝切换,计算量小,实现复杂度低。

Description

视频流切换方法、电子设备和存储介质
技术领域
本发明涉及视频处理技术领域,尤其涉及一种视频流切换方法、电子设备和存储介质。
背景技术
随着移动互联网的发展,人们用各种各样的显示终端观看视频节目,为满足不同终端的播放要求,客户端视频网站或视频软件都有分辨率切换的功能。但是在进行切换时,不同分辨率的视频序列会出现丢帧、跳帧、停滞等问题,导致播放画面后退、跳跃、卡顿等不连续现象,影响观众体验。
目前针对上述画面不连续问题的处理方法大都针对视频序列中相邻帧之间的相关性来判断视频帧是否对齐,但是这种方法只能解决视频序列中相邻帧对齐情况,不能解决不同分辨率的视频切换时出现的丢帧、跳帧、停滞等问题,同时,复杂度较高、存在一定的计算延迟。
发明内容
针对现有技术问题,本发明实施例提供一种视频流切换方法、电子设备和存储介质。
本发明实施例提供一种视频流切换方法,所述方法包括:
确定进行视频流切换的切换操作后,若确定当前视频流的帧率与目标视频流的帧率不同,则根据所述切换操作对应的切换时刻确定所述当前视频流的对齐时刻;其中,在所述当前视频流中所述对齐时刻所在位置上设置有视频帧;在所述目标视频流中与所述对齐时刻对应的位置进行插帧处理,获得插帧处理后的目标视频流;
根据所述插帧处理后的目标视频流,执行所述切换操作。
可选地,所述根据所述切换操作对应的切换时刻确定所述当前视频流的对齐时刻包括:
确定所述当前视频流中目标视频帧的所在时刻为所述对齐时刻;其中,所述目标视频帧的所在时刻与所述切换时刻时间间隔最短。
可选地,所述在所述目标视频流中与所述对齐时刻对应的位置进行插帧处理包括:
选择在所述目标视频流中与所述对齐时刻对应的位置最近的上一个视频帧进行复制,将复制的视频帧***到所述目标视频流中与所述对齐时刻对应的位置。
可选地,所述在所述目标视频流中与所述对齐时刻对应的位置进行插帧处理后,所述方法还包括:
将***的视频帧的显示时间戳修改为所述当前视频流中对齐时刻的视频帧的显示时间戳。
可选地,所述根据所述插帧处理后的目标视频流,执行所述切换操作包括:
保存指定时长的所述当前视频流和目标视频流的数据;
检测保存的当前视频流和目标视频流中是否存在显示时间戳相同的视频帧;
若保存的当前视频流和目标视频流中存在显示时间戳相同的视频帧,根据所述切换时刻执行所述切换操作。
可选地,所述确定进行视频流切换的切换操作后,若确定当前视频流的帧率与目标视频流的帧率不同,则根据所述切换操作对应的切换时刻确定所述当前视频流的对齐时刻之前,所述方法还包括:
根据预设的转码参数对同一视频进行转码,至少得到所述当前视频流和所述目标视频流,所述当前视频流和所述目标视频流的分辨率不同。
所述根据预设的转码参数对同一视频进行转码包括:
根据所述转码参数确定对应不同分辨率的转码任务;
根据各转码节点的任务量、CPU使用率、内存使用率以及IO消耗量计算所述各转码节点的平均负载值,所述转码节点为用于执行所述转码任务的节点;
根据所述各转码节点的平均负载值选择对应的转码任务进行转码。
可选地,所述各转码节点的平均负载值的计算公式为:
其中,value为当前转码节点的平均负载值,x1为当前转码节点的任务量的值,w1为当前任务量的权重;x2为当前转码节点的CPU使用率,w2为当前CPU使用率的权重;x3为当前转码节点的内存使用率,w3为当前内存使用率的权重;x4为当前转码节点的IO消耗量,w4为当前IO消耗量的权重;m为各权重之和,且m≥1。
本发明实施例还提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述视频流切换方法。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述视频流切换方法。
本发明实施例提供的视频流切换方法、电子设备和存储介质,通过在进行视频流切换时,若确定当前视频流和目标视频流的帧率不同,则根据切换操作对应的切换时刻确定当前视频流的对齐时刻,在目标视频流中与所述对齐时刻对应的位置进行插帧处理,根据插帧处理后的目标视频流执行切换操作,能够在进行视频流切换时有连续的画面,实现不同分辨率的视频流的无缝切换,计算量小,实现复杂度低。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的视频流切换***的结构示意图;
图2为本发明一实施例提供的视频流切换方法的流程示意图;
图3为本发明一实施例提供的插帧处理的示意图;
图4为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明实施例提供的一种视频流切换***的结构示意图。
如图1所示,所述***包括“一进n出”预处理模块和视频流帧对齐处理模块,所述“一进n出”预处理模块包括转码任务解析子模块、转码模板匹配子模块和任务下发子模块;所述视频流帧对齐处理模块包括转码输出的多个通道以及插帧处理子模块。
具体地,“一进n出”预处理模块对一路输入视频流通过转码任务解析、匹配转码参数,输出n路不同分辨率的视频流,其中,n为大于等于2的整数。
输入视频流帧序列和输出视频流帧序列的形式如下:
输入视频流帧序列:f0,f1,f2,f3,……,fn……,帧率为r,帧按帧率均匀分布;
输出视频流A帧序列:A0,A1,A2,A3……,An……,帧率为Ar,帧按帧率均匀分布;
输出视频流B帧序列:B0,B1,B2,B3……,Bn……,帧率为Br,帧按帧率均匀分布。
具体地,所述转码任务解析子模块用于接收业务方发送的转码任务请求,并解析所述转码任务请求,提取转码请求中的业务名、模板列表、内容源地址、输出地址以及码率等级。
具体地,业务名如直播名等,模板列表指的是预先配置好的或供用户自定义的转码模板,转码模板配置有转码参数,包括视频转码参数和音频转码参数,视频转码参数包括视频格式、码率、帧率、分辨率等,音频转码参数包括音频格式、音频码率等。
所述转码模板匹配子模块用于根据所述模板列表中的模板1,……,模板n,从模板列表中匹配不同分辨率对应的转码参数。
所述任务下发子模块用于根据转码集群节点的负载情况,选取通道1,...,通道n,分别转码某一个分辨率的转码任务。
具体的,提取转码集群各个节点的当前任务量tasks、CPU使用百分比usage、内存使用情况free以及IO消耗util,使用加权平均法计算节点平均负载值value,value越小说明节点的空闲资源越多,可以被优先用于转码。
根据各个节点的value值,从小到大选取1,...,n个节点,分别作为转码通道1,...,转码通道n,用于不同分辨率(从小到大排序)的转码输出。
所述插帧处理子模块用于对转码输出的n路视频流进行插帧处理,使视频流帧对齐,从而在客户端播放时能够实现无缝切换不同分辨率的视频。
图2示出了本发明实施例提供的视频流切换方法的流程示意图。
如图2所示,所述方法包括以下步骤:
S11、确定进行视频流切换的切换操作后,若确定当前视频流的帧率与目标视频流的帧率不同,则根据所述切换操作对应的切换时刻确定所述当前视频流的对齐时刻;其中,在所述当前视频流中所述对齐时刻所在位置上设置有视频帧;
具体地,将一路视频通过上述“一进n出”预处理模块输出n路不同分辨率的视频流后,若确定进行不同分辨率的视频流的切换操作,则判断当前视频流和目标视频流的帧率是否相同,如果帧率相同,当前视频流和目标视频流中的视频帧按照相同的间隔均匀分布,则目标视频流中在当前视频流中有视频帧的位置也刚好有视频帧,视频流切换时会有连续的画面,因此不需要对目标视频流进行处理。
如果当前视频流和目标视频流的帧率不同,当前视频流和目标视频流中的视频帧按照不同的间隔均匀分布,则目标视频流中在当前视频流中有视频帧的位置不会出现视频帧,视频流切换时会出现画面跳跃,针对这种现象本发明实施例在用户切换视频流时对目标视频流进行插帧处理。由于用户选择切换视频流的切换时刻是随机的,因此在确定切换操作后先确定当前视频流的对齐时刻,该对齐时刻在当前视频流中所在的位置上对应有视频帧。
图3示出了本发明实施例提供的插帧处理的示意图。
如图3中通道1、通道2、通道3任一通道的视频流所示,视频流中包括视频帧和音频帧,视频帧按帧率均匀分布,相邻视频帧间隔指定数量的音频帧。可理解的是,本发明实施例确定的对齐时刻的位置是指定的视频帧的位置。
S12、在所述目标视频流中与所述对齐时刻对应的位置进行插帧处理,获得插帧处理后的目标视频流;
具体地,在确定当前视频流的对齐时刻之后,在目标视频流中对应对齐时刻的位置***一个视频帧。
结合图3,若确定的对齐时刻为t1,在通道2视频流中与t1对应的位置***一个视频帧。若确定的对齐时刻为t2,在通道2视频流中与t2对应的位置***一个视频帧。以此类推,若确定的对齐时刻为tn,在通道2视频流中与tn对应的位置***一个视频帧。
S13、根据所述插帧处理后的目标视频流,执行所述切换操作。
具体地,对目标视频流进行插帧处理后,使当前视频流和目标视频流在对齐时刻都有视频帧,从而将当前视频流切换到目标视频流能够避免画面不连续的现象。
本发明实施例的插帧处理操作针对切换时出现的画面倒退、跳跃、停滞等现象有较好的处理效果,通过插帧能够在画面到退、跳跃或停止时显示新***帧的画面,实现画面的连续播放。
本发明实施例提供的视频流切换方法,通过在进行视频流切换时,若确定当前视频流和目标视频流的帧率不同,则根据切换操作对应的切换时刻确定当前视频流的对齐时刻,在目标视频流中与所述对齐时刻对应的位置进行插帧处理,根据插帧处理后的目标视频流执行切换操作,能够在进行视频流切换时有连续的画面,实现不同分辨率的视频流的无缝切换,计算量小,实现复杂度低。
在上述实施例的基础上,步骤S11具体包括:
确定所述当前视频流中目标视频帧的所在时刻为所述对齐时刻;其中,所述目标视频帧的所在时刻与所述切换时刻时间间隔最短。
具体地,确定视频流切换操作的切换时刻之后,在选择对齐时刻的方式上,可以选择离切换时刻最近的视频帧作为对齐时刻。
为了快速查找到离切换时刻最近的视频帧,可以在播放当前视频流时,预先设置当前视频流中的每个视频帧作为预设的对齐时刻,从而在确定切换时刻之后,能够快速定位离切换时刻最近的视频帧,进而快速确定当前视频流的对齐时刻。
下面介绍对预先设置对齐时刻的实施方式。
视频流中包括视频帧和音频帧,视频帧按帧率间隔一定数量的音频帧均匀分布,在设置对齐时刻的实施方式上,可以根据当前视频流中视频帧的位置进行设置,以当前视频流的起始视频帧的位置作为起始基准时刻,序列中相邻视频帧的间隔作为对齐间隔,从而序列中每个视频帧的位置为对齐时刻,起始基准时刻和各对齐时刻组成对齐时钟。
以图3中通道1的视频流作为当前视频流对预设对齐时刻的方式进行说明。通道1中起始视频帧Vf0的位置设为起始基准时刻,记为t0,相邻的视频帧的距离为对齐间隔,视频帧Vf1,Vf2,……,Vfn的位置为对齐时刻,分别记为t1,t2,……,tn
需要说明的是,视频流中的视频帧包括I帧(帧内编码帧)、P帧(前向预测编码帧)和B帧(双向预测内插编码帧),由于I帧是一种自带全部信息的独立帧,无需参考其它图像便可独立进行解码,即一个I帧为一个完整的画面,视频序列中的第一个帧始终都是I帧,I帧根据帧率均匀分布。因此可以以视频流中的I帧作为关键帧,以I帧的位置设置对齐时刻,可理解的是,图3中通道1的视频流t0,t1,t2,t3,...,tn时刻对应的视频帧Vf0,Vf1,Vf2,Vf3,...,Vfn均为I帧。
需要说明的是,图3中的对齐时刻指向每个视频帧的起始位置,但也可以指向每个视频帧的中间位置或结束位置,本发明实施例对对齐时刻指向视频帧的位置不做限制。
在上述实施例的基础上,步骤S12具体包括:
选择在所述目标视频流中与所述对齐时刻对应的位置最近的上一个视频帧进行复制,将复制的视频帧***到所述目标视频流中与所述对齐时刻对应的位置。
具体地,本发明实施例以目标视频流中与对齐时刻对应的位置最近的上一个视频帧作为重复***的帧,对该视频帧进行复制,并将复制的视频帧***到与对齐时刻对应的位置。新***的视频帧与最近的上一个视频帧重复,能够保证切换时画面的连续性,防止出现画面跳跃的情况。
以图3为例进行说明,通道2的视频流与通道1的视频流的帧率不同,通道2的视频流中与通道1的视频流的t1,t2,……,tn对应的位置没有视频帧。若通道1的视频流切换到通道2的视频流,则需要对通道2的视频流进行插帧处理。
如图3中的通道2的视频流,若确定的对齐时刻为t1,在通道2视频流中与t1对应的位置选择通道2视频流中的Vf0作为重复***的视频帧。若确定的对齐时刻为t2,在通道2视频流中与t2对应的位置选择通道2视频流中的Vf1作为***视频帧。以此类推,若确定的对齐时刻为tn,在通道2视频流中与tn对应的位置选择通道2视频流中的Vfn-1作为***视频帧。
需要说明的是,图3示出了每个对齐时刻对应***视频帧的示意图,在具体实施过程中,根据用户的切换时刻,选择与切换时刻最近的视频帧确定对齐,只需要在确定的对齐时刻所对应的位置时刻进行插帧,无需在确定的对齐时刻所对应的位置之前或之后进行插帧。
需要说明的是,这里所说的***视频帧可以为I帧,也可以是P帧或B帧。
图3中通道3的视频流的帧率与通道1的视频流的帧率相同,那么通道3在t1,t2,t3,...,tn时刻均有视频帧,因此不需要做任何改变。
在上述实施例的基础上,步骤S12之后,所述方法还包括:
将***的视频帧的显示时间戳修改为所述当前视频流中对齐时刻的视频帧的显示时间戳。
具体地,每个视频帧都会有一个显示时间戳(Presentation,PTS),PTS为显示该帧时相对于***参考的时间戳,用于度量该帧图像什么时候显示。
在目标视频流中对应对齐时刻的位置***一个视频帧之后,本发明实施例将新***的视频帧的显示时间戳设置为当前视频流中对齐时刻的视频帧的显示时间戳,从而当前视频流和目标视频流在对齐时刻有相同PTS的对齐帧,进行当前视频流到目标视频流的切换时能够有连续的画面,实现不同分辨率的视频流的无缝切换。
以图3为例,通道2的视频流新***了Vf0,则将新***的Vf0的显示时间戳修改为t1时刻对应的通道1中Vf1的显示时间戳。通道2的视频流新***了Vf1,则将新***的Vf1的显示时间戳修改为t2时刻对应的通道1中Vf2的显示时间戳。以此类推,通道2的视频流新***了Vfn-1,则将新***的Vfn-1的显示时间戳修改为tn时刻对应的通道1中Vfn的显示时间戳。
在上述实施例的基础上,步骤S13具体包括:
保存指定时长的所述当前视频流和目标视频流的数据;
检测保存的当前视频流和目标视频流中是否存在显示时间戳相同的视频帧;
若保存的当前视频流和目标视频流中存在显示时间戳相同的视频帧,根据所述切换时刻执行所述切换操作。
具体地,用户执行切换操作之后,本发明实施例对该切换操作进行播放检测,以保证在播放时能够达到无缝切换不同分辨率的视频。
具体实现方式上,可以在用户执行切换操作之后,将参考序列和目标视频流的数据缓存一段时间,然后检查缓存区中参考序列和目标视频流是否有相同PTS的视频帧,如果两路数据存在相同PTS的视频帧,按照用户的切换时刻对这两路视频进行切换操作。
在上述实施例的基础上,步骤S11之前,所述方法还包括:
根据预设的转码参数对同一视频进行转码,至少得到所述当前视频流和所述目标视频流,所述当前视频流和所述目标视频流的分辨率不同。
具体地,将一路视频根据匹配的转码模板中的转码参数,通过上述“一进n出”预处理模块输出n路不同分辨率的视频流,n为大于等于2的整数。n路视频流中的其中一路为上述进行视频流切换的当前视频流,另一路为上述进行视频流切换的目标视频流。
在上述实施例的基础上,所述根据预设的转码参数对同一视频进行转码包括:
根据所述转码参数确定对应不同分辨率的转码任务;
根据各转码节点的任务量、CPU使用率、内存使用率以及IO消耗量计算所述各转码节点的平均负载值,所述转码节点为用于执行所述转码任务的节点;
根据所述各转码节点的平均负载值选择对应的转码任务进行转码。
具体地,根据转码参数确定n个对应不同分辨率的转码任务。然后根据转码集群中各转码节点的任务量tasks、CPU使用百分比usage、内存使用情况free以及IO消耗util等参数计算转码节点的平均负载值value,转码节点为用于执行所述转码任务的节点。value越小说明节点的空闲资源越多,可以被优先用于转码。根据各个节点的value值,从小到大选取1,...,n个节点,分别分配n个对应不同分辨率(从小到大排序)的转码任务,各转码节点执行分配的转码任务,转码输出n个不同分辨率的视频流。
在上述实施例的基础上,所述各转码节点的平均负载值的计算公式为:
其中,value为当前转码节点的平均负载值,x1为当前转码节点的任务量的值,w1为当前任务量的权重;x2为当前转码节点的CPU使用率,w2为当前CPU使用率的权重;x3为当前转码节点的内存使用率,w3为当前内存使用率的权重;x4为当前转码节点的IO消耗量,w4为当前IO消耗量的权重,m为各权重之和,且m≥1。
具体地,使用加权平均法计算节点平均负载值value,加权平均法计算公式为:
其中,x1、……xi为参与计算的各参数,w1、……wi为参与计算的各参数对应的权重,i为参与计算的参数的数量,m为参与计算的各参数的权重之和,即w1+w2+…+wi=m,m≥1。
以任务量tasks、CPU使用率usage、内存使用率free以及IO消耗量util作为计算转码节点的平均负载值value的参数,则转码节点的平均负载值value的计算公式即为:
其中,x1、x2、x3、x4分别为转码节点当前任务量tasks、CPU使用率usage、内存使用率free以及IO消耗量util等各参数对应的值,w1,w2,w3,w4为分别对应各参数的权重。实施方式上,tasks对应的权重w1可为0.4,usage对应的权重w2可为0.2,free对应的权重w3可为0.2,util对应的权重w4可为0.2,m为1。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)21、通信接口(Communications Interface)22、存储器(memory)23和通信总线24,其中,处理器21,通信接口22,存储器23通过通信总线24完成相互间的通信。处理器21可以调用存储器23中的逻辑指令,以执行如下方法:
确定进行视频流切换的切换操作后,若确定当前视频流的帧率与目标视频流的帧率不同,则根据所述切换操作对应的切换时刻确定所述当前视频流的对齐时刻;其中,在所述当前视频流中所述对齐时刻所在位置上设置有视频帧;
在所述目标视频流中与所述对齐时刻对应的位置进行插帧处理,获得插帧处理后的目标视频流;
根据所述插帧处理后的目标视频流,执行所述切换操作。
可选地,所述根据所述切换操作对应的切换时刻确定所述当前视频流的对齐时刻包括:
确定所述当前视频流中目标视频帧的所在时刻为所述对齐时刻;其中,所述目标视频帧的所在时刻与所述切换时刻时间间隔最短。
可选地,所述在所述目标视频流中与所述对齐时刻对应的位置进行插帧处理包括:
选择在所述目标视频流中与所述对齐时刻对应的位置最近的上一个视频帧进行复制,将复制的视频帧***到所述目标视频流中与所述对齐时刻对应的位置。
可选地,所述在所述目标视频流中与所述对齐时刻对应的位置进行插帧处理后,所述方法还包括:
将***的视频帧的显示时间戳修改为所述当前视频流中对齐时刻的视频帧的显示时间戳。
可选地,所述根据所述插帧处理后的目标视频流,执行所述切换操作包括:
保存指定时长的所述当前视频流和目标视频流的数据;
检测保存的当前视频流和目标视频流中是否存在显示时间戳相同的视频帧;
若保存的当前视频流和目标视频流中存在显示时间戳相同的视频帧,根据所述切换时刻执行所述切换操作。
可选地,所述确定进行视频流切换的切换操作后,若确定当前视频流的帧率与目标视频流的帧率不同,则根据所述切换操作对应的切换时刻确定所述当前视频流的对齐时刻之前,所述方法还包括:
根据预设的转码参数对同一视频进行转码,至少得到所述当前视频流和所述目标视频流,所述当前视频流和所述目标视频流的分辨率不同。
所述根据预设的转码参数对同一视频进行转码包括:
根据所述转码参数确定对应不同分辨率的转码任务;
根据各转码节点的任务量、CPU使用率、内存使用率以及IO消耗量计算所述各转码节点的平均负载值,所述转码节点为用于执行所述转码任务的节点;
根据所述各转码节点的平均负载值选择对应的转码任务进行转码。
可选地,所述各转码节点的平均负载值的计算公式为:
其中,value为当前转码节点的平均负载值,x1为当前转码节点的任务量的值,w1为当前任务量的权重;x2为当前转码节点的CPU使用率,w2为当前CPU使用率的权重;x3为当前转码节点的内存使用率,w3为当前内存使用率的权重;x4为当前转码节点的IO消耗量,w4为当前IO消耗量的权重;m为各权重之和,且m≥1。
此外,上述的存储器23中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本实施例中的电子设备在具体实现时可以为服务器,也可以为PC机,还可以为其他设备,只要其结构中包括如图4所示的处理器21、通信接口22、存储器23和通信总线24,其中处理器21,通信接口22,存储器23通过通信总线24完成相互间的通信,且处理器21可以调用存储器23中的逻辑指令以执行上述方法即可。本实施例不对电子设备的具体实现形式进行限定。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:
确定进行视频流切换的切换操作后,若确定当前视频流的帧率与目标视频流的帧率不同,则根据所述切换操作对应的切换时刻确定所述当前视频流的对齐时刻;其中,在所述当前视频流中所述对齐时刻所在位置上设置有视频帧;
在所述目标视频流中与所述对齐时刻对应的位置进行插帧处理,获得插帧处理后的目标视频流;
根据所述插帧处理后的目标视频流,执行所述切换操作。
可选地,所述根据所述切换操作对应的切换时刻确定所述当前视频流的对齐时刻包括:
确定所述当前视频流中目标视频帧的所在时刻为所述对齐时刻;其中,所述目标视频帧的所在时刻与所述切换时刻时间间隔最短。
可选地,所述在所述目标视频流中与所述对齐时刻对应的位置进行插帧处理包括:
选择在所述目标视频流中与所述对齐时刻对应的位置最近的上一个视频帧进行复制,将复制的视频帧***到所述目标视频流中与所述对齐时刻对应的位置。
可选地,所述在所述目标视频流中与所述对齐时刻对应的位置进行插帧处理后,所述方法还包括:
将***的视频帧的显示时间戳修改为所述当前视频流中对齐时刻的视频帧的显示时间戳。
可选地,所述根据所述插帧处理后的目标视频流,执行所述切换操作包括:
保存指定时长的所述当前视频流和目标视频流的数据;
检测保存的当前视频流和目标视频流中是否存在显示时间戳相同的视频帧;
若保存的当前视频流和目标视频流中存在显示时间戳相同的视频帧,根据所述切换时刻执行所述切换操作。
可选地,所述确定进行视频流切换的切换操作后,若确定当前视频流的帧率与目标视频流的帧率不同,则根据所述切换操作对应的切换时刻确定所述当前视频流的对齐时刻之前,所述方法还包括:
根据预设的转码参数对同一视频进行转码,至少得到所述当前视频流和所述目标视频流,所述当前视频流和所述目标视频流的分辨率不同。
所述根据预设的转码参数对同一视频进行转码包括:
根据所述转码参数确定对应不同分辨率的转码任务;
根据各转码节点的任务量、CPU使用率、内存使用率以及IO消耗量计算所述各转码节点的平均负载值,所述转码节点为用于执行所述转码任务的节点;
根据所述各转码节点的平均负载值选择对应的转码任务进行转码。
可选地,所述各转码节点的平均负载值的计算公式为:
其中,value为当前转码节点的平均负载值,x1为当前转码节点的任务量的值,w1为当前任务量的权重;x2为当前转码节点的CPU使用率,w2为当前CPU使用率的权重;x3为当前转码节点的内存使用率,w3为当前内存使用率的权重;x4为当前转码节点的IO消耗量,w4为当前IO消耗量的权重;m为各权重之和,且m≥1。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种视频流切换方法,其特征在于,所述方法包括:
确定进行视频流切换的切换操作后,若确定当前视频流的帧率与目标视频流的帧率不同,则根据所述切换操作对应的切换时刻确定所述当前视频流的对齐时刻;其中,在所述当前视频流中所述对齐时刻所在位置上设置有视频帧;
在所述目标视频流中与所述对齐时刻对应的位置进行插帧处理,获得插帧处理后的目标视频流;
根据所述插帧处理后的目标视频流,执行所述切换操作。
2.根据权利要求1所述的视频流切换方法,其特征在于,所述根据所述切换操作对应的切换时刻确定所述当前视频流的对齐时刻包括:
确定所述当前视频流中目标视频帧的所在时刻为所述对齐时刻;其中,所述目标视频帧的所在时刻与所述切换时刻时间间隔最短。
3.根据权利要求1所述的视频流切换方法,其特征在于,所述在所述目标视频流中与所述对齐时刻对应的位置进行插帧处理包括:
选择在所述目标视频流中与所述对齐时刻对应的位置最近的上一个视频帧进行复制,将复制的视频帧***到所述目标视频流中与所述对齐时刻对应的位置。
4.根据权利要求3所述的视频流切换方法,其特征在于,所述在所述目标视频流中与所述对齐时刻对应的位置进行插帧处理后,所述方法还包括:
将***的视频帧的显示时间戳修改为所述当前视频流中对齐时刻的视频帧的显示时间戳。
5.根据权利要求1所述的视频流切换方法,其特征在于,所述根据所述插帧处理后的目标视频流,执行所述切换操作包括:
保存指定时长的所述当前视频流和目标视频流的数据;
检测保存的当前视频流和目标视频流中是否存在显示时间戳相同的视频帧;
若保存的当前视频流和目标视频流中存在显示时间戳相同的视频帧,根据所述切换时刻执行所述切换操作。
6.根据权利要求1所述的视频流切换方法,其特征在于,所述确定进行视频流切换的切换操作后,若确定当前视频流的帧率与目标视频流的帧率不同,则根据所述切换操作对应的切换时刻确定所述当前视频流的对齐时刻之前,所述方法还包括:
根据预设的转码参数对同一视频进行转码,至少得到所述当前视频流和所述目标视频流,所述当前视频流和所述目标视频流的分辨率不同。
7.根据权利要求6所述的视频流切换方法,其特征在于,所述根据预设的转码参数对同一视频进行转码包括:
根据所述转码参数确定对应不同分辨率的转码任务;
根据各转码节点的任务量、CPU使用率、内存使用率以及IO消耗量计算所述各转码节点的平均负载值,所述转码节点为用于执行所述转码任务的节点;
根据所述各转码节点的平均负载值选择对应的转码任务进行转码。
8.根据权利要求7所述的视频流切换方法,其特征在于,所述各转码节点的平均负载值的计算公式为:
其中,value为当前转码节点的平均负载值,x1为当前转码节点的任务量的值,w1为当前任务量的权重;x2为当前转码节点的CPU使用率,w2为当前CPU使用率的权重;x3为当前转码节点的内存使用率,w3为当前内存使用率的权重;x4为当前转码节点的IO消耗量,w4为当前IO消耗量的权重;m为各权重之和,且m≥1。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述视频流切换方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至8任一项所述视频流切换方法的步骤。
CN201910750947.7A 2019-08-14 2019-08-14 视频流切换方法、电子设备和存储介质 Active CN110446072B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910750947.7A CN110446072B (zh) 2019-08-14 2019-08-14 视频流切换方法、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910750947.7A CN110446072B (zh) 2019-08-14 2019-08-14 视频流切换方法、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN110446072A true CN110446072A (zh) 2019-11-12
CN110446072B CN110446072B (zh) 2021-11-23

Family

ID=68435667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910750947.7A Active CN110446072B (zh) 2019-08-14 2019-08-14 视频流切换方法、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN110446072B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110933496A (zh) * 2019-12-10 2020-03-27 Oppo广东移动通信有限公司 图像数据插帧处理方法、装置、电子设备及存储介质
CN110933517A (zh) * 2019-11-30 2020-03-27 咪咕视讯科技有限公司 码率切换方法、客户端和计算机可读存储介质
CN110989840A (zh) * 2019-12-03 2020-04-10 成都纵横自动化技术股份有限公司 数据处理方法、前端设备、后端设备及地理信息***
CN111047622A (zh) * 2019-11-20 2020-04-21 腾讯科技(深圳)有限公司 视频中对象的匹配方法和装置、存储介质及电子装置
CN111263193A (zh) * 2020-01-21 2020-06-09 北京三体云联科技有限公司 视频帧上下采样方法及装置、视频直播方法及***
CN111866433A (zh) * 2020-07-31 2020-10-30 腾讯科技(深圳)有限公司 视频源切换方法、播放方法、装置、设备和存储介质
CN112822511A (zh) * 2020-12-31 2021-05-18 深圳康佳电子科技有限公司 视频处理方法、***、智能终端及计算机可读存储介质
CN114071187A (zh) * 2020-07-31 2022-02-18 海信视像科技股份有限公司 显示设备、服务器及分辨率快速切换方法
CN114979713A (zh) * 2022-06-06 2022-08-30 北京奇艺世纪科技有限公司 帧对齐方法、装置、计算机设备和存储介质
CN116684668A (zh) * 2023-08-03 2023-09-01 湖南马栏山视频先进技术研究院有限公司 一种自适应的视频帧处理方法及播放终端

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1484921A (zh) * 2001-01-03 2004-03-24 ��˹��ŵ�� 视频传输时在比特流之间的切换
CN1764280A (zh) * 2004-10-21 2006-04-26 三星电子株式会社 基于多层在视频编码器中有效压缩运动矢量的方法和装置
CN101370139A (zh) * 2007-08-17 2009-02-18 华为技术有限公司 一种切换视频的方法及装置
US20090175538A1 (en) * 2007-07-16 2009-07-09 Novafora, Inc. Methods and systems for representation and matching of video content
CN103915100A (zh) * 2013-01-07 2014-07-09 中兴通讯股份有限公司 一种编码模式切换方法和装置、解码模式切换方法和装置
CN104519372A (zh) * 2014-12-19 2015-04-15 深圳市九洲电器有限公司 一种流媒体播放的切换方法和***
CN104703051A (zh) * 2014-01-06 2015-06-10 杭州海康威视数字技术股份有限公司 码流发送方法和装置
CN105100644A (zh) * 2015-07-15 2015-11-25 西安诺瓦电子科技有限公司 视频源无缝切换方法
CN106162235A (zh) * 2016-08-17 2016-11-23 北京百度网讯科技有限公司 用于切换视频流的方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1484921A (zh) * 2001-01-03 2004-03-24 ��˹��ŵ�� 视频传输时在比特流之间的切换
CN1764280A (zh) * 2004-10-21 2006-04-26 三星电子株式会社 基于多层在视频编码器中有效压缩运动矢量的方法和装置
US20090175538A1 (en) * 2007-07-16 2009-07-09 Novafora, Inc. Methods and systems for representation and matching of video content
CN101370139A (zh) * 2007-08-17 2009-02-18 华为技术有限公司 一种切换视频的方法及装置
CN103915100A (zh) * 2013-01-07 2014-07-09 中兴通讯股份有限公司 一种编码模式切换方法和装置、解码模式切换方法和装置
CN104703051A (zh) * 2014-01-06 2015-06-10 杭州海康威视数字技术股份有限公司 码流发送方法和装置
CN104519372A (zh) * 2014-12-19 2015-04-15 深圳市九洲电器有限公司 一种流媒体播放的切换方法和***
CN105100644A (zh) * 2015-07-15 2015-11-25 西安诺瓦电子科技有限公司 视频源无缝切换方法
CN106162235A (zh) * 2016-08-17 2016-11-23 北京百度网讯科技有限公司 用于切换视频流的方法和装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111047622A (zh) * 2019-11-20 2020-04-21 腾讯科技(深圳)有限公司 视频中对象的匹配方法和装置、存储介质及电子装置
CN111047622B (zh) * 2019-11-20 2023-05-30 腾讯科技(深圳)有限公司 视频中对象的匹配方法和装置、存储介质及电子装置
CN110933517A (zh) * 2019-11-30 2020-03-27 咪咕视讯科技有限公司 码率切换方法、客户端和计算机可读存储介质
CN110989840B (zh) * 2019-12-03 2023-07-25 成都纵横自动化技术股份有限公司 数据处理方法、前端设备、后端设备及地理信息***
CN110989840A (zh) * 2019-12-03 2020-04-10 成都纵横自动化技术股份有限公司 数据处理方法、前端设备、后端设备及地理信息***
CN110933496A (zh) * 2019-12-10 2020-03-27 Oppo广东移动通信有限公司 图像数据插帧处理方法、装置、电子设备及存储介质
CN111263193A (zh) * 2020-01-21 2020-06-09 北京三体云联科技有限公司 视频帧上下采样方法及装置、视频直播方法及***
CN111263193B (zh) * 2020-01-21 2022-06-17 北京世纪好未来教育科技有限公司 视频帧上下采样方法及装置、视频直播方法及***
CN111866433A (zh) * 2020-07-31 2020-10-30 腾讯科技(深圳)有限公司 视频源切换方法、播放方法、装置、设备和存储介质
CN114071187A (zh) * 2020-07-31 2022-02-18 海信视像科技股份有限公司 显示设备、服务器及分辨率快速切换方法
CN114071187B (zh) * 2020-07-31 2024-02-27 海信视像科技股份有限公司 显示设备、服务器及分辨率快速切换方法
CN112822511A (zh) * 2020-12-31 2021-05-18 深圳康佳电子科技有限公司 视频处理方法、***、智能终端及计算机可读存储介质
CN114979713A (zh) * 2022-06-06 2022-08-30 北京奇艺世纪科技有限公司 帧对齐方法、装置、计算机设备和存储介质
CN116684668A (zh) * 2023-08-03 2023-09-01 湖南马栏山视频先进技术研究院有限公司 一种自适应的视频帧处理方法及播放终端
CN116684668B (zh) * 2023-08-03 2023-10-20 湖南马栏山视频先进技术研究院有限公司 一种自适应的视频帧处理方法及播放终端

Also Published As

Publication number Publication date
CN110446072B (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
CN110446072A (zh) 视频流切换方法、电子设备和存储介质
Aparicio-Pardo et al. Transcoding live adaptive video streams at a massive scale in the cloud
EP3622714B1 (en) Methods, systems, processors and computer code for providing video clips
CN105052107B (zh) 使用质量信息进行媒体内容自适应传输
CN105451031B (zh) 一种视频转码方法和***
CN110636346B (zh) 一种码率自适应切换方法、装置、电子设备及存储介质
CN111447447B (zh) 直播编码方法、装置以及电子设备
US10880353B2 (en) Systems and methods for cloud storage direct streaming
WO2021103363A1 (zh) 弹幕呈现方法和***
CN103618911B (zh) 一种基于视频属性信息的视频流提供方法及装置
KR20170015912A (ko) 매니페스트 속성을 이용하여 미디어 자산을 필터링하는 시스템
CN110213615B (zh) 视频转码方法、装置、服务器以及存储介质
CN108989836A (zh) 一种多媒体数据流的处理方法及装置
KR101805550B1 (ko) 프리젠테이션 가상화를 위한 화면 부호화 방법 및 서버
KR20080114496A (ko) 레이저 콘텐츠를 이용하여 장면을 구성하는 방법 및 장치
CN113282260A (zh) 投屏控制方法、装置、智能终端及计算机可读存储介质
WO2021103366A1 (zh) 基于微信小程序的弹幕处理方法和***
Chen et al. Performance modeling and evaluation of peer-to-peer live streaming systems under flash crowds
CN108174242A (zh) 直播数据复用方法、装置、存储介质及设备
Yarnagula et al. QoE for mobile clients with segment-aware rate adaptation algorithm (SARA) for DASH video streaming
CN103581741B (zh) 特效播放设备和方法
CN111757118A (zh) 视频转码处理方法、装置、设备和介质
WO2021103364A1 (zh) 弹幕处理方法和***
CN114363703B (zh) 视频处理方法、装置及***
CN114173160B (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