CN110213635B - 视频混流方法、视频混流装置及存储介质 - Google Patents
视频混流方法、视频混流装置及存储介质 Download PDFInfo
- Publication number
- CN110213635B CN110213635B CN201810307165.1A CN201810307165A CN110213635B CN 110213635 B CN110213635 B CN 110213635B CN 201810307165 A CN201810307165 A CN 201810307165A CN 110213635 B CN110213635 B CN 110213635B
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- picture frame
- alignment
- picture
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- 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
Abstract
本发明提供一种视频混流方法,其包括:从第一视频终端获取多个第一视频画面帧,从第二视频终端获取多个第二视频画面帧;根据预设的对齐时间长度,设定多个画面帧对齐时间戳区间;根据第一画面帧时间戳,确定第一视频画面帧的画面帧对齐时间戳区间;根据第二画面帧时间戳,确定第二视频画面帧的画面帧对齐时间戳区间;对每个画面帧对齐时间戳区间内的第一视频画面帧和第二视频画面帧进行画面帧对齐操作;对对齐操作后的第一视频画面帧以及第二视频画面帧进行视频混流操作。本发明还提供一种视频混流装置,本发明的视频混流方法及视频混流装置避免了第一视频画面帧和第二视频画面帧之间出现画面不同步。
Description
技术领域
本发明涉及视频处理领域,特别是涉及一种视频混流方法、视频混流装置及存储介质。
背景技术
随着科技的发展,视频直播应用得到越来越多的用户青睐,其中互动直播为视频直播中的一种重要应用。互动直播中,主播终端和连麦观众终端会进行互联操作,如第三方观众想要看到连麦的场景,则需要对主播终端的视频画面以及连麦观众终端的视频画面进行混流操作。
现有的视频混流方式一般为服务器端对主播终端的视频画面和连麦观众终端的视频画面进行混流操作。这种混流操作不额外增加第三方观众对应终端的宽带资源和计算资源,有利于第三方观众对混流后的视频画面进行观看。
但是主播视频画面和连麦观众视频画面是由两个独立的客户端能生成的,主播视频画面的播放帧率和连麦观众视频画面的播放帧率可能会不同,但是服务器端进行视频画面混流操作时,一般是简单的将主播视频画面的画面帧和连麦观众视频画面的画面帧进行一一对齐,如主播视频画面的播放帧率为每秒12帧,连麦观众视频画面的播放帧率为每秒10帧等;这样随着时间推移,混流操作后的视频画面中会出现主播视频画面和连麦观众视频画面的画面错位越来越大。
此外如主播终端和连麦观众终端的网络状态差异较大时,如主播终端正常上传视频帧,连麦观众终端出现丢帧现象;这样混流操作后的视频画面中同样会出现主播视频画面和连麦观众视频画面的画面不同步的问题,影响第三方观众对混流后的视频画面的观看。
发明内容
本发明实施例提供一种可对混流视频画面中的主播视频画面和连麦观众视频画面进行自动对齐操作的视频混流方法以及视频混流装置;以解决现有的视频混流方法以及视频混流装置中主播视频画面和连麦观众视频画面的画面不同步,影响第三方观众对混流后的视频画面的观看的技术问题。
本发明实施例提供一种视频混流方法,其包括:
从所述第一视频终端获取多个第一视频画面帧,从所述第二视频终端获取多个第二视频画面帧;其中每个所述第一视频画面帧具有对应的第一画面帧时间戳,每个所述第二视频画面帧具有对应的第二画面帧时间戳;
根据预设的对齐时间长度,设定多个画面帧对齐时间戳区间;
根据所述第一画面帧时间戳,确定所述第一视频画面帧的画面帧对齐时间戳区间;根据所述第二画面帧时间戳,确定所述第二视频画面帧的画面帧对齐时间戳区间;
对每个画面帧对齐时间戳区间内的所述第一视频画面帧和所述第二视频画面帧进行画面帧对齐操作;以及
对所述对齐操作后的第一视频画面帧以及第二视频画面帧进行视频混流操作。
本发明实施例还提供一种视频混流装置,其包括:
画面帧获取模块,用于从所述第一视频终端获取多个第一视频画面帧,从所述第二视频终端获取多个第二视频画面帧;其中每个所述第一视频画面帧具有对应的第一画面帧时间戳,每个所述第二视频画面帧具有对应的第二画面帧时间戳;
对齐时间戳区间设定模块,用于根据预设的对齐时间长度,设定多个画面帧对齐时间戳区间;
对齐时间戳区间确定模块,用于根据所述第一画面帧时间戳,确定所述第一视频画面帧的画面帧对齐时间戳区间;根据所述第二画面帧时间戳,确定所述第二视频画面帧的画面帧对齐时间戳区间;
画面帧对齐模块,用于对每个画面帧对齐时间戳区间内的所述第一视频画面帧和所述第二视频画面帧进行画面帧对齐操作;以及
视频混流模块,用于对所述对齐操作后的第一视频画面帧以及第二视频画面帧进行视频混流操作。
本发明实施例还提供一种计算机可读存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行上述的视频混流方法。
相较于现有技术,本发明的视频混流方法以及视频混流装置按对齐时间长度对第一视频画面帧以及第二视频画面帧进行分区操作,随后在每个画面帧对齐时间戳区间中对第一视频画面帧和第二视频画面帧进行对齐操作,避免了第一视频画面帧和第二视频画面帧之间出现画面不同步;有效的解决了现有的视频混流方法以及视频混流装置中主播视频画面和连麦观众视频画面的画面不同步,影响第三方观众对混流后的视频画面的观看的技术问题。
附图说明
图1为本发明的视频混流方法的第一实施例的流程图;
图2为本发明的视频混流方法的第二实施例的流程图;
图3为本发明的视频混流方法的第二实施例的步骤S205的流程图;
图4为本发明的视频混流装置的第一实施例的结构示意图;
图5为本发明的视频混流装置的第二实施例的结构示意图;
图6为本发明的视频混流装置的第二实施例的画面帧对齐模块的结构示意图;
图7为本发明的视频混流装置的第二实施例的对齐时间戳区间确定模块的结构示意图;
图8a为本发明的视频混流方法以及视频混流装置的具体实施例的视频混流过程示意图;
图8b为本发明的视频混流方法及视频混流装置的具体实施例的第一视频画面和第二视频画面的补帧对齐操作示意图;
图8c为本发明的视频混流方法及视频混流装置的具体实施例的第一视频画面和第二视频画面的强制补帧对齐操作示意图
图9为本发明的视频混流装置所在的电子设备的工作环境结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行之作业的步骤及符号来说明,除非另有述明。因此,其将可了解到这些步骤及操作,其中有数次提到为由计算机执行,包括了由代表了以一结构化型式中的数据之电子信号的计算机处理单元所操纵。此操纵转换该数据或将其维持在该计算机之内存系统中的位置处,其可重新配置或另外以本领域技术人员所熟知的方式来改变该计算机之运作。该数据所维持的数据结构为该内存之实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本发明的视频混流方法及视频混流装置可设置在任何的电子设备中,用于根据第一视频画面(如主播视频画面)和第二视频画面(如连麦观众视频画面)生成对应混流视频画面。该电子设备包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。该电子设备优选为进行视频画面混流操作的视频画面处理服务器,该视频画面处理服务器按对齐时间长度对第一视频画面帧以及第二视频画面帧进行分区操作,随后在每个画面帧对齐时间戳区间中对第一视频画面帧和第二视频画面帧进行对齐操作,避免了第一视频画面帧和第二视频画面帧之间出现画面不同步;有效的解决了现有的视频混流方法及视频混流装置中主播视频画面和连麦观众视频画面的画面不同步,影响第三方观众对混流后的视频画面的观看质量的技术问题。
请参照图1,图1为本发明的视频混流方法的第一实施例的流程图。本实施例的视频混流方法可使用上述的电子设备进行实施,本实施例的视频混流方法包括:
步骤S101,从第一视频终端获取多个第一视频画面帧,从第二视频终端获取多个第二视频画面帧;其中每个第一视频画面帧具有对应的第一画面帧时间戳,每个第二视频画面帧具有对应的第二画面帧时间戳;
步骤S102,根据预设的对齐时间长度,设定多个画面帧对齐时间戳区间;
步骤S103,根据第一画面帧时间戳,确定第一视频画面帧的画面帧对齐时间戳区间;根据第二画面帧时间戳,确定第二视频画面帧的画面帧对齐时间戳区间;
步骤S104,对每个画面帧对齐时间戳区间内的第一视频画面帧和第二视频画面帧进行画面帧对齐操作;
步骤S105,对对齐操作后的第一视频画面帧和第二视频画面帧进行视频混流操作。
下面详细说明本实施例的视频混流方法的各步骤的具体流程。
在步骤S101中,视频混流装置从第一视频终端获取多个第一视频画面帧,从第二视频终端获取多个第二视频画面帧;这里的第一视频终端可为主播终端,第二视频终端为连麦观众终端;或第一视频终端为连麦观众终端,第二视频终端为主播终端。这里的第一视频画面帧为表示第一视频终端中画面内容的画面帧,这里每个第一视频画面帧均具有对应的用于表示第一视频画面帧的画面显示顺序的第一画面帧时间戳,每个第二视频画面帧均具有对应的用于表示第二视频画面帧的画面显示顺序的第二画面帧时间戳。
在步骤S102中,视频混流装置获取预设的对齐时间长度,这里的对齐时间长度为用户设定的画面帧对齐时间戳区间的区间时间长度。视频混流装置可根据该对齐时间长度来设定多个画面帧对齐时间戳区间,如设定连续的多个画面帧对齐时间戳区间,每个画面帧对齐时间戳区间的区间长度等于对齐时间长度,如设置区间时间长度为100ms,则0ms至100ms为一画面帧对齐时间戳区间,101ms至200ms为另一画面帧对齐时间戳区间。
在步骤S103中,视频混流装置根据步骤S101获取的第一视频画面帧的第一画面帧时间戳以及步骤S102设定的多个画面帧对齐时间戳区间,确定第一视频画面帧的画面帧对齐时间戳区间。同时根据步骤S101获取的第二视频画面帧的第二画面帧时间戳以及步骤S102设定的多个画面帧对齐时间戳区间,确定第二视频画面帧的画面帧对齐时间戳区间。
在步骤S104中,视频混流装置对每个画面帧对齐时间戳区间内的第一视频画面帧和第二视频画面帧进行画面帧对齐操作。这样使得同一画面帧对齐时间戳区间内的第一视频画面帧和对应的第二视频画面帧的显示差异时间不会大于对齐时间长度,从而可较好的消除第一视频画面帧和第二视频画面帧之间的画面不同步现象。
在步骤S105中,视频混流装置对步骤S104进行对齐操作后的第一视频画面帧以及第二视频画面帧进行视频混流操作,从而获取视频混流操作后的视频画面。
这样即完成了本实施例的视频混流方法的第一视频终端的视频画面和第二视频终端的视频画面的视频混流操作流程。
本实施例的视频混流方法按对齐时间长度对第一视频画面帧以及第二视频画面帧进行分区操作,随后在每个画面帧对齐时间戳区间中对第一视频画面帧和第二视频画面帧进行对齐操作,避免了第一视频画面帧和第二视频画面帧之间出现画面不同步。
请参照图2,图2为本发明的视频混流方法的第二实施例的流程图。本实施例的视频混流方法可使用上述的电子设备进行实施,本实施例的视频混流方法包括:
步骤S201,从第一视频终端获取多个第一视频画面帧,从第二视频终端获取多个第二视频画面帧;其中每个第一视频画面帧具有对应的第一画面帧时间戳,每个第二视频画面帧具有对应的第二画面帧时间戳;
步骤S202,根据预设的对齐时间长度,设定连续的多个画面帧对齐时间戳区间;每个画面帧对齐时间戳区间的区间长度等于对齐时间长度;
步骤S203,从第一视频终端和/或第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息;
步骤S204,根据第一画面帧时间戳和对齐帧信息,确定第一视频画面帧的画面帧对齐时间戳区间;根据第二画面帧时间戳和对齐帧信息,确定第二视频画面帧的画面帧对齐时间戳区间;
步骤S205,对每个画面帧对齐时间戳区间内的第一视频画面帧和第二视频画面帧进行画面帧对齐操作;
步骤S206,对对齐操作后的第一视频画面帧以及第二视频画面帧进行视频混流操作。
下面详细说明本实施例的视频混流方法的各步骤的具体流程。
在步骤S201中,视频混流装置从第一视频终端获取多个第一视频画面帧,从第二视频终端获取多个第二视频画面帧;这里的第一视频终端可为主播终端,第二视频终端为连麦观众终端;或第一视频终端为连麦观众终端,第二视频终端为主播终端。这里的第一视频画面帧为表示第一视频终端中画面内容的画面帧,这里每个第一视频画面帧均具有对应的用于表示第一视频画面帧的画面显示顺序的第一画面帧时间戳,每个第二视频画面帧均具有对应的用于表示第二视频画面帧的画面显示顺序的第二画面帧时间戳。
在步骤S202中,视频混流装置获取预设的对齐时间长度,这里的对齐时间长度为用户设定的画面帧对齐时间戳区间的区间时间长度。视频混流装置可根据该对齐时间长度来设定多个画面帧对齐时间戳区间,如设定连续的多个画面帧对齐时间戳区间,每个画面帧对齐时间戳区间的区间长度等于对齐时间长度,如设置区间时间长度为100ms,则0ms至100ms为一画面帧对齐时间戳区间,101ms至200ms为另一画面帧对齐时间戳区间。
在步骤S203中,视频混流装置从第一视频终端和/第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息。
这里的对齐帧信息为第一视频画面的画面帧时间戳以及对应的第二视频画面的画面帧时间戳;或第一视频画面的画面帧时间戳与对应的第二视频画面的画面帧时间戳的时间差信息。
由于第一视频终端的用户和第二视频终端的用户至少一个需要同时观看第一视频画面和第二视频画面,因此同时观看第一视频画面和第二视频画面的用户对应的终端(如第一视频终端、第二视频终端等)会控制第一视频画面和第二视频画面的画面帧,使得该用户可以按照第一视频画面和第二视频画面的正确播放顺序理解混流后的视频画面内容。因此该用户对应的终端也可获取此时的第一视频画面的画面帧时间戳以及第二视频画面的画面帧时间戳,以作为对齐帧信息;或者该用户对应的终端直接获取第一视频画面的画面帧时间戳以及第二视频画面的画面帧时间戳的时间差信息,以作为对齐帧信息。
如从第二视频终端获取该对齐帧信息,则该对齐帧信息生成的流程包括:
第一视频终端将第一视频画面发送至第二视频终端;
第二视频终端展示第一视频画面,并根据第二视频终端用户操作生成第二视频画面;
第二视频终端根据正在展示的第一视频画面的画面帧时间戳以及正在展示的对应的第二视频画面的画面帧时间戳,生成第一视频画面和第二视频画面的对齐帧信息。
如第一视频终端同时播放第一视频画面和第二视频画面,则视频混流装置可从第一视频终端获取第一视频画面和第二视频画面的对齐帧信息;如第一视频终端和第二视频终端均同时播放第一视频画面和第二视频画面,则视频混流装置可从第一视频终端和第二视频终端中至少一个中获取第一视频画面和第二视频画面的对齐帧信息。
在步骤S204中,视频混流装置使用步骤S203获取的对齐帧信息对步骤S201获取的第一视频画面帧的第一画面帧时间戳进行修正,并使用步骤S203获取的对齐帧信息对步骤S201获取的第二视频画面帧的第二画面帧时间戳进行修正。
如第一视频画面的画面帧时间戳与对应的第二视频画面的画面帧时间戳的显示时间差为100ms,即第一视频画面比第二视频画面提前显示100ms,则需要对所有的第一视频画面帧的第一画面帧时间戳减去100ms、或对所有的第二视频画面帧的第二画面帧时间戳加上100ms、或对所有的第一视频画面帧的第一画面帧时间戳减去50ms、所有的第二视频画面帧的第二画面帧时间戳加上50ms。
随后视频混流装置根据修正后的第一视频画面帧的第一画面帧时间戳以及步骤S202设定的多个画面帧对齐时间戳区间,确定第一视频画面帧的画面帧对齐时间戳区间。同时根据修正后的第二视频画面帧的第二画面帧时间戳以及步骤S202设定的多个画面帧对齐时间戳区间,确定第二视频画面帧的画面帧对齐时间戳区间。
在步骤S205中,视频混流装置对每个画面帧对齐时间戳区间内的第一视频画面帧和第二视频画面帧进行画面帧对齐操作。这样使得同一画面帧对齐时间戳区间内的第一视频画面帧和对应的第二视频画面帧的显示差异时间不会大于对齐时间长度,从而可较好的消除第一视频画面帧和第二视频画面帧之间的画面不同步现象。
画面帧对齐操作的具体流程请参照图3,图3为本发明的视频混流方法的第二实施例的步骤S205的流程图。该步骤S205包括:
步骤S301,视频混流装置判断当前画面帧对齐时间戳区间之后的画面帧对齐时间戳区间内具有第一视频画面帧和第二视频画面帧,且当前画面帧对齐时间戳区间中同时具有第一视频画面帧和第二视频画面帧。
在本步骤中,对画面帧对齐操作的触发条件进行设定,由于第一视频终端和/或第二视频终端可能存在网络时延,因此需要对当前画面帧对齐时间戳区间是否已获取到所有对应的第一视频画面帧和第二视频画面帧进行判断;即这里通过后续的画面帧对齐时间戳区间中具有第一视频画面帧和第二视频画面帧来判断当前画面帧对齐时间戳区间的第一视频画面帧和第二视频画面帧已全部获取。
此外,如某个画面帧对齐时间戳区间内没有第一视频画面帧或第二视频画面帧,如第一视频终端相对第二视频终端掉帧数量较多可能导致相应的画面帧对齐时间戳区间内只有第二视频画面帧,因此需要对当前画面帧对齐时间戳区间中是否同时具有第一视频画面帧和第二视频画面帧进行判断;即通过当前画面帧对齐时间戳区间中同时具有第一视频画面帧和第二视频画面帧来判断当前画面帧对齐时间戳区间内第一视频画面帧和第二视频画面帧可进行画面帧对齐操作。
如当前画面帧对齐时间戳区间之后的画面帧对齐时间戳区间内具有第一视频画面帧和第二视频画面帧,且当前画面帧对齐时间戳区间中同时具有第一视频画面帧和第二视频画面帧,则转到步骤S302;
如当前画面帧对齐时间戳区间之后的画面帧对齐时间戳区间内不具有第一视频画面帧和第二视频画面帧,或当前画面帧对齐时间戳区间中不同时具有第一视频画面帧和第二视频画面帧,则等待设定时间之后再对该当前画面对齐时间戳区间进行上述判断。
步骤S302,视频混流装置获取同一画面帧对齐时间戳区间内的第一视频画面帧的第一画面帧数量和第二视频画面帧的第二画面帧数量,以便对画面帧数量较少的视频画面帧进行补齐操作。
步骤S303,视频混流装置获取第一画面帧数量与第二画面帧数量的大小关系;如第一画面帧数量大于第二画面帧数量,则转到步骤S304;如第一画面帧数量小于第二画面帧数量,则转到步骤S305;如第一画面帧数量等于第二画面帧数量,则转到步骤S306;
步骤S304,视频混流装置将画面帧对齐时间戳区间内的第二视频画面帧的最后一帧,作为第二对齐画面帧;并在画面帧对齐时间戳区间内的第二视频画面帧的最后一帧后设置至少一个第二对齐画面帧,作为第二视频画面帧,以使得第一画面帧数量等于第二画面帧数量,这样后续可按画面帧的数量进行画面帧对齐操作,并返回步骤S303;
步骤S305,视频混流装置将画面帧对齐时间戳区间内的第一视频画面帧的最后一帧,作为第一对齐画面帧;并在画面帧对齐时间戳区间内的第一视频画面帧的最后一帧后设置至少一个第一对齐画面帧,作为第一视频画面帧,以使得第一画面帧数量等于第二画面帧数量,这样后续可按画面帧的数量进行画面帧对齐操作,并返回步骤S303;
步骤S306,由于第一视频画面帧的第一画面帧数量等于第二视频画面帧的第二画面帧数量,因此视频混流装置可按视频画面帧的时间顺序,依次对第一视频画面帧和第二视频画面帧进行画面帧对齐操作。
在步骤S206中,视频混流装置对步骤S205进行对齐操作后的第一视频画面帧以及第二视频画面帧进行视频混流操作,从而获取视频混流操作后的视频画面。
这样即完成了本实施例的视频混流方法的第一视频终端的视频画面和第二视频终端的视频画面的视频混流操作流程。
具体的,在步骤S205中,如最近的第一视频画面帧对应的画面帧对齐时间戳区间与最近的第二视频画面帧对应的画面帧对齐时间戳区间的间隔大于设定区间数量,即多个连续画面帧对齐时间戳区间没有第二视频画面帧,如连麦观众的网络较差,连麦观众终端的第二视频画面无法上传到视频混流装置,则视频混流装置需要对该画面帧对齐时间戳区间进行第二视频画面帧的强制补帧操作,以防止由于第二视频画面帧的卡顿导致整个混流后的视频画面的卡顿;即将最近的第二视频画面帧作为第二对齐画面帧,并在最近的第二视频画面帧之后设置至少一个第二对齐画面帧,作为第二视频画面帧,以使得最近的第一视频画面帧对应的画面帧对齐时间戳区间与最近的第二视频画面帧对应的画面帧对齐时间戳区间的间隔小于等于设定区间数量。
如设置第一视频画面帧和第二视频画面帧的时延间隔要小于300ms,对齐时间长度为100ms,则最近的第一视频画面帧对应的画面帧对齐时间戳区间比最近的第二视频画面帧对应的画面帧对齐时间戳区间间隔大于3个画面帧对齐时间戳区间时,视频混流装置需要将最近的第二视频画面帧对应的画面帧对齐时间戳区间的下一画面帧对齐时间戳区间中设置第二对齐画面帧作为补充的画面帧,以使得最近的第一视频画面帧对应的画面帧对齐时间戳区间与最近的第二视频画面帧对应的画面帧对齐时间戳区间的间隔小于300ms。随后再返回画面帧对齐操作的流程。
如最近的第二视频画面帧对应的画面帧对齐时间戳区间与最近的第一视频画面帧对应的画面帧对齐时间戳区间的间隔大于设定区间数量,即多个连续画面帧对齐时间戳区间没有第一视频画面帧,则视频混流装置需要对该画面帧对齐时间戳区间进行第一视频画面帧的强制补帧操作,以防止由于第一视频画面帧的卡顿导致整个混流后的视频画面的卡顿;即将最近的第一视频画面帧作为第一对齐画面帧,并在最近的第一视频画面帧之后设置至少一个第一对齐画面帧,作为第一视频画面帧,以使得最近的第二视频画面帧对应的画面帧对齐时间戳区间与最近的第一视频画面帧对应的画面帧对齐时间戳区间的间隔小于等于设定区间数量。
如设置第一视频画面帧和第二视频画面帧的时延间隔要小于300ms,对齐时间长度为100ms,则最近的第二视频画面帧对应的画面帧对齐时间戳区间比最近的第一视频画面帧对应的画面帧对齐时间戳区间间隔大于3个画面帧对齐时间戳区间时,视频混流装置需要将最近的第一视频画面帧对应的画面帧对齐时间戳区间的下一画面帧对齐时间戳区间中设置第一对齐画面帧作为补充的画面帧,以使得最近的第一视频画面帧对应的画面帧对齐时间戳区间与最近的第二视频画面帧对应的画面帧对齐时间戳区间的间隔小于300ms。随后再返回画面帧对齐操作的流程。
在第一实施例的基础上,本实施例的视频混流方法通过对齐帧信息的设置对第一视频画面帧和第二视频画面帧的画面帧时间戳进行了修正,使得第一视频画面帧和第二视频画面帧对应的画面帧对齐时间戳区间更加准确;同时具有第一视频画面帧和第二视频画面帧的画面帧对齐时间戳区间内的补帧操作,以及仅具有第一视频画面帧或第二视频画面帧的画面帧对齐时间戳区间内的强制补帧操作,进一步简化在每个画面帧对齐时间戳区间中对第一视频画面帧和第二视频画面帧进行对齐操作的难度。
本发明还提供一种视频混流装置,请参照图4,图4为本发明的视频混流装置的第一实施例的结构示意图。本实施例的视频混流装置可使用上述的视频混流方法的第一实施例进行实施,本实施例的视频混流装置40包括画面帧获取模块41、对齐时间戳区间设定模块42、对齐时间戳区间确定模块43、画面帧对齐模块44以及视频混流模块45。
画面帧获取模块41用于从所述第一视频终端获取多个第一视频画面帧,从第二视频终端获取多个第二视频画面帧;其中每个第一视频画面帧具有对应的第一画面帧时间戳,每个第二视频画面帧具有对应的第二画面帧时间戳;对齐时间戳区间设定模块42用于根据预设的对齐时间长度,设定多个画面帧对齐时间戳区间;对齐时间戳区间确定模块43用于根据第一画面帧时间戳,确定第一视频画面帧的画面帧对齐时间戳区间;根据第二画面帧时间戳,确定第二视频画面帧的画面帧对齐时间戳区间;画面帧对齐模块44用于对每个画面帧对齐时间戳区间内的第一视频画面帧和第二视频画面帧进行画面帧对齐操作;视频混流模块45用于对对齐操作后的第一视频画面帧以及第二视频画面帧进行视频混流操作。
本实施例的视频混流装置40使用时,首先画面帧获取模块41从第一视频终端获取多个第一视频画面帧,从第二视频终端获取多个第二视频画面帧;这里的第一视频终端可为主播终端,第二视频终端为连麦观众终端;或第一视频终端为连麦观众终端,第二视频终端为主播终端。这里的第一视频画面帧为表示第一视频终端中画面内容的画面帧,这里每个第一视频画面帧均具有对应的用于表示第一视频画面帧的画面显示顺序的第一画面帧时间戳,每个第二视频画面帧均具有对应的用于表示第二视频画面帧的画面显示顺序的第二画面帧时间戳。
随后对齐时间戳区间设定模块42获取预设的对齐时间长度,这里的对齐时间长度为用户设定的画面帧对齐时间戳区间的区间时间长度。视频混流装置可根据该对齐时间长度来设定多个画面帧对齐时间戳区间,如设定连续的多个画面帧对齐时间戳区间,每个画面帧对齐时间戳区间的区间长度等于对齐时间长度,如设置区间时间长度为100ms,则0ms至100ms为一画面帧对齐时间戳区间,101ms至200ms为另一画面帧对齐时间戳区间。
然后对齐时间戳区间确定模块43根据画面帧获取模块41获取的第一视频画面帧的第一画面帧时间戳以及对齐时间戳区间设定模块42设定的多个画面帧对齐时间戳区间,确定第一视频画面帧的画面帧对齐时间戳区间。同时根据画面帧获取模块41获取的第二视频画面帧的第二画面帧时间戳以及对齐时间戳区间设定模块42设定的多个画面帧对齐时间戳区间,确定第二视频画面帧的画面帧对齐时间戳区间。
随后画面帧对齐模块44对每个画面帧对齐时间戳区间内的第一视频画面帧和第二视频画面帧进行画面帧对齐操作。这样使得同一画面帧对齐时间戳区间内的第一视频画面帧和对应的第二视频画面帧的显示差异时间不会大于对齐时间长度,从而可较好的消除第一视频画面帧和第二视频画面帧之间的画面不同步现象。
最后视频混流模块45对对齐操作后的第一视频画面帧以及第二视频画面帧进行视频混流操作,从而获取视频混流操作后的视频画面。
这样即完成了本实施例的视频混流装置40的第一视频终端的视频画面和第二视频终端的视频画面的视频混流操作流程。
本实施例的视频混流装置按对齐时间长度对第一视频画面帧以及第二视频画面帧进行分区操作,随后在每个画面帧对齐时间戳区间中对第一视频画面帧和第二视频画面帧进行对齐操作,避免了第一视频画面帧和第二视频画面帧之间出现画面不同步。
请参照图5,图5为本发明的视频混流装置的第二实施例的结构示意图。本实施例的视频混流装置可使用上述的视频混流方法的第二实施例进行实施,本实施例的视频混流装置50包括画面帧获取模块51、对齐时间戳区间设定模块52、对齐时间戳区间确定模块53、画面帧对齐模块54以及视频混流模块55。
画面帧获取模块51用于从所述第一视频终端获取多个第一视频画面帧,从第二视频终端获取多个第二视频画面帧;其中每个第一视频画面帧具有对应的第一画面帧时间戳,每个第二视频画面帧具有对应的第二画面帧时间戳;对齐时间戳区间设定模块52用于根据预设的对齐时间长度,设定连续的多个画面帧对齐时间戳区间;对齐时间戳区间确定模块53用于根据第一画面帧时间戳,确定第一视频画面帧的画面帧对齐时间戳区间;根据第二画面帧时间戳,确定第二视频画面帧的画面帧对齐时间戳区间;画面帧对齐模块54用于对每个画面帧对齐时间戳区间内的第一视频画面帧和第二视频画面帧进行画面帧对齐操作;视频混流模块55用于对对齐操作后的第一视频画面帧以及第二视频画面帧进行视频混流操作。
请参照图6,图6为本发明的视频混流装置的第二实施例的画面帧对齐模块的结构示意图。该画面帧对齐模块54包括画面帧数量获取单元61、数量关系获取单元62、第一视频画面帧设置单元63、第二视频画面帧设置单元64以及画面帧对齐单元65。
画面帧数量获取单元61用于获取同一画面帧对齐时间戳区间内的第一视频画面帧的第一画面帧数量和第二视频画面帧的第二画面帧数量;数量关系获取单元62用于获取第一画面帧数量与第二画面帧数量的大小关系;第一视频画面帧设置单元63用于如第一画面帧数量大于第二画面帧数量,则将画面帧对齐时间戳区间内的第二视频画面帧的最后一帧,作为第二对齐画面帧;并在画面帧对齐时间戳区间内的第二视频画面帧的最后一帧后设置至少一个第二对齐画面帧,作为第二视频画面帧,以使得第一画面帧数量等于第二画面帧数量;第二视频画面帧设置单元64用于如第一画面帧数量小于第二画面帧数量,则将画面帧对齐时间戳区间内的第一视频画面帧的最后一帧,作为第一对齐画面帧;并在画面帧对齐时间戳区间内的第一视频画面帧的最后一帧后设置至少一个第一对齐画面帧,作为第一视频画面帧,以使得第一画面帧数量等于所述第二画面帧数量;画面帧对齐单元65用于如第一画面帧数量等于第二画面帧的数量,则对第一视频画面帧和第二视频画面帧进行画面帧对齐操作。
请参照图7,图7为本发明的视频混流装置的第二实施例的对齐时间戳区间确定模块的结构示意图。该对齐时间戳区间确定模块53包括对齐帧信息获取单元71以及对齐时间戳确定单元72。
对齐帧信息获取单元71用于从第一视频终端和/或第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息;对齐时间戳确定单元72用于根据第一画面帧时间戳以及对齐帧信息,确定第一视频画面帧的画面帧对齐时间戳区间;根据第二画面时间戳以及对齐帧信息,确定第二视频画面帧的画面帧对齐时间戳区间。
本实施例的视频混流装置50使用时,首先画面帧获取模块51从第一视频终端获取多个第一视频画面帧,从第二视频终端获取多个第二视频画面帧;这里的第一视频终端可为主播终端,第二视频终端为连麦观众终端;或第一视频终端为连麦观众终端,第二视频终端为主播终端。这里的第一视频画面帧为表示第一视频终端中画面内容的画面帧,这里每个第一视频画面帧均具有对应的用于表示第一视频画面帧的画面显示顺序的第一画面帧时间戳,每个第二视频画面帧均具有对应的用于表示第二视频画面帧的画面显示顺序的第二画面帧时间戳。
随后对齐时间戳区间设定模块52获取预设的对齐时间长度,这里的对齐时间长度为用户设定的画面帧对齐时间戳区间的区间时间长度。视频混流装置可根据该对齐时间长度来设定多个画面帧对齐时间戳区间,如设定连续的多个画面帧对齐时间戳区间,每个画面帧对齐时间戳区间的区间长度等于对齐时间长度,如设置区间时间长度为100ms,则0ms至100ms为一画面帧对齐时间戳区间,101ms至200ms为另一画面帧对齐时间戳区间。
然后对齐时间戳区间确定模块53的对齐帧信息获取单元71从第一视频终端和/第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息。
这里的对齐帧信息为第一视频画面的画面帧时间戳以及对应的第二视频画面的画面帧时间戳;或第一视频画面的画面帧时间戳与对应的第二视频画面的画面帧时间戳的时间差信息。
由于第一视频终端的用户和第二视频终端的用户至少一个需要同时观看第一视频画面和第二视频画面,因此同时观看第一视频画面和第二视频画面的用户对应的终端(如第一视频终端、第二视频终端等)会控制第一视频画面和第二视频画面的画面帧,使得该用户可以按照第一视频画面和第二视频画面的正确播放顺序理解混流后的视频画面内容。因此该用户对应的终端也可获取此时的第一视频画面的画面帧时间戳以及第二视频画面的画面帧时间戳,以作为对齐帧信息;或者该用户对应的终端直接获取第一视频画面的画面帧时间戳以及第二视频画面的画面帧时间戳的时间差信息,以作为对齐帧信息。
如从第二视频终端获取该对齐帧信息,则该对齐帧信息生成的流程包括:
第一视频终端将第一视频画面发送至第二视频终端;
第二视频终端展示第一视频画面,并根据第二视频终端用户操作生成第二视频画面;
第二视频终端根据正在展示的第一视频画面的画面帧时间戳以及正在展示的对应的第二视频画面的画面帧时间戳,生成第一视频画面和第二视频画面的对齐帧信息。
如第一视频终端同时播放第一视频画面和第二视频画面,则视频混流装置可从第一视频终端获取第一视频画面和第二视频画面的对齐帧信息;如第一视频终端和第二视频终端均同时播放第一视频画面和第二视频画面,则视频混流装置可从第一视频终端和第二视频终端中至少一个中获取第一视频画面和第二视频画面的对齐帧信息。
随后对齐时间戳区间确定模块53的对齐时间戳确定单元72使用该对齐帧信息对获取的第一视频画面帧的第一画面帧时间戳进行修正,并使用该对齐帧信息对获取的第二视频画面帧的第二画面帧时间戳进行修正。
如第一视频画面的画面帧时间戳与对应的第二视频画面的画面帧时间戳的显示时间差为100ms,即第一视频画面比第二视频画面提前显示100ms,则需要对所有的第一视频画面帧的第一画面帧时间戳减去100ms、或对所有的第二视频画面帧的第二画面帧时间戳加上100ms、或对所有的第一视频画面帧的第一画面帧时间戳减去50ms、所有的第二视频画面帧的第二画面帧时间戳加上50ms。
对齐时间戳确定单元72根据修正后的第一视频画面帧的第一画面帧时间戳以及对齐时间戳区间设定模块设定的多个画面帧对齐时间戳区间,确定第一视频画面帧的画面帧对齐时间戳区间。同时对齐时间戳确定单元根据修正后的第二视频画面帧的第二画面帧时间戳以及对齐时间戳区间设定模块设定的多个画面帧对齐时间戳区间,确定第二视频画面帧的画面帧对齐时间戳区间。
然后画面帧对齐模块54对每个画面帧对齐时间戳区间内的第一视频画面帧和第二视频画面帧进行画面帧对齐操作。这样使得同一画面帧对齐时间戳区间内的第一视频画面帧和对应的第二视频画面帧的显示差异时间不会大于对齐时间长度,从而可较好的消除第一视频画面帧和第二视频画面帧之间的画面不同步现象。
画面帧对齐操作的具体流程包括:
画面帧对齐模块54判断当前画面帧对齐时间戳区间之后的画面帧对齐时间戳区间内具有第一视频画面帧和第二视频画面帧,且当前画面帧对齐时间戳区间中是否同时具有第一视频画面帧和第二视频画面帧。
画面帧对齐模块54对画面帧对齐操作的触发条件进行设定,由于第一视频终端和/或第二视频终端可能存在网络时延,因此需要对当前画面帧对齐时间戳区间是否已获取到所有对应的第一视频画面帧和第二视频画面帧进行判断;即这里通过后续的画面帧对齐时间戳区间中具有第一视频画面帧和第二视频画面帧来判断当前画面帧对齐时间戳区间的第一视频画面帧和第二视频画面帧已全部获取。
此外,如某个画面帧对齐时间戳区间内没有第一视频画面帧或第二视频画面帧,如第一视频终端相对第二视频终端掉帧数量较多可能导致相应的画面帧对齐时间戳区间内只有第二视频画面帧,因此需要对当前画面帧对齐时间戳区间中是否同时具有第一视频画面帧和第二视频画面帧进行判断;即通过当前画面帧对齐时间戳区间中同时具有第一视频画面帧和第二视频画面帧来判断当前画面帧对齐时间戳区间内第一视频画面帧和第二视频画面帧可进行画面帧对齐操作。
如当前画面帧对齐时间戳区间之后的画面帧对齐时间戳区间内具有第一视频画面帧和第二视频画面帧,且当前画面帧对齐时间戳区间中同时具有第一视频画面帧和第二视频画面帧,则转到画面帧对齐模块的画面帧数量获取单元;
如当前画面帧对齐时间戳区间之后的画面帧对齐时间戳区间内不具有第一视频画面帧和第二视频画面帧,或当前画面帧对齐时间戳区间中不同时具有第一视频画面帧和第二视频画面帧,则等待设定时间之后再对该当前画面对齐时间戳区间进行上述判断。
画面帧对齐模块54的画面帧数量获取单元61获取同一画面帧对齐时间戳区间内的第一视频画面帧的第一画面帧数量和第二视频画面帧的第二画面帧数量,以便对画面帧数量较少的视频画面帧进行补齐操作。
画面帧对齐模块54的数量关系获取单元62获取第一画面帧数量与第二画面帧数量的大小关系;如第一画面帧数量大于第二画面帧数量,则转到画面帧对齐模块54的第一视频画面帧设置单元63;如第一画面帧数量小于第二画面帧数量,则转到画面帧对齐模块54的第二视频画面帧设置单元64;如第一画面帧数量等于第二画面帧数量,则转到画面帧对齐模块54的画面帧对齐单元65。
如第一画面帧数量大于第二画面帧数量,画面帧对齐模块54的第一视频画面帧设置单元63将画面帧对齐时间戳区间内的第二视频画面帧的最后一帧,作为第二对齐画面帧;并在画面帧对齐时间戳区间内的第二视频画面帧的最后一帧后设置至少一个第二对齐画面帧,作为第二视频画面帧,以使得第一画面帧数量等于第二画面帧数量,这样后续可按画面帧的数量进行画面帧对齐操作,并返回数量关系获取单元62;
如第一画面帧数量小于第二画面帧数量,画面帧对齐模块54的第二视频画面帧设置单元64将画面帧对齐时间戳区间内的第一视频画面帧的最后一帧,作为第一对齐画面帧;并在画面帧对齐时间戳区间内的第一视频画面帧的最后一帧后设置至少一个第一对齐画面帧,作为第一视频画面帧,以使得第一画面帧数量等于第二画面帧数量,这样后续可按画面帧的数量进行画面帧对齐操作,并返回数量关系获取单元62;
如第一画面帧数量等于第二画面帧数量,由于第一视频画面帧的第一画面帧数量等于第二视频画面帧的第二画面帧数量,因此画面帧对齐模块54的画面帧对齐单元65可按视频画面帧的时间顺序,依次对第一视频画面帧和第二视频画面帧进行画面帧对齐操作。
最后视频混流模块55对对齐操作后的第一视频画面帧以及第二视频画面帧进行视频混流操作,从而获取视频混流操作后的视频画面。
这样即完成了本实施例的视频混流装置50的第一视频终端的视频画面和第二视频终端的视频画面的视频混流操作流程。
本实施例的视频混流装置的画面帧对齐模块54还包括第三视频画面帧设置单元66以及第四视频画面帧设置单元67。
如最近的第一视频画面帧对应的画面帧对齐时间戳区间与最近的第二视频画面帧对应的画面帧对齐时间戳区间的间隔大于设定区间数量,即多个连续画面帧对齐时间戳区间没有第二视频画面帧,如连麦观众的网络较差,连麦观众终端的第二视频画面无法上传到视频混流装置,则画面帧对齐模块54的第三视频画面帧设置单元66需要对该画面帧对齐时间戳区间进行第二视频画面帧的强制补帧操作,以防止由于第二视频画面帧的卡顿导致整个混流后的视频画面的卡顿;即将最近的第二视频画面帧作为第二对齐画面帧,并在最近的第二视频画面帧之后设置至少一个第二对齐画面帧,作为第二视频画面帧,以使得最近的第一视频画面帧对应的画面帧对齐时间戳区间与最近的第二视频画面帧对应的画面帧对齐时间戳区间的间隔小于等于设定区间数量。
如设置第一视频画面帧和第二视频画面帧的时延间隔要小于300ms,对齐时间长度为100ms,则最近的第一视频画面帧对应的画面帧对齐时间戳区间比最近的第二视频画面帧对应的画面帧对齐时间戳区间间隔大于3个画面帧对齐时间戳区间时,第三视频画面帧设置单元66需要将最近的第二视频画面帧对应的画面帧对齐时间戳区间的下一画面帧对齐时间戳区间中设置第二对齐画面帧作为补充的画面帧,以使得最近的第一视频画面帧对应的画面帧对齐时间戳区间与最近的第二视频画面帧对应的画面帧对齐时间戳区间的间隔小于300ms。随后再返回画面帧对齐操作的流程。
如最近的第二视频画面帧对应的画面帧对齐时间戳区间与最近的第一视频画面帧对应的画面帧对齐时间戳区间的间隔大于设定区间数量,即多个连续画面帧对齐时间戳区间没有第一视频画面帧,则画面帧对齐模块54的第四视频画面帧设置单元67需要对该画面帧对齐时间戳区间进行第一视频画面帧的强制补帧操作,以防止由于第一视频画面帧的卡顿导致整个混流后的视频画面的卡顿;即将最近的第一视频画面帧作为第一对齐画面帧,并在最近的第一视频画面帧之后设置至少一个第一对齐画面帧,作为第一视频画面帧,以使得最近的第二视频画面帧对应的画面帧对齐时间戳区间与最近的第一视频画面帧对应的画面帧对齐时间戳区间的间隔小于等于设定区间数量。
如设置第一视频画面帧和第二视频画面帧的时延间隔要小于300ms,对齐时间长度为100ms,则最近的第二视频画面帧对应的画面帧对齐时间戳区间比最近的第一视频画面帧对应的画面帧对齐时间戳区间间隔大于3个画面帧对齐时间戳区间时,画面帧对齐模块54的第四视频画面帧设置单元67需要将最近的第一视频画面帧对应的画面帧对齐时间戳区间的下一画面帧对齐时间戳区间中设置第一对齐画面帧作为补充的画面帧,以使得最近的第一视频画面帧对应的画面帧对齐时间戳区间与最近的第二视频画面帧对应的画面帧对齐时间戳区间的间隔小于300ms。随后再返回画面帧对齐操作的流程。
在第一实施例的基础上,本实施例的视频混流装置通过对齐帧信息的设置对第一视频画面帧和第二视频画面帧的画面帧时间戳进行了修正,使得第一视频画面帧和第二视频画面帧对应的画面帧对齐时间戳区间更加准确;同时具有第一视频画面帧和第二视频画面帧的画面帧对齐时间戳区间内的补帧操作,以及仅具有第一视频画面帧或第二视频画面帧的画面帧对齐时间戳区间内的强制补帧操作,进一步简化在每个画面帧对齐时间戳区间中对第一视频画面帧和第二视频画面帧进行对齐操作的难度。
下面通过一具体实施例说明本发明的视频混流方法及视频混流装置的工作原理。
请参照图8a、图8b以及图8c,图8a为本发明的视频混流方法以及视频混流装置的具体实施例的视频混流过程示意图;图8b为本发明的视频混流方法及视频混流装置的具体实施例的第一视频画面和第二视频画面的补帧对齐操作示意图;图8c为本发明的视频混流方法及视频混流装置的具体实施例的第一视频画面和第二视频画面的强制补帧对齐操作示意图。
在本具体实施例中,视频混流装置为直播平台的视频画面处理服务器,该视频画面处理服务器对主播终端的主播视频画面(第一视频画面)以及连麦观众终端的连麦观众视频画面(第二视频画面)进行视频混流操作,并将视频混流操作后的视频画面发送至第三方观众终端,以供第三方观众观看该混流操作后的视频画面。这里主播终端通过主播视频推流接入服务器将主播视频画面发送至连麦观众终端以及视频画面处理服务器,连麦观众终端通过连麦观众视频推流接入服务器将连麦观众视频画面发送至主播终端以及视频画面处理服务器。该视频混流过程包括:
步骤S801,主播开始直播,主播终端将主播视频画面推送至主播视频推流接入服务器。
步骤S802,连麦观众可通过连麦观众终端从主播视频推流接入服务器观看主播视频画面。
步骤S803,连麦观众提出连麦申请,通过连麦观众终端将连麦观众视频画面推送至连麦观众推流接入服务器。
步骤S804,主播接收并同意连麦申请后,通过主播终端从连麦观众视频推流接入服务器观看连麦观众视频画面。
步骤S805,由于主播终端需要根据连麦观众视频画面中的内容来生成主播视频画面,如主播与连麦观众进行交互等。
因此主播终端可对连麦观众视频画面和主播视频画面进行混流操作,同时获取连麦观众视频画面和主播视频画面的对齐帧信息,如主播视频画面的画面帧时间戳(PTS,Presentation Time Stamp)以及对应的连麦观众视频画面的画面帧时间戳。如主播视频画面帧A1的画面帧时间戳为100ms,对应的连麦观众视频画面帧B1的画面帧时间戳为0ms。
步骤S806,视频画面处理服务器接收上述对齐帧信息,然后从连麦观众视频推流接入服务器接收连麦观众视频画面帧B1-B6,从主播视频推流接入服务器接收主播视频画面帧A1-A9。其中主播视频画面帧A1至主播视频画面帧A9的画面帧时间戳分别为100ms、133ms、166ms、200ms、233ms、266ms、300ms、333ms以及366ms,连麦观众视频画面帧B1至连麦观众视频画面帧B6的画面帧时间戳分别为0ms、49ms、100ms、149ms、200ms以及249ms。
步骤S807,视频画面处理服务器根据预设的100ms的对齐时间长度,设定了0ms-99ms,100ms-199ms,200-299ms等多个画面帧对齐时间戳区间。
步骤S808,视频画面处理服务器根据对齐帧信息对主播视频画面帧的画面帧时间戳进行修正,即将主播视频画面帧A1至主播视频画面帧A9的画面帧时间戳均减少100ms,主播视频画面帧A1至主播视频画面帧A9的画面帧时间戳修正为0ms、33ms、66ms、100ms、133ms、166ms、200ms、233ms以及266ms,连麦观众视频画面帧B1至连麦观众视频画面帧B6的画面帧时间戳依然分别为0ms、49ms、100ms、149ms、200ms以及249ms。
步骤S809,视频画面处理服务器确定每个主播视频画面帧的画面帧对齐时间戳区间以及每个连麦观众视频画面帧的画面帧对齐时间戳区间。如图8b所示,主播视频画面帧A1、A2、A3属于画面帧对齐时间戳区间T1,主播视频画面帧A4、A5、A6属于画面帧对齐时间戳区间T2,主播视频画面帧A7、A8、A9属于画面帧对齐时间戳区间T3;连麦观众视频画面帧B1、B2属于画面帧对齐时间戳区间T1,连麦观众视频画面帧B3、B4属于画面帧对齐时间戳区间T2,连麦观众视频画面帧B5、B6属于画面帧对齐时间戳区间T3。
步骤S810,视频画面处理服务器对画面帧对齐时间戳区间T1、T2、T3中的主播视频画面帧和连麦观众视频画面帧进行画面帧对齐操作。具体请参照图8b。
由于画面帧对齐时间戳区间T1中的主播视频画面帧的数量大于连麦观众视频画面帧的数量,因此将画面帧对齐时间戳区间T1的最后一帧连麦观众视频画面帧作为对齐画面帧;并在画面帧对齐时间戳区间T1的最后一帧连麦观众视频画面帧后设置一个对齐画面帧,作为连麦观众视频画面帧,以使得画面帧对齐时间戳区间T1中的主播视频画面帧的数量等于连麦观众视频画面帧的数量,即在连麦观众视频画面帧B2之后设置一连麦观众视频画面帧B2。
由于画面帧对齐时间戳区间T2中的主播视频画面帧的数量大于连麦观众视频画面帧的数量,因此将画面帧对齐时间戳区间T2的最后一帧连麦观众视频画面帧作为对齐画面帧;并在画面帧对齐时间戳区间T2的最后一帧连麦观众视频画面帧后设置一个对齐画面帧,作为连麦观众视频画面帧,以使得画面帧对齐时间戳区间T2中的主播视频画面帧的数量等于连麦观众视频画面帧的数量,即在连麦观众视频画面帧B4之后设置一连麦观众视频画面帧B4。
由于画面帧对齐时间戳区间T3中的主播视频画面帧的数量大于连麦观众视频画面帧的数量,因此将画面帧对齐时间戳区间T3的最后一帧连麦观众视频画面帧作为对齐画面帧;并在画面帧对齐时间戳区间T3的最后一帧连麦观众视频画面帧后设置一个对齐画面帧,作为连麦观众视频画面帧,以使得画面帧对齐时间戳区间T3中的主播视频画面帧的数量等于连麦观众视频画面帧的数量,即在连麦观众视频画面帧B6之后设置一连麦观众视频画面帧B6。
随后由于画面帧对齐时间戳区间T1、T2、T3中的主播视频画面帧等于连麦观众视频画面帧,视频画面处理服务器可按主播视频画面帧以及连麦观众视频画面帧的时间顺序,依次对主播视频画面帧以及连麦观众视频画面帧进行画面帧对齐操作。
步骤S811,视频画面处理服务器对对齐操作后的连麦观众视频画面以及主播视频画面进行视频混流操作,并把混流操作后的视频画面通过直播平台发送至第三方观众终端进行观看。
如最近的主播视频画面帧对应的画面帧对齐时间戳区间与最近的连麦观众视频画面帧对应的画面帧对齐时间戳区间的间隔大于2个,即2个连续的画面帧对齐时间戳区间没有连麦观众视频画面帧。如图8c所示,主播视频画面帧A1'、A2'、A3'属于画面帧对齐时间戳区间T1',主播视频画面帧A4'、A5'、A6'属于画面帧对齐时间戳区间T2',主播视频画面帧A7'、A8'、A9'属于画面帧对齐时间戳区间T3';连麦观众视频画面帧B1'、B2'属于画面帧对齐时间戳区间T1',画面帧对齐时间戳区间T2'、T3'均没有对应的连麦观众视频画面帧。
这时视频画面处理服务器确认主播视频画面与连麦观众视频画面的画面帧时间戳相差过大,因此需要对连麦观众视频画面进行强制补帧操作,即将最近的连麦观众视频画面帧作为对齐画面帧,并在最近的连麦观众画面帧之后设置至少一个对齐画面帧,作为连麦观众视频画面帧,以使得最近的主播视频画面帧对应的画面帧对齐时间戳区间与最近的连麦观众视频画面帧对应的画面帧对齐时间戳区间的间隔小于等于2个。即如果视频画面处理服务器在后续的画面帧对齐时间戳区间中依然未接收到连麦观众视频画面帧,则在画面帧对齐时间戳区间T2'中设置3个连麦观众视频画面帧B2',以便对画面帧对齐时间戳区间T2'中的主播视频画面帧以及连麦观众视频画面帧进行画面帧对齐操作。
这样即完成了本具体实施例的视频混流装置及视频混流方法的主播视频画面以及连麦观众视频画面的视频混流操作流程。
本发明的视频混流方法以及视频混流装置按对齐时间长度对第一视频画面帧以及第二视频画面帧进行分区操作,随后在每个画面帧对齐时间戳区间中对第一视频画面帧和第二视频画面帧进行对齐操作,避免了第一视频画面帧和第二视频画面帧之间出现画面不同步;有效的解决了现有的视频混流方法以及视频混流装置中主播视频画面和连麦观众视频画面的画面不同步,影响第三方观众对混流后的视频画面的观看的技术问题。
如本申请所使用的术语“组件”、“模块”、“系统”、“接口”、“进程”等等一般地旨在指计算机相关实体:硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序和/或计算机。通过图示,运行在控制器上的应用和该控制器二者都可以是组件。一个或多个组件可以有在于执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
图9和随后的讨论提供了对实现本发明所述的视频混流装置所在的电子设备的工作环境的简短、概括的描述。图9的工作环境仅仅是适当的工作环境的一个实例并且不旨在建议关于工作环境的用途或功能的范围的任何限制。实例电子设备912包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。
尽管没有要求,但是在“计算机可读指令”被一个或多个电子设备执行的通用背景下描述实施例。计算机可读指令可以经由计算机可读介质来分布(下文讨论)。计算机可读指令可以实现为程序模块,比如执行特定任务或实现特定抽象数据类型的功能、对象、应用编程接口(API)、数据结构等等。典型地,该计算机可读指令的功能可以在各种环境中随意组合或分布。
图9图示了包括本发明的视频混流装置中的一个或多个实施例的电子设备912的实例。在一种配置中,电子设备912包括至少一个处理单元916和存储器918。根据电子设备的确切配置和类型,存储器918可以是易失性的(比如RAM)、非易失性的(比如ROM、闪存等)或二者的某种组合。该配置在图9中由虚线914图示。
在其他实施例中,电子设备912可以包括附加特征和/或功能。例如,设备912还可以包括附加的存储装置(例如可移除和/或不可移除的),其包括但不限于磁存储装置、光存储装置等等。这种附加存储装置在图9中由存储装置920图示。在一个实施例中,用于实现本文所提供的一个或多个实施例的计算机可读指令可以在存储装置920中。存储装置920还可以存储用于实现操作系统、应用程序等的其他计算机可读指令。计算机可读指令可以载入存储器918中由例如处理单元916执行。
本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器918和存储装置920是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可以用于存储期望信息并可以被电子设备912访问的任何其他介质。任意这样的计算机存储介质可以是电子设备912的一部分。
电子设备912还可以包括允许电子设备912与其他设备通信的通信连接926。通信连接926可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器、红外端口、USB连接或用于将电子设备912连接到其他电子设备的其他接口。通信连接926可以包括有线连接或无线连接。通信连接926可以发射和/或接收通信媒体。
术语“计算机可读介质”可以包括通信介质。通信介质典型地包含计算机可读指令或诸如载波或其他传输机构之类的“己调制数据信号”中的其他数据,并且包括任何信息递送介质。术语“己调制数据信号”可以包括这样的信号:该信号特性中的一个或多个按照将信息编码到信号中的方式来设置或改变。
电子设备912可以包括输入设备924,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其他输入设备。设备912中也可以包括输出设备922,比如一个或多个显示器、扬声器、打印机和/或任意其他输出设备。输入设备924和输出设备922可以经由有线连接、无线连接或其任意组合连接到电子设备912。在一个实施例中,来自另一个电子设备的输入设备或输出设备可以被用作电子设备912的输入设备924或输出设备922。
电子设备912的组件可以通过各种互连(比如总线)连接。这样的互连可以包括外围组件互连(PCI)(比如快速PCI)、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等等。在另一个实施例中,电子设备912的组件可以通过网络互连。例如,存储器918可以由位于不同物理位置中的、通过网络互连的多个物理存储器单元构成。
本领域技术人员将认识到,用于存储计算机可读指令的存储设备可以跨越网络分布。例如,可经由网络928访问的电子设备930可以存储用于实现本发明所提供的一个或多个实施例的计算机可读指令。电子设备912可以访问电子设备930并且下载计算机可读指令的一部分或所有以供执行。可替代地,电子设备912可以按需要下载多条计算机可读指令,或者一些指令可以在电子设备912处执行并且一些指令可以在电子设备930处执行。
本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。
而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。
综上所述,虽然本发明已以实施例揭露如上,实施例前的序号仅为描述方便而使用,对本发明各实施例的顺序不造成限制。并且,上述实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
Claims (15)
1.一种视频混流方法,其特征在于,包括:
从第一视频终端获取多个第一视频画面帧,从第二视频终端获取多个第二视频画面帧;其中每个所述第一视频画面帧具有对应的第一画面帧时间戳,每个所述第二视频画面帧具有对应的第二画面帧时间戳;
根据预设的对齐时间长度,设定多个画面帧对齐时间戳区间;
根据所述第一画面帧时间戳,确定所述第一视频画面帧的画面帧对齐时间戳区间;根据所述第二画面帧时间戳,确定所述第二视频画面帧的画面帧对齐时间戳区间;
对每个画面帧对齐时间戳区间内的所述第一视频画面帧和所述第二视频画面帧进行画面帧对齐操作;以及
对所述对齐操作后的第一视频画面帧以及第二视频画面帧进行视频混流操作;
其中如最近的第一视频画面帧对应的画面帧对齐时间戳区间与最近的第二视频画面帧对应的画面帧对齐时间戳区间的间隔大于设定区间数量,则将所述最近的第二视频画面帧作为第二对齐画面帧,并在所述最近的第二视频画面帧之后设置至少一个所述第二对齐画面帧,作为第二视频画面帧;
如最近的第二视频画面帧对应的画面帧对齐时间戳区间与最近的第一视频画面帧对应的画面帧对齐时间戳区间的间隔大于设定区间数量,则将所述最近的第一视频画面帧作为第一对齐画面帧,并在所述最近的第一视频画面帧之后设置至少一个所述的第一对齐画面帧,作为第一视频画面帧。
2.根据权利要求1所述的视频混流方法,其特征在于,所述根据预设的对齐时间长度,设定多个画面帧对齐时间戳区间的步骤为:
根据预设的对齐时间长度,设定连续的多个画面帧对齐时间戳区间;每个所述画面帧对齐时间戳区间的区间长度等于所述对齐时间长度。
3.根据权利要求1所述的视频混流方法,其特征在于,所述对每个画面帧对齐时间戳区间内的所述第一视频画面帧和所述第二视频画面帧进行画面帧对齐操作的步骤包括:
获取同一画面帧对齐时间戳区间内的所述第一视频画面帧的第一画面帧数量和所述第二视频画面帧的第二画面帧数量;
获取所述第一画面帧数量与所述第二画面帧数量的大小关系;
如所述第一画面帧数量大于所述第二画面帧数量,则将所述画面帧对齐时间戳区间内的第二视频画面帧的最后一帧,作为第二对齐画面帧;并在所述画面帧对齐时间戳区间内的第二视频画面帧的最后一帧后设置至少一个所述第二对齐画面帧,作为第二视频画面帧,以使得所述第一画面帧数量等于所述第二画面帧数量,并返回获取所述第一画面帧数量与所述第二画面帧数量的大小关系的步骤;
如所述第一画面帧数量小于所述第二画面帧数量,则将所述画面帧对齐时间戳区间内的第一视频画面帧的最后一帧,作为第一对齐画面帧;并在所述画面帧对齐时间戳区间内的第一视频画面帧的最后一帧后设置至少一个所述第一对齐画面帧,作为第一视频画面帧,以使得所述第一画面帧数量等于所述第二画面帧数量,并返回获取所述第一画面帧数量与所述第二画面帧数量的大小关系的步骤;
如所述第一画面帧数量等于所述第二画面帧的数量,则对所述第一视频画面帧和所述第二视频画面帧进行画面帧对齐操作。
4.根据权利要求3所述的视频混流方法,其特征在于,所述获取同一画面帧对齐时间戳区间内的所述第一视频画面帧的第一画面帧数量和所述第二视频画面帧的第二画面帧数量的步骤包括:
如当前画面帧对齐时间戳区间之后的画面帧对齐时间戳区间内具有第一视频画面帧和第二视频画面帧,且当前画面帧对齐时间戳区间中同时具有第一视频画面帧和第二视频画面帧;则获取当前画面帧对齐时间戳区间内的所述第一视频画面帧的第一画面帧数量和所述第二视频画面帧的第二画面帧数量。
5.根据权利要求1所述的视频混流方法,其特征在于,其中将所述最近的第二视频画面帧作为第二对齐画面帧,并在所述最近的第二视频画面帧之后设置至少一个所述第二对齐画面帧,作为第二视频画面帧,以使得最近的第一视频画面帧对应的画面帧对齐时间戳区间与最近的第二视频画面帧对应的画面帧对齐时间戳区间的间隔小于等于设定区间数量;
其中将所述最近的第一视频画面帧作为第一对齐画面帧,并在所述最近的第一视频画面帧之后设置至少一个所述的第一对齐画面帧,作为第一视频画面帧,以使得最近的第二视频画面帧对应的画面帧对齐时间戳区间与最近的第一视频画面帧对应的画面帧对齐时间戳区间的间隔小于等于设定区间数量。
6.根据权利要求1所述的视频混流方法,其特征在于,所述根据所述第一画面帧时间戳,确定所述第一视频画面帧的画面帧对齐时间戳区间;根据所述第二画面帧时间戳,确定所述第二视频画面帧的画面帧对齐时间戳区间的步骤包括:
从所述第一视频终端和/或所述第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息;
根据所述第一画面帧时间戳以及所述对齐帧信息,确定所述第一视频画面帧的画面帧对齐时间戳区间;根据所述第二画面时间戳以及所述对齐帧信息,确定所述第二视频画面帧的画面帧对齐时间戳区间。
7.根据权利要求6所述的视频混流方法,其特征在于,所述对齐帧信息为第一视频画面的画面帧时间戳以及对应的第二视频画面的画面帧时间戳;或第一视频画面的画面帧时间戳与对应的第二视频画面的画面帧时间戳的时间差信息。
8.一种视频混流装置,其特征在于,包括:
画面帧获取模块,用于从第一视频终端获取多个第一视频画面帧,从第二视频终端获取多个第二视频画面帧;其中每个所述第一视频画面帧具有对应的第一画面帧时间戳,每个所述第二视频画面帧具有对应的第二画面帧时间戳;
对齐时间戳区间设定模块,用于根据预设的对齐时间长度,设定多个画面帧对齐时间戳区间;
对齐时间戳区间确定模块,用于根据所述第一画面帧时间戳,确定所述第一视频画面帧的画面帧对齐时间戳区间;根据所述第二画面帧时间戳,确定所述第二视频画面帧的画面帧对齐时间戳区间;
画面帧对齐模块,用于对每个画面帧对齐时间戳区间内的所述第一视频画面帧和所述第二视频画面帧进行画面帧对齐操作;以及
视频混流模块,用于对所述对齐操作后的第一视频画面帧以及第二视频画面帧进行视频混流操作;
所述画面帧对齐模块还包括:
第三视频画面帧设置单元,用于如最近的第一视频画面帧对应的画面帧对齐时间戳区间与最近的第二视频画面帧对应的画面帧对齐时间戳区间的间隔大于设定区间数量,则将所述最近的第二视频画面帧作为第二对齐画面帧,并在所述最近的第二视频画面帧之后设置至少一个所述第二对齐画面帧,作为第二视频画面帧;
第四视频画面帧设置单元,用于如最近的第二视频画面帧对应的画面帧对齐时间戳区间与最近的第一视频画面帧对应的画面帧对齐时间戳区间的间隔大于设定区间数量,则将所述最近的第一视频画面帧作为第一对齐画面帧,并在所述最近的第一视频画面帧之后设置至少一个所述的第一对齐画面帧,作为第一视频画面帧。
9.根据权利要求8所述的视频混流装置,其特征在于,所述对齐时间戳区间设定模块用于根据预设的对齐时间长度,设定连续的多个画面帧对齐时间戳区间;每个所述画面帧对齐时间戳区间的区间长度等于所述对齐时间长度。
10.根据权利要求8所述的视频混流装置,其特征在于,所述画面帧对齐模块包括:
画面帧数量获取单元,用于获取同一画面帧对齐时间戳区间内的所述第一视频画面帧的第一画面帧数量和所述第二视频画面帧的第二画面帧数量;
数量关系获取单元,用于获取所述第一画面帧数量与所述第二画面帧数量的大小关系;
第一视频画面帧设置单元,用于如所述第一画面帧数量大于所述第二画面帧数量,则将所述画面帧对齐时间戳区间内的第二视频画面帧的最后一帧,作为第二对齐画面帧;并在所述画面帧对齐时间戳区间内的第二视频画面帧的最后一帧后设置至少一个所述第二对齐画面帧,作为第二视频画面帧,以使得所述第一画面帧数量等于所述第二画面帧数量;
第二视频画面帧设置单元,用于如所述第一画面帧数量小于所述第二画面帧数量,则将所述画面帧对齐时间戳区间内的第一视频画面帧的最后一帧,作为第一对齐画面帧;并在所述画面帧对齐时间戳区间内的第一视频画面帧的最后一帧后设置至少一个所述第一对齐画面帧,作为第一视频画面帧,以使得所述第一画面帧数量等于所述第二画面帧数量;以及
画面帧对齐单元,用于如所述第一画面帧数量等于所述第二画面帧的数量,则对所述第一视频画面帧和所述第二视频画面帧进行画面帧对齐操作。
11.根据权利要求10所述的视频混流装置,其特征在于,所述画面帧数量获取单元用于如当前画面帧对齐时间戳区间之后的画面帧对齐时间戳区间内具有第一视频画面帧和第二视频画面帧,且当前画面帧对齐时间戳区间中同时具有第一视频画面帧和第二视频画面帧;则获取当前画面帧对齐时间戳区间内的所述第一视频画面帧的第一画面帧数量和所述第二视频画面帧的第二画面帧数量。
12.根据权利要求8所述的视频混流装置,其特征在于,
所述第三视频画面帧设置单元,用于如最近的第一视频画面帧对应的画面帧对齐时间戳区间与最近的第二视频画面帧对应的画面帧对齐时间戳区间的间隔大于设定区间数量,则将所述最近的第二视频画面帧作为第二对齐画面帧,并在所述最近的第二视频画面帧之后设置至少一个所述第二对齐画面帧,作为第二视频画面帧,以使得最近的第一视频画面帧对应的画面帧对齐时间戳区间与最近的第二视频画面帧对应的画面帧对齐时间戳区间的间隔小于等于设定区间数量;
所述第四视频画面帧设置单元,用于如最近的第二视频画面帧对应的画面帧对齐时间戳区间与最近的第一视频画面帧对应的画面帧对齐时间戳区间的间隔大于设定区间数量,则将所述最近的第一视频画面帧作为第一对齐画面帧,并在所述最近的第一视频画面帧之后设置至少一个所述的第一对齐画面帧,作为第一视频画面帧,以使得最近的第二视频画面帧对应的画面帧对齐时间戳区间与最近的第一视频画面帧对应的画面帧对齐时间戳区间的间隔小于等于设定区间数量。
13.根据权利要求8所述的视频混流装置,其特征在于,所述对齐时间戳区间确定模块包括:
对齐帧信息获取单元,用于从所述第一视频终端和/或所述第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息;
对齐时间戳确定单元,用于根据所述第一画面帧时间戳以及所述对齐帧信息,确定所述第一视频画面帧的画面帧对齐时间戳区间;根据所述第二画面时间戳以及所述对齐帧信息,确定所述第二视频画面帧的画面帧对齐时间戳区间。
14.根据权利要求13所述的视频混流装置,其特征在于,所述对齐帧信息为第一视频画面的画面帧时间戳以及对应的第二视频画面的画面帧时间戳;或第一视频画面的画面帧时间戳与对应的第二视频画面的画面帧时间戳的时间差信息。
15.一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行如权利要求1-7中任一的视频混流方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810307165.1A CN110213635B (zh) | 2018-04-08 | 2018-04-08 | 视频混流方法、视频混流装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810307165.1A CN110213635B (zh) | 2018-04-08 | 2018-04-08 | 视频混流方法、视频混流装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213635A CN110213635A (zh) | 2019-09-06 |
CN110213635B true CN110213635B (zh) | 2021-11-30 |
Family
ID=67779023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810307165.1A Active CN110213635B (zh) | 2018-04-08 | 2018-04-08 | 视频混流方法、视频混流装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213635B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110636321A (zh) * | 2019-09-30 | 2019-12-31 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、系统、移动终端及存储介质 |
CN110602521B (zh) * | 2019-10-10 | 2020-10-30 | 广州华多网络科技有限公司 | 混画时延的测量方法、系统、计算机可读介质及设备 |
CN110971971B (zh) * | 2019-11-27 | 2022-01-11 | 北京凯视达科技股份有限公司 | 用于播放视频的方法和装置、存储介质、电子设备 |
CN111757144B (zh) * | 2020-04-13 | 2022-03-08 | 湖南化工职业技术学院(湖南工业高级技工学校) | 一种网络计算机多媒体视频播放方法和系统 |
CN113673494B (zh) * | 2021-10-25 | 2022-03-08 | 青岛根尖智能科技有限公司 | 人体姿态标准运动行为匹配方法及系统 |
CN116916094B (zh) * | 2023-09-12 | 2024-01-19 | 联通在线信息科技有限公司 | 一种双视频混流播放方法、播放器及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9137502B2 (en) * | 2004-08-25 | 2015-09-15 | Broadcom Corporation | Method and system for fast digital channel change utilizing time-stamp management |
CN103686312B (zh) * | 2013-12-05 | 2017-02-08 | 中国航空无线电电子研究所 | 一种dvr多路音视频记录方法 |
US20150189128A1 (en) * | 2013-12-27 | 2015-07-02 | Nathaniel D. Naegle | Synchronization of video based on clock adjustment |
CN104363508B (zh) * | 2014-11-21 | 2018-03-23 | 浙江宇视科技有限公司 | 一种防止视频回退的图像拼接方法及装置 |
CN107333164B (zh) * | 2016-04-29 | 2020-05-15 | 北京学而思教育科技有限公司 | 一种图像数据处理方法及装置 |
-
2018
- 2018-04-08 CN CN201810307165.1A patent/CN110213635B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110213635A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213635B (zh) | 视频混流方法、视频混流装置及存储介质 | |
US11943486B2 (en) | Live video broadcast method, live broadcast device and storage medium | |
US11025967B2 (en) | Method for inserting information push into live video streaming, server, and terminal | |
CN110446072B (zh) | 视频流切换方法、电子设备和存储介质 | |
US10271105B2 (en) | Method for playing video, client, and computer storage medium | |
WO2019024257A1 (zh) | 一种视频文件的发布方法及装置 | |
CN106507200B (zh) | 视频播放内容插入方法和系统 | |
US20200145704A1 (en) | Synchronous playback system and synchronous playback method | |
KR20200010926A (ko) | 실시간 라이브 영상과 이벤트의 동기화를 위한 방법과 시스템 및 비-일시적인 컴퓨터 판독 가능한 기록 매체 | |
CN112770168B (zh) | 视频的播放方法以及相关装置、设备 | |
CN110351584B (zh) | 视频混流方法、视频混流装置及存储介质 | |
CN109753262B (zh) | 帧显示处理方法、装置、终端设备及存储介质 | |
CN114584822B (zh) | 一种同步播放方法、装置、终端设备和存储介质 | |
WO2022042398A1 (zh) | 用于确定对象添加方式的方法、装置、电子设备和介质 | |
CN111416994B (zh) | 视频流和跟踪信息的同步呈现的方法、装置及电子设备 | |
CN112926546A (zh) | 一种弹幕的发送方法、装置、设备及可读存储介质 | |
US10582158B2 (en) | Synchronization of media rendering in heterogeneous networking environments | |
CN116708867B (zh) | 一种直播数据处理方法、装置、设备及存储介质 | |
CN108540840B (zh) | 内容输出方法及装置、介质和计算设备 | |
CN109429073B (zh) | 发送多媒体数据、播放多媒体数据的方法、装置及系统 | |
CN116781940A (zh) | 界面交互的方法、装置、设备和存储介质 | |
CN111510787A (zh) | 多媒体剪辑方法、装置、终端及存储介质 | |
CN115052181A (zh) | 分屏健身模式启动方法、装置、显示设备及可读存储介质 | |
CN115052107A (zh) | 拍摄方法、装置、电子设备和介质 | |
CN114584798A (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 |