CN110351584B - 视频混流方法、视频混流装置及存储介质 - Google Patents
视频混流方法、视频混流装置及存储介质 Download PDFInfo
- Publication number
- CN110351584B CN110351584B CN201810307164.7A CN201810307164A CN110351584B CN 110351584 B CN110351584 B CN 110351584B CN 201810307164 A CN201810307164 A CN 201810307164A CN 110351584 B CN110351584 B CN 110351584B
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- picture
- alignment
- video 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/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4122—Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
-
- 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/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- 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/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
技术领域
本发明涉及视频处理领域,特别是涉及一种视频混流方法、视频混流装置及存储介质。
背景技术
随着科技的发展,视频直播应用得到越来越多的用户青睐,其中互动直播为视频直播中的一种重要应用。互动直播中,主播终端和连麦观众终端会进行互联操作,如第三方观众想要看到连麦的场景,则需要对主播终端的视频画面以及连麦观众终端的视频画面进行混流操作。
现有的视频混流方式一般为服务器端对主播终端的视频画面和连麦观众终端的视频画面进行混流操作。这种混流操作不额外增加第三方观众对应终端的宽带资源和计算资源,有利于第三方观众对混流后的视频画面进行观看。
但是主播视频画面和连麦观众视频画面是由两个独立的客户端能生成的,没有一致的参照时间,主播视频画面和连麦观众视频画面的网络耗时不同和互不相关视频的GOP(group of picture,图像群组)大小不同,使得服务器端进行视频画面混流操作时,会遇到主播视频画面和连麦观众视频画面的视频画面对齐问题,即服务器端进行画面混流操作时会出现主播视频画面和连麦观众视频画面的顺序错误,如主播的对话和观众的对话对应不上,这样导致观众无法理解混流操作后的视频画面内容,影响第三方观众对混流后的视频画面的观看。
发明内容
本发明实施例提供一种可对混流视频画面中的主播视频画面和连麦观众视频画面进行自动对齐操作的视频混流方法以及视频混流装置;以解决现有的视频混流方法以及视频混流装置中主播视频画面和连麦观众视频画面的顺序错误,影响第三方观众对混流后的视频画面的观看的技术问题。
本发明实施例提供一种视频混流方法,其包括:
接收视频混流请求,其中所述视频混流请求为对第一视频终端的第一视频画面和第二视频终端的第二视频画面进行视频混流操作的请求;
从所述第一视频终端和/或所述第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息;
从所述第一视频终端获取第一视频画面,从所述第二视频终端获取第二视频画面;
根据所述对齐帧信息,对所述第一视频画面和所述第二视频画面进行画面帧对齐操作;以及
对所述对齐操作后的第一视频画面以及第二视频画面进行视频混流操作。
本发明实施例还提供一种视频混流装置,其包括:
视频混流请求接收模块,用于接收视频混流请求,其中所述视频混流请求为对第一视频终端的第一视频画面和第二视频终端的第二视频画面进行视频混流操作的请求;
对齐帧信息获取模块,用于从所述第一视频终端和/或所述第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息;
视频画面获取模块,用于从所述第一视频终端获取第一视频画面,从所述第二视频终端获取第二视频画面;
画面帧对齐模块,用于根据所述对齐帧信息,对所述第一视频画面和所述第二视频画面进行画面帧对齐操作;以及
视频混流模块,用于对所述对齐操作后的第一视频画面以及第二视频画面进行视频混流操作。
本发明实施例还提供一种计算机可读存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行上述的视频混流方法。
相较于现有技术,本发明的视频混流方法及视频混流装置通过第一视频画面和第二视频画面的对齐帧信息对混流后的视频画面进行对齐操作,避免了第一视频画面和第二视频画面的顺序错误;有效的解决了现有的视频混流方法以及视频混流装置中主播视频画面和连麦观众视频画面的顺序错误,影响第三方观众对混流后的视频画面的观看的技术问题。
附图说明
图1为本发明的视频混流方法的第一实施例的流程图;
图2为本发明的视频混流方法的第一实施例的对齐帧信息的生成流程图;
图3为本发明的视频混流方法的第一实施例的步骤S104的流程图;
图4为本发明的视频混流方法的第二实施例的流程图;
图5为本发明的视频混流方法的第二实施例的步骤S404的流程图;
图6为本发明的视频混流装置的第一实施例的结构示意图;
图7为本发明的视频混流装置的第一实施例的画面帧对齐模块的结构示意图;
图8为本发明的视频混流装置的第二实施例的结构示意图;
图9为本发明的视频混流装置的第二实施例的画面帧对齐模块的结构示意图;
图10为本发明的视频混流方法以及视频混流装置的具体实施例的视频混流过程示意图;
图11为本发明的视频混流方法及视频混流装置的具体实施例的第一视频画面和第二视频画面的对齐操作示意图;
图12为本发明的视频混流装置所在的电子设备的工作环境结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行之作业的步骤及符号来说明,除非另有述明。因此,其将可了解到这些步骤及操作,其中有数次提到为由计算机执行,包括了由代表了以一结构化型式中的数据之电子信号的计算机处理单元所操纵。此操纵转换该数据或将其维持在该计算机之内存系统中的位置处,其可重新配置或另外以本领域技术人员所熟知的方式来改变该计算机之运作。该数据所维持的数据结构为该内存之实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本发明的视频混流方法及视频混流装置可设置在任何的电子设备中,用于根据第一视频画面(如主播视频画面)和第二视频画面(如连麦观众视频画面)生成对应混流视频画面。该电子设备包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。该电子设备优选为进行视频画面混流操作的视频画面处理服务器,该视频画面处理服务器可通过第一视频画面和第二视频画面的对齐帧信息对混流后的视频画面进行对齐操作,避免了第一视频画面和第二视频画面的顺序错误,保证了第三方观众对混流后的视频画面的观看质量。
请参照图1,图1为本发明的视频混流方法的第一实施例的流程图。本实施例的视频混流方法可使用上述的电子设备进行实施,本实施例的视频混流方法包括:
步骤S101,接收视频混流请求,其中视频混流请求为对第一视频终端的第一视频画面和第二视频终端的第二视频画面进行视频混流操作的请求;
步骤S102,从第一视频终端和/或第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息;
步骤S103,从第一视频终端获取第一视频画面,从第二视频终端获取第二视频画面;
步骤S104,根据对齐帧信息,对第一视频画面和第二视频画面进行画面帧对齐操作;
步骤S105,对对齐操作后的第一视频画面以及第二视频画面进行视频混流操作。
下面详细说明本实施例的视频混流方法的各步骤的具体流程。
在步骤S101中,视频混流装置接收视频混流请求,该视频混流请求为对第一视频终端(如主播终端)的第一视频画面(如主播视频画面)和第二视频终端(如连麦观众终端)的第二视频画面(如连麦观众视频画面)进行视频混流操作的请求。该视频混流请求可由第一视频终端发出,也可有第二视频终端,或由第三方观众终端发出均可。
在步骤S102中,视频混流装置从第一视频终端和/第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息。
这里的对齐帧信息为第一视频画面的画面帧的显示时间以及对应的第二视频画面的画面帧的显示时间;或第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差信息。这里的画面帧的显示时间可为对应视频画面的时间戳信息(PTS,Presentation Time Stamp),即该视频画面的当前画面帧与开始画面帧的显示时间差。
由于第一视频终端的用户和第二视频终端的用户至少一个需要同时观看第一视频画面和第二视频画面,因此同时观看第一视频画面和第二视频画面的用户对应的终端(如第一视频终端、第二视频终端等)会控制第一视频画面和第二视频画面的画面帧,使得该用户可以按照第一视频画面和第二视频画面的正确播放顺序理解混流后的视频画面内容。因此该用户对应的终端也可获取此时的第一视频画面的画面帧的显示时间以及第二视频画面的画面帧的显示时间,以作为对齐帧信息;或者该用户对应的终端直接获取第一视频画面的画面帧的显示时间以及第二视频画面的画面帧的显示时间的显示时间差信息,以作为对齐帧信息。
如从第二视频终端获取该对齐帧信息,则请参照图2,图2为本发明的视频混流方法的第一实施例的对齐帧信息的生成流程图。该对齐帧信息生成的流程包括:
步骤S201,第一视频终端将第一视频画面发送至第二视频终端;
步骤S202,第二视频终端展示第一视频画面,并根据第二视频终端用户操作生成第二视频画面;
步骤S203,第二视频终端根据正在展示的第一视频画面的画面帧的显示时间以及正在展示的对应的第二视频画面的画面帧的显示时间,生成第一视频画面和第二视频画面的对齐帧信息。
如第一视频终端同时播放第一视频画面和第二视频画面,则视频混流装置可从第一视频终端获取第一视频画面和第二视频画面的对齐帧信息;如第一视频终端和第二视频终端均同时播放第一视频画面和第二视频画面,则视频混流装置可从第一视频终端和第二视频终端的至少一个中获取第一视频画面和第二视频画面的对齐帧信息。
在步骤S103中,视频混流装置从第一视频终端获取第一视频画面,并从第二视频终端获取第二视频画面。
在步骤S104中,视频混流装置根据步骤S102获取的对齐帧信息,对步骤S103获取的第一视频画面和第二视频画面进行画面帧对齐操作。
具体请参照图3,图3为本发明的视频混流方法的第一实施例的步骤S104的流程图。该步骤S104包括:
步骤S301,视频混流装置设定第一视频画面的第一对齐画面帧。这里的第一对齐画面帧可为第一视频画面的当前画面帧或用户设定的第一视频画面中还未播放的某个画面帧。
步骤S302,视频混流装置根据步骤S102获取的对齐帧信息以及步骤S301设定的第一视频画面的第一对齐画面帧,获取对应的第二视频画面的第一对齐画面帧。
如在步骤S102获取的对齐帧信息为第一视频画面的画面帧的显示时间以及对应的第二视频画面的画面帧的显示时间,则使用上述对齐帧信息计算第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差,并根据该显示时间差获取第二视频画面的第一对齐画面帧。如在步骤S102获取的对齐帧信息为第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差信息,则直接使用上述显示时间差信息获取第二视频画面的第一对齐画面帧。
如第一视频画面的第一对齐画面帧的显示时间为a,第一视频画面的画面帧的显示时间b与对应的第二视频画面的画面帧的显示时间c的显示时间差为c-b,则第二视频画面的第一对齐画面帧的显示时间应大致为a+c-b。
由于第一视频画面和第二视频画面的刷新频率不同,在a+c-b这个显示时间点上,第二视频画面可能没有对应的画面帧,因此这里的第一对齐画面帧的显示时间可能与a+c-b有一定差异,但是应尽可能接近a+c-b。
步骤S303,视频混流装置使用步骤S301设定的第一视频画面的第一对齐画面帧以及步骤S302获取的第二视频画面的第一对齐画面帧进行画面帧对齐操作。
在步骤S105中,视频混流装置对步骤S303中对齐操作后的第一视频画面以及第二视频画面进行视频混流操作。由于视频混流装置通过第一视频画面和第二视频画面的对齐帧信息来对齐第一视频画面和第二视频画面,使得混流操作后的视频画面与第一视频终端和/或第二视频终端上的混流视频画面的效果相同,从而保证了第三方观众观看的混流视频画面的画面质量与第一视频终端和/或第二视频终端上的混流视频画面的画面质量相同。
这样即完成了本实施例的视频混流方法的第一视频画面和第二视频画面的视频混流操作流程。
本实施例的视频混流方法通过第一视频画面和第二视频画面的对齐帧信息对混流后的视频画面进行对齐操作,避免了第一视频画面和第二视频画面的顺序错误。
请参照图4,图4为本发明的视频混流方法的第二实施例的流程图。本实施例的视频混流方法可使用上述的电子设备进行实施,本实施例的视频混流方法包括:
步骤S401,接收视频混流请求,其中视频混流请求为对第一视频终端的第一视频画面和第二视频终端的第二视频画面进行视频混流操作的请求;
步骤S402,从第一视频终端和/或第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息;
步骤S403,从第一视频终端获取第一视频画面,从第二视频终端获取第二视频画面;
步骤S404,根据对齐帧信息,对第一视频画面和第二视频画面进行画面帧对齐操作;
步骤S405,对对齐操作后的第一视频画面以及第二视频画面进行视频混流操作。
本实施例中的步骤S401、步骤S402以及步骤S403与视频混流方法的第一实施例中的步骤S101、步骤S102以及步骤S103中的内容相同或相似,具体请参见视频混流方法的第一实施例中的相关描述。
请参照图5,图5为本发明的视频混流方法的第二实施例的步骤S404的流程图。该步骤S404包括:
步骤S501,视频混流装置设定第一视频画面的第一对齐画面帧,这里的第一对齐画面帧可为第一视频画面的当前画面帧或用户设定的第一视频画面中还未播放的某个画面帧。
步骤S502,视频混流装置根据步骤S402获取的对齐帧信息以及步骤S501设定的第一视频画面的第一对齐画面帧,获取对应的第二视频画面的第一对齐画面帧。
如在步骤S402获取的对齐帧信息为第一视频画面的画面帧的显示时间以及对应的第二视频画面的画面帧的显示时间,则使用上述对齐帧信息计算第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差,并根据该显示时间差获取第二视频画面的第一对齐画面帧。如在步骤S402获取的对齐帧信息为第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差信息,则直接使用上述显示时间差信息获取第二视频画面的第一对齐画面帧。
如第一视频画面的第一对齐画面帧的显示时间为a,第一视频画面的画面帧的显示时间b与对应的第二视频画面的画面帧的显示时间c的显示时间差为c-b,则第二视频画面的第一对齐画面帧的显示时间应大致为a+c-b。
由于第一视频画面和第二视频画面的刷新频率不同,在a+c-b这个显示时间点上,第二视频画面可能没有对应的画面帧,因此这里的第一对齐画面帧的显示时间可能与a+c-b有一定差异,但是应尽可能接近a+c-b。
步骤S503,判断是否获取到对应的第二视频画面的第一对齐画面帧;如获取到第二视频画面的第一对齐画面帧,则转到步骤S504;如未获取到第二视频画面的第一对齐画面帧,则转到步骤S505。
步骤S504,如获取到第二视频画面的第一对齐画面帧,视频混流装置使用步骤S501设定的第一视频画面的第一对齐画面帧以及步骤S502获取的第二视频画面的第一对齐画面帧进行画面帧对齐操作。
步骤S505,如未获取到第二视频画面的第一对齐画面帧,则说明第二视频画面的第一对齐画面帧已经播放完毕,丢失了。因此视频混流装置设定第二视频画面的第二对齐画面帧,这里的第二对齐画面帧可为第二视频画面的当前画面帧或用户设定的第二视频画面中还未播放的某个画面帧。
步骤S506,视频混流装置根据步骤S402获取的对齐帧信息以及步骤S505设定的第二视频画面的第二对齐画面帧,获取对应的第一视频画面的第二对齐画面帧。
如在步骤S402获取的对齐帧信息为第一视频画面的画面帧的显示时间以及对应的第二视频画面的画面帧的显示时间,则使用上述对齐帧信息计算第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差,并根据该显示时间差获取第一视频画面的第二对齐画面帧。如在步骤S402获取的对齐帧信息为第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差信息,则直接使用上述显示时间差信息获取第一视频画面的第二对齐画面帧。
如第二视频画面的第二对齐画面帧的显示时间为d,第一视频画面的画面帧的显示时间b与对应的第二视频画面的画面帧的显示时间c的显示时间差为c-b。则第一视频画面的第二对齐画面帧的显示时间应大致为d-c+b。
由于第一视频画面和第二视频画面的刷新频率不同,在d-c+b这个显示时间点上,第一视频画面可能没有对应的画面帧,因此这里的第二对齐画面帧的显示时间可能与d-c+b有一定差异,但是应尽可能接近d-c+b。
步骤S507,视频混流装置使用步骤S506获取的第一视频画面的第二对齐画面帧以及步骤S505设定的第二视频画面的第二对齐画面帧进行画面帧对齐操作。
本实施例中的步骤S405与视频混流方法的第一实施例中的步骤S405中的内容相同或相似,具体请参见视频混流方法的第一实施例中的相关描述。
这样即完成了本实施例的视频混流方法的第一视频画面和第二视频画面的视频混流操作流程。
在第一实施例的基础上,本实施例的视频混流方法可针对对齐帧信息的不同,采用不同的方式对第一视频画面和第二视频画面进行画面帧对齐操作,进一步提高了本实施例的视频混流方法的视频混流操作效率。
本发明还提供一种视频混流装置,请参照图6,图6为本发明的视频混流装置的第一实施例的结构示意图。本实施例的视频混流装置可使用上述的视频混流方法的第一实施例进行实施,本实施例的视频混流装置60包括视频混流请求接收模块61、对齐帧信息获取模块62、视频画面获取模块63、画面帧对齐模块64以及视频混流模块65。
视频混流请求接收模块61用于接收视频混流请求,其中视频混流请求为对第一视频终端的第一视频画面和第二视频终端的第二视频画面进行视频混流操作的请求;对齐帧信息获取模块62用于从第一视频终端和/或第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息;视频画面获取模块63用于从第一视频终端获取第一视频画面,从第二视频终端获取第二视频画面;画面帧对齐模块64用于根据对齐帧信息,对第一视频画面和第二视频画面进行画面帧对齐操作;视频混流模块65用于对对齐操作后的第一视频画面以及第二视频画面进行视频混流操作。
请参照图7,图7为本发明的视频混流装置的第一实施例的画面帧对齐模块的结构示意图。该画面帧对齐模块64包括第一对齐画面帧设定单元71、第一对齐画面帧获取单元72以及第一画面帧对齐单元73。
第一对齐画面帧设定单元71用于设定第一视频画面的第一对齐画面帧;第一对齐画面帧获取单元72用于根据对齐帧信息以及第一视频画面的第一对齐画面帧,获取对应的第二视频画面的第一对齐画面帧;第一画面帧对齐单元73用于使用第一视频画面的第一对齐画面帧和第二视频画面的第一对齐画面帧进行画面帧对齐操作。
本实施例的视频混流装置60使用时,首先视频混流请求接收模块61接收视频混流请求,该视频混流请求为对第一视频终端(如主播终端)的第一视频画面(如主播视频画面)和第二视频终端(如连麦观众终端)的第二视频画面(如连麦观众视频画面)进行视频混流操作的请求。该视频混流请求可由第一视频终端发出,也可有第二视频终端,或由第三方观众终端发出均可。
随后对齐帧信息获取模块62从第一视频终端和/第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息。
这里的对齐帧信息为第一视频画面的画面帧的显示时间以及对应的第二视频画面的画面帧的显示时间;或第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差信息。这里的画面帧的显示时间可为对应视频画面的时间戳信息(PTS,Presentation Time Stamp),即该视频画面的当前画面帧与开始画面帧的显示时间差。
由于第一视频终端的用户和第二视频终端的用户至少一个需要同时观看第一视频画面和第二视频画面,因此同时观看第一视频画面和第二视频画面的用户对应的终端(如第一视频终端、第二视频终端等)会控制第一视频画面和第二视频画面的画面帧,使得该用户可以按照第一视频画面和第二视频画面的正确播放顺序理解混流后的视频画面内容。因此该用户对应的终端也可获取此时的第一视频画面的画面帧的显示时间以及第二视频画面的画面帧的显示时间,以作为对齐帧信息;或者该用户对应的终端直接获取第一视频画面的画面帧的显示时间以及第二视频画面的画面帧的显示时间的显示时间差信息,以作为对齐帧信息。
如从第二视频终端获取该对齐帧信息,该对齐帧信息生成的流程包括:
第一视频终端将第一视频画面发送至第二视频终端;
第二视频终端展示第一视频画面,并根据第二视频终端用户操作生成第二视频画面;
第二视频终端根据正在展示的第一视频画面的画面帧的显示时间以及正在展示的对应的第二视频画面的画面帧的显示时间,生成第一视频画面和第二视频画面的对齐帧信息。
如第一视频终端同时播放第一视频画面和第二视频画面,则视频混流装置可从第一视频终端获取第一视频画面和第二视频画面的对齐帧信息;如第一视频终端和第二视频终端均同时播放第一视频画面和第二视频画面,则视频混流装置可从第一视频终端和第二视频终端的至少一个中获取第一视频画面和第二视频画面的对齐帧信息。
然后视频画面获取模块63从第一视频终端获取第一视频画面,并从第二视频终端获取第二视频画面。
随后画面帧对齐模块64根据对齐帧信息获取模块获取的对齐帧信息,对视频画面获取模块获取的第一视频画面和第二视频画面进行画面帧对齐操作。
具体包括:
画面帧对齐模块64的第一对齐画面帧设定单元71设定第一视频画面的第一对齐画面帧。这里的第一对齐画面帧可为第一视频画面的当前画面帧或用户设定的第一视频画面中还未播放的某个画面帧。
画面帧对齐模块64的第一对齐画面帧获取单元72根据对齐帧信息获取模块获取的对齐帧信息以及第一对齐画面帧设定单元设定的第一视频画面的第一对齐画面帧,获取对应的第二视频画面的第一对齐画面帧。
如对齐帧信息获取模块62获取的对齐帧信息为第一视频画面的画面帧的显示时间以及对应的第二视频画面的画面帧的显示时间,则第一对齐画面帧获取单元72使用上述对齐帧信息计算第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差,并根据该显示时间差获取第二视频画面的第一对齐画面帧。如对齐帧信息获取模块62获取的对齐帧信息为第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差信息,则第一对齐画面帧获取单元72直接使用上述显示时间差信息获取第二视频画面的第一对齐画面帧。
如第一视频画面的第一对齐画面帧的显示时间为a,第一视频画面的画面帧的显示时间b与对应的第二视频画面的画面帧的显示时间c的显示时间差为c-b,则第二视频画面的第一对齐画面帧的显示时间应大致为a+c-b。
由于第一视频画面和第二视频画面的刷新频率不同,在a+c-b这个显示时间点上,第二视频画面可能没有对应的画面帧,因此这里的第一对齐画面帧的显示时间可能与a+c-b有一定差异,但是应尽可能接近a+c-b。
画面帧对齐模块64的第一画面帧对齐单元73使用第一对齐画面帧设定单元71设定的第一视频画面的第一对齐画面帧以及第一对齐画面帧获取单元72获取的第二视频画面的第一对齐画面帧进行画面帧对齐操作。
最后视频混流模块65对对齐操作后的第一视频画面以及第二视频画面进行视频混流操作。由于视频混流装置60通过第一视频画面和第二视频画面的对齐帧信息来对齐第一视频画面和第二视频画面,使得混流操作后的视频画面与第一视频终端和/或第二视频终端上的混流视频画面的效果相同,从而保证了第三方观众观看的混流视频画面的画面质量与第一视频终端和/或第二视频终端上的混流视频画面的画面质量相同。
这样即完成了本实施例的视频混流装置60的第一视频画面和第二视频画面的视频混流操作流程。
本实施例的视频混流装置通过第一视频画面和第二视频画面的对齐帧信息对混流后的视频画面进行对齐操作,避免了第一视频画面和第二视频画面的顺序错误。
请参照图8,图8为本发明的视频混流装置的第二实施例的结构示意图。本实施例的视频混流装置可使用上述的视频混流方法的第二实施例进行实施,本实施例的视频换流装置80包括视频混流请求接收模块81、对齐帧信息获取模块82、视频画面获取模块83、画面帧对齐模块84以及视频混流模块85。
视频混流请求接收模块81用于接收视频混流请求,其中视频混流请求为对第一视频终端的第一视频画面和第二视频终端的第二视频画面进行视频混流操作的请求;对齐帧信息获取模块82用于从第一视频终端和/或第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息;视频画面获取模块83用于从第一视频终端获取第一视频画面,从第二视频终端获取第二视频画面;画面帧对齐模块84用于根据对齐帧信息,对第一视频画面和第二视频画面进行画面帧对齐操作;视频混流模块85用于对对齐操作后的第一视频画面以及第二视频画面进行视频混流操作。
请参照图9,图9为本发明的视频混流装置的第二实施例的画面帧对齐模块的结构示意图。该画面帧对齐模块84包括第一对齐画面帧设定单元91、第一对齐画面帧获取单元92、第一画面帧对齐单元93、第二对齐画面帧设定单元94、第二对齐画面帧获取单元95以及第二画面帧对齐单元96。
第一对齐画面帧设定单元91用于设定第一视频画面的第一对齐画面帧;第一对齐画面帧获取单元92用于根据对齐帧信息以及第一视频画面的第一对齐画面帧,获取对应的第二视频画面的第一对齐画面帧;第一画面帧对齐单元93用于使用第一视频画面的第一对齐画面帧和第二视频画面的第一对齐画面帧进行画面帧对齐操作;第二对齐画面帧设定单元94用于如根据对齐帧信息以及第一视频画面的第一对齐画面帧,无法获取到对应的第二视频画面的第一对齐画面帧;则设定第二视频画面的第二对齐画面帧;第二对齐画面帧获取单元95用于根据对齐帧信息以及第二视频画面的第二对齐画面帧,获取对应的第一视频画面的第二对齐画面帧;第二画面帧对齐单元96用于使用第一视频画面的第二对齐画面帧和第二视频画面的第二对齐画面帧进行画面帧对齐操作。
本实施例的视频混流装置80使用时,首先视频混流请求接收模块81接收视频混流请求,该视频混流请求为对第一视频终端的第一视频画面和第二视频终端的第二视频画面进行视频混流操作的请求。
随后对齐帧信息获取模块82从第一视频终端和/第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息。
这里的对齐帧信息为第一视频画面的画面帧的显示时间以及对应的第二视频画面的画面帧的显示时间;或第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差信息。
然后视频画面获取模块83从第一视频终端获取第一视频画面,并从第二视频终端获取第二视频画面。
随后画面帧对齐模块84根据对齐帧信息获取模块获取的对齐帧信息,对视频画面获取模块获取的第一视频画面和第二视频画面进行画面帧对齐操作。
具体包括:画面帧对齐模块84的第一对齐画面帧设定单元91设定第一视频画面的第一对齐画面帧,这里的第一对齐画面帧可为第一视频画面的当前画面帧或用户设定的第一视频画面中还未播放的某个画面帧。
画面帧对齐模块84的第一对齐画面帧获取单元92根据对齐帧信息获取模块82获取的对齐帧信息以及第一对齐画面帧设定单元设定的第一视频画面的第一对齐画面帧,获取对应的第二视频画面的第一对齐画面帧。
如对齐帧信息获取模块82获取的对齐帧信息为第一视频画面的画面帧的显示时间以及对应的第二视频画面的画面帧的显示时间,则第一对齐画面帧获取单元92使用上述对齐帧信息计算第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差,并根据该显示时间差获取第二视频画面的第一对齐画面帧。如对齐帧信息获取模块82获取的对齐帧信息为第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差信息,则第一对齐画面帧获取单元92直接使用上述显示时间差信息获取第二视频画面的第一对齐画面帧。
如第一视频画面的第一对齐画面帧的显示时间为a,第一视频画面的画面帧的显示时间b与对应的第二视频画面的画面帧的显示时间c的显示时间差为c-b,则第二视频画面的第一对齐画面帧的显示时间应大致为a+c-b。
由于第一视频画面和第二视频画面的刷新频率不同,在a+c-b这个显示时间点上,第二视频画面可能没有对应的画面帧,因此这里的第一对齐画面帧的显示时间可能与a+c-b有一定差异,但是应尽可能接近a+c-b。
画面帧对齐模块84判断是否获取到对应的第二视频画面的第一对齐画面帧;
如获取到第二视频画面的第一对齐画面帧,画面帧对齐模块84的第一画面帧对齐单元93使用第一对齐画面帧设定单元91设定的第一视频画面的第一对齐画面帧以及第一对齐画面帧获取单元92获取的第二视频画面的第一对齐画面帧进行画面帧对齐操作。
如未获取到第二视频画面的第一对齐画面帧,则说明第二视频画面的第一对齐画面帧已经播放完毕,丢失了。因此画面帧对齐模块84的第二对齐画面帧设定单元94设定第二视频画面的第二对齐画面帧,这里的第二对齐画面帧可为第二视频画面的当前画面帧或用户设定的第二视频画面中还未播放的某个画面帧。
画面帧对齐模块84的第二对齐画面帧获取单元95根据对齐帧信息获取模块82获取的对齐帧信息以及第二对齐画面帧设定单元94设定的第二视频画面的第二对齐画面帧,获取对应的第一视频画面的第二对齐画面帧。
如对齐帧信息获取模块82获取的对齐帧信息为第一视频画面的画面帧的显示时间以及对应的第二视频画面的画面帧的显示时间,则第二对齐画面帧获取单元95使用上述对齐帧信息计算第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差,并根据该显示时间差获取第一视频画面的第二对齐画面帧。如对齐帧信息获取模块82获取的对齐帧信息为第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差信息,则第二对齐画面帧获取单元95直接使用上述显示时间差信息获取第一视频画面的第二对齐画面帧。
如第二视频画面的第二对齐画面帧的显示时间为d,第一视频画面的画面帧的显示时间b与对应的第二视频画面的画面帧的显示时间c的显示时间差为c-b。则第一视频画面的第二对齐画面帧的显示时间应大致为d-c+b。
由于第一视频画面和第二视频画面的刷新频率不同,在d-c+b这个显示时间点上,第一视频画面可能没有对应的画面帧,因此这里的第二对齐画面帧的显示时间可能与d-c+b有一定差异,但是应尽可能接近d-c+b。
画面帧对齐模块84的第二画面帧对齐单元96使用第二对齐画面帧获取单元94获取的第一视频画面的第二对齐画面帧以及第二对齐画面帧设定单元95设定的第二视频画面的第二对齐画面帧进行画面帧对齐操作。
最后视频混流模块85对对齐操作后的第一视频画面以及第二视频画面进行视频混流操作。由于视频混流装置80通过第一视频画面和第二视频画面的对齐帧信息来对齐第一视频画面和第二视频画面,使得混流操作后的视频画面与第一视频终端和/或第二视频终端上的混流视频画面的效果相同,从而保证了第三方观众观看的混流视频画面的画面质量与第一视频终端和/或第二视频终端上的混流视频画面的画面质量相同。
这样即完成了本实施例的视频混流装置80的第一视频画面和第二视频画面的视频混流操作流程。
在第一实施例的基础上,本实施例的视频混流装置可针对对齐帧信息的不同,采用不同的方式对第一视频画面和第二视频画面进行画面帧对齐操作,进一步提高了本实施例的视频混流方法的视频混流操作效率。
下面通过一具体实施例说明本发明的视频混流方法及视频混流装置的工作原理。
请参照图10和图11,图10为本发明的视频混流方法以及视频混流装置的具体实施例的视频混流过程示意图;图11为本发明的视频混流方法及视频混流装置的具体实施例的第一视频画面和第二视频画面的对齐操作示意图。
在本具体实施例中,视频混流装置为直播平台的视频画面处理服务器,该视频画面处理服务器对主播终端的主播视频画面(第一视频画面)以及连麦观众终端的连麦观众视频画面(第二视频画面)进行视频混流操作,并将视频混流操作后的视频画面发送至第三方观众终端,以供第三方观众观看该混流操作后的视频画面。这里主播终端通过主播视频推流接入服务器将主播视频画面发送至连麦观众终端以及视频画面处理服务器,连麦观众终端通过连麦观众视频推流接入服务器将连麦观众视频画面发送至主播终端以及视频画面处理服务器。该视频混流过程包括:
步骤S1001,主播开始直播,主播终端将主播视频画面推送至主播视频推流接入服务器;
步骤S1002,连麦观众可通过连麦观众终端从主播视频推流接入服务器观看主播视频画面;
步骤S1003,连麦观众提出连麦申请,通过连麦观众终端将连麦观众视频画面推送至连麦观众推流接入服务器;
步骤S1004,主播接收并同意连麦申请后,通过主播终端从连麦观众视频推流接入服务器观看连麦观众视频画面;
步骤S1005,由于主播终端需要根据连麦观众视频画面中的内容来生成主播视频画面,如主播与连麦观众进行交互等。
因此主播终端可对连麦观众视频画面和主播视频画面进行混流操作,同时获取连麦观众视频画面和主播视频画面的对齐帧信息,如主播视频画面的画面帧的显示时间(PTS,Presentation Time Stamp)以及对应的连麦观众视频画面的画面帧的显示时间,如图11中的主播视频画面的画面帧的显示时间T1以及连麦观众视频画面的画面帧的显示时间T2;并将上述对齐帧信息发送至视频画面处理服务器。
步骤S1006,视频画面处理服务器接收上述对齐帧信息,然后从连麦观众视频推流接入服务器接收连麦观众视频画面,从主播视频推流接入服务器接收主播视频画面。这里主播视频画面相对连麦观众视频画面产生了三帧画面的时延。
随后视频画面处理服务器对连麦观众视频画面以及主播视频画面进行画面帧对齐操作,这里可获取主播终端的主播视频画面的第一对齐画面帧(如当前画面帧),该主播视频画面的第一对齐画面帧的显示时间为Tx,然后计算对应的连麦观众视频画面的第一对齐画面帧的显示时间大致为Tx+T2-T1。
然后视频画面处理服务器从连麦观众视频画面中查找显示时间小于等于Tx+T2-T1,且最接近该Tx+T2-T1的第一对齐画面帧。如查找到该连麦观众视频画面的第一对齐画面帧,则视频画面处理服务器使用连麦观众视频画面的第一对齐画面帧和主播视频画面的第一对齐画面帧进行画面帧对齐操作。
如未查找到该连麦观众视频画面的第一对齐画面帧,如连麦观众视频画面的第一对齐画面帧已经播放完毕,丢失了(如图11所示)。则视频画面处理服务器可获取连麦观众终端的连麦观众视频画面的第二对齐画面帧(如当前画面帧),该连麦观众视频画面的第二对齐画面帧的显示时间Ty,然后计算对应的主播画面的第二对齐画面帧的显示时间大致为Ty-T2+T1。视频画面处理服务器从主播画面中查找显示时间小于等于Ty-T2+T1,且最接近该Ty-T2+T1的第二对齐画面帧,并且视频画面处理服务器使用连麦观众视频画面的第二对齐画面帧和主播视频画面的第二对齐画面帧进行画面帧对齐操作。
步骤S1007,视频画面处理服务器对对齐操作后的连麦观众视频画面以及主播视频画面进行视频混流操作,并把混流操作后的视频画面通过直播平台发送至第三方观众终端进行观看。
这样视频画面处理服务器视频混流操作后输出的视频画面与主播终端上的混流操作后的视频画面的效果相同,从而保证了第三方观众观看的混流视频画面的画面质量。同时由于音频帧与画面帧的显示时间是强相关性的,这里也可以将连麦观众视频画面以及主播视频画面对应的音频帧进行音频混流操作,从而得到混流操作后的音频流。
这样即完成了本具体实施例的视频混流方法及视频混流装置的连麦观众视频画面以及主播视频画面的视频混流过程。
本发明的视频混流方法及视频混流装置通过第一视频画面和第二视频画面的对齐帧信息对混流后的视频画面进行对齐操作,避免了第一视频画面和第二视频画面的顺序错误;有效的解决了现有的视频混流方法以及视频混流装置中主播视频画面和连麦观众视频画面的顺序错误,影响第三方观众对混流后的视频画面的观看的技术问题。
如本申请所使用的术语“组件”、“模块”、“系统”、“接口”、“进程”等等一般地旨在指计算机相关实体:硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序和/或计算机。通过图示,运行在控制器上的应用和该控制器二者都可以是组件。一个或多个组件可以有在于执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
图12和随后的讨论提供了对实现本发明所述的视频混流装置所在的电子设备的工作环境的简短、概括的描述。图12的工作环境仅仅是适当的工作环境的一个实例并且不旨在建议关于工作环境的用途或功能的范围的任何限制。实例电子设备1212包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。
尽管没有要求,但是在“计算机可读指令”被一个或多个电子设备执行的通用背景下描述实施例。计算机可读指令可以经由计算机可读介质来分布(下文讨论)。计算机可读指令可以实现为程序模块,比如执行特定任务或实现特定抽象数据类型的功能、对象、应用编程接口(API)、数据结构等等。典型地,该计算机可读指令的功能可以在各种环境中随意组合或分布。
图12图示了包括本发明的视频混流装置中的一个或多个实施例的电子设备1212的实例。在一种配置中,电子设备1212包括至少一个处理单元1216和存储器1218。根据电子设备的确切配置和类型,存储器1218可以是易失性的(比如RAM)、非易失性的(比如ROM、闪存等)或二者的某种组合。该配置在图12中由虚线1214图示。
在其他实施例中,电子设备1212可以包括附加特征和/或功能。例如,设备1212还可以包括附加的存储装置(例如可移除和/或不可移除的),其包括但不限于磁存储装置、光存储装置等等。这种附加存储装置在图12中由存储装置1220图示。在一个实施例中,用于实现本文所提供的一个或多个实施例的计算机可读指令可以在存储装置1220中。存储装置1220还可以存储用于实现操作系统、应用程序等的其他计算机可读指令。计算机可读指令可以载入存储器1218中由例如处理单元1216执行。
本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器1218和存储装置1220是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可以用于存储期望信息并可以被电子设备1212访问的任何其他介质。任意这样的计算机存储介质可以是电子设备1212的一部分。
电子设备1212还可以包括允许电子设备1212与其他设备通信的通信连接1226。通信连接1226可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器、红外端口、USB连接或用于将电子设备1212连接到其他电子设备的其他接口。通信连接1226可以包括有线连接或无线连接。通信连接1226可以发射和/或接收通信媒体。
术语“计算机可读介质”可以包括通信介质。通信介质典型地包含计算机可读指令或诸如载波或其他传输机构之类的“己调制数据信号”中的其他数据,并且包括任何信息递送介质。术语“己调制数据信号”可以包括这样的信号:该信号特性中的一个或多个按照将信息编码到信号中的方式来设置或改变。
电子设备1212可以包括输入设备1224,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其他输入设备。设备1212中也可以包括输出设备1222,比如一个或多个显示器、扬声器、打印机和/或任意其他输出设备。输入设备1224和输出设备1222可以经由有线连接、无线连接或其任意组合连接到电子设备1212。在一个实施例中,来自另一个电子设备的输入设备或输出设备可以被用作电子设备1212的输入设备1224或输出设备1222。
电子设备1212的组件可以通过各种互连(比如总线)连接。这样的互连可以包括外围组件互连(PCI)(比如快速PCI)、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等等。在另一个实施例中,电子设备1212的组件可以通过网络互连。例如,存储器1218可以由位于不同物理位置中的、通过网络互连的多个物理存储器单元构成。
本领域技术人员将认识到,用于存储计算机可读指令的存储设备可以跨越网络分布。例如,可经由网络1228访问的电子设备1230可以存储用于实现本发明所提供的一个或多个实施例的计算机可读指令。电子设备1212可以访问电子设备1230并且下载计算机可读指令的一部分或所有以供执行。可替代地,电子设备1212可以按需要下载多条计算机可读指令,或者一些指令可以在电子设备1212处执行并且一些指令可以在电子设备1230处执行。
本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。
而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。
综上所述,虽然本发明已以实施例揭露如上,实施例前的序号仅为描述方便而使用,对本发明各实施例的顺序不造成限制。并且,上述实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
Claims (11)
1.一种视频混流方法,其特征在于,包括:
接收视频混流请求,其中所述视频混流请求为对第一视频终端的第一视频画面和第二视频终端的第二视频画面进行视频混流操作的请求;
从所述第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息;其中所述第二视频终端控制所述第一视频画面和所述第二视频画面的画面帧,生成所述对齐帧信息,使得所述第二视频终端用户按照第一视频画面和第二视频画面的正确播放顺序理解混流后的视频画面内容;
从所述第一视频终端获取第一视频画面,从所述第二视频终端获取第二视频画面;
根据所述对齐帧信息,对所述第一视频画面和所述第二视频画面进行画面帧对齐操作;以及
对所述对齐操作后的第一视频画面以及第二视频画面进行视频混流操作;
其中所述对齐帧信息通过以下步骤生成:
所述第一视频终端将所述第一视频画面发送至所述第二视频终端;
所述第二视频终端展示所述第一视频画面,并根据第二视频终端用户操作生成所述第二视频画面;以及
所述第二视频终端根据正在展示的第一视频画面的画面帧的显示时间以及正在展示的对应的第二视频画面的画面帧的显示时间,生成第一视频画面和第二视频画面的对齐帧信息;其中所述对齐帧信息为第一视频画面的画面帧的显示时间以及对应的第二视频画面的画面帧的显示时间;或第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差信息。
2.根据权利要求1所述的视频混流方法,其特征在于,所述根据所述对齐帧信息,对所述第一视频画面和所述第二视频画面进行画面帧对齐操作的步骤包括:
设定所述第一视频画面的第一对齐画面帧;
根据所述对齐帧信息以及所述第一视频画面的第一对齐画面帧,获取对应的第二视频画面的第一对齐画面帧;以及
使用所述第一视频画面的第一对齐画面帧和所述第二视频画面的第一对齐画面帧进行画面帧对齐操作。
3.根据权利要求2所述的视频混流方法,其特征在于,所述第一视频画面的第一对齐画面帧为所述第一视频画面的当前画面帧。
4.根据权利要求2所述的视频混流方法,其特征在于,所述根据所述对齐帧信息,对所述第一视频画面和所述第二视频画面进行画面帧对齐操作的步骤还包括:
如根据所述对齐帧信息以及所述第一视频画面的第一对齐画面帧,无法获取到对应的第二视频画面的第一对齐画面帧;则设定所述第二视频画面的第二对齐画面帧;
根据所述对齐帧信息以及所述第二视频画面的第二对齐画面帧,获取对应的第一视频画面的第二对齐画面帧;以及
使用所述第一视频画面的第二对齐画面帧和所述第二视频画面的第二对齐画面帧进行画面帧对齐操作。
5.根据权利要求4所述的视频混流方法,其特征在于,所述第二视频画面的第二对齐画面帧为所述第二视频画面的当前画面帧。
6.一种视频混流装置,其特征在于,包括:
视频混流请求接收模块,用于接收视频混流请求,其中所述视频混流请求为对第一视频终端的第一视频画面和第二视频终端的第二视频画面进行视频混流操作的请求;
对齐帧信息获取模块,用于从所述第二视频终端,获取第一视频画面和第二视频画面的对齐帧信息;其中所述第二视频终端控制所述第一视频画面和所述第二视频画面的画面帧,生成所述对齐帧信息,使得所述第二视频终端用户按照第一视频画面和第二视频画面的正确播放顺序理解混流后的视频画面内容;
视频画面获取模块,用于从所述第一视频终端获取第一视频画面,从所述第二视频终端获取第二视频画面;
画面帧对齐模块,用于根据所述对齐帧信息,对所述第一视频画面和所述第二视频画面进行画面帧对齐操作;以及
视频混流模块,用于对所述对齐操作后的第一视频画面以及第二视频画面进行视频混流操作;
所述对齐帧信息通过以下步骤生成:
所述第一视频终端将所述第一视频画面发送至所述第二视频终端;
所述第二视频终端展示所述第一视频画面,并根据第二视频终端用户操作生成所述第二视频画面;以及
所述第二视频终端根据正在展示的第一视频画面的画面帧的显示时间以及正在展示的对应的第二视频画面的画面帧的显示时间,生成第一视频画面和第二视频画面的对齐帧信息;其中所述对齐帧信息为第一视频画面的画面帧的显示时间以及对应的第二视频画面的画面帧的显示时间;或第一视频画面的画面帧的显示时间与对应的第二视频画面的画面帧的显示时间的显示时间差信息。
7.根据权利要求6所述的视频混流装置,其特征在于,所述画面帧对齐模块包括:
第一对齐画面帧设定单元,用于设定所述第一视频画面的第一对齐画面帧;
第一对齐画面帧获取单元,用于根据所述对齐帧信息以及所述第一视频画面的第一对齐画面帧,获取对应的第二视频画面的第一对齐画面帧;以及
第一画面帧对齐单元,用于使用所述第一视频画面的第一对齐画面帧和所述第二视频画面的第一对齐画面帧进行画面帧对齐操作。
8.根据权利要求7所述的视频混流装置,其特征在于,所述第一视频画面的第一对齐画面帧为所述第一视频画面的当前画面帧。
9.根据权利要求7所述的视频混流装置,其特征在于,所述画面帧对齐模块还包括:
第二对齐画面帧设定单元,用于如根据所述对齐帧信息以及所述第一视频画面的第一对齐画面帧,无法获取到对应的第二视频画面的第一对齐画面帧;则设定所述第二视频画面的第二对齐画面帧;
第二对齐画面帧获取单元,用于根据所述对齐帧信息以及所述第二视频画面的第二对齐画面帧,获取对应的第一视频画面的第二对齐画面帧;以及
第二画面帧对齐单元,用于使用所述第一视频画面的第二对齐画面帧和所述第二视频画面的第二对齐画面帧进行画面帧对齐操作。
10.根据权利要求9所述的视频混流装置,其特征在于,所述第二视频画面的第二对齐画面帧为所述第二视频画面的当前画面帧。
11.一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行如权利要求1-5中任一所述的视频混流方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810307164.7A CN110351584B (zh) | 2018-04-08 | 2018-04-08 | 视频混流方法、视频混流装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810307164.7A CN110351584B (zh) | 2018-04-08 | 2018-04-08 | 视频混流方法、视频混流装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110351584A CN110351584A (zh) | 2019-10-18 |
CN110351584B true CN110351584B (zh) | 2022-04-05 |
Family
ID=68173245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810307164.7A Active CN110351584B (zh) | 2018-04-08 | 2018-04-08 | 视频混流方法、视频混流装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110351584B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111228796A (zh) * | 2020-01-17 | 2020-06-05 | 深圳市乐唯科技开发有限公司 | 一种音视频实时互动的方法与系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049912A (zh) * | 2015-08-07 | 2015-11-11 | 虎扑(上海)文化传播股份有限公司 | 一种视频信号的处理方法及电子设备 |
CN105491393A (zh) * | 2015-12-02 | 2016-04-13 | 北京暴风科技股份有限公司 | 多人视频直播业务的实现方法 |
CN106921866A (zh) * | 2017-05-03 | 2017-07-04 | 广州华多网络科技有限公司 | 辅助直播的多视频导播方法和设备 |
CN107211078A (zh) * | 2015-01-23 | 2017-09-26 | 瑞典爱立信有限公司 | 基于vlc的视频帧同步 |
CN107682715A (zh) * | 2016-08-01 | 2018-02-09 | 腾讯科技(深圳)有限公司 | 视频同步方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9560312B2 (en) * | 2013-12-11 | 2017-01-31 | Cellco Partnership | Time synchronization of video and data inside a mobile device |
CN106105246B (zh) * | 2016-06-24 | 2019-10-15 | 北京小米移动软件有限公司 | 直播显示方法、装置及系统 |
CN107333162B (zh) * | 2017-06-26 | 2020-08-11 | 广州华多网络科技有限公司 | 一种播放直播视频的方法和装置 |
-
2018
- 2018-04-08 CN CN201810307164.7A patent/CN110351584B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107211078A (zh) * | 2015-01-23 | 2017-09-26 | 瑞典爱立信有限公司 | 基于vlc的视频帧同步 |
CN105049912A (zh) * | 2015-08-07 | 2015-11-11 | 虎扑(上海)文化传播股份有限公司 | 一种视频信号的处理方法及电子设备 |
CN105491393A (zh) * | 2015-12-02 | 2016-04-13 | 北京暴风科技股份有限公司 | 多人视频直播业务的实现方法 |
CN107682715A (zh) * | 2016-08-01 | 2018-02-09 | 腾讯科技(深圳)有限公司 | 视频同步方法及装置 |
CN106921866A (zh) * | 2017-05-03 | 2017-07-04 | 广州华多网络科技有限公司 | 辅助直播的多视频导播方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110351584A (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213635B (zh) | 视频混流方法、视频混流装置及存储介质 | |
US11943486B2 (en) | Live video broadcast method, live broadcast device and storage medium | |
EP3562163B1 (en) | Audio-video synthesis method and system | |
KR101467430B1 (ko) | 클라우드 컴퓨팅 기반 어플리케이션 제공 방법 및 시스템 | |
US11025967B2 (en) | Method for inserting information push into live video streaming, server, and terminal | |
CN113411642B (zh) | 投屏方法、装置、电子设备和存储介质 | |
WO2020233142A1 (zh) | 多媒体文件播放方法、装置、电子设备和存储介质 | |
KR20150014722A (ko) | 스크린 샷을 제공하는 장치 및 시스템, 그리고 방법 | |
EP2953055A1 (en) | Two-dimensional code processing method and terminal | |
RU2673560C1 (ru) | Способ и система воспроизведения мультимедийной информации, стандартизированный сервер и терминал прямой трансляции | |
WO2017080175A1 (zh) | 用于多机位的视频播放器、播放系统及播放方法 | |
CN111147906B (zh) | 同步播放系统及同步播放方法 | |
US11956497B2 (en) | Audio processing method and electronic device | |
US20170195384A1 (en) | Video Playing Method and Electronic Device | |
US20210211777A1 (en) | Information Presenting Method, Terminal Device, Server and System | |
CN110351584B (zh) | 视频混流方法、视频混流装置及存储介质 | |
CN112383794B (zh) | 直播方法、直播系统、服务器和计算机存储介质 | |
CN111182334B (zh) | 数据处理方法、服务器、终端以及存储介质 | |
WO2022042398A1 (zh) | 用于确定对象添加方式的方法、装置、电子设备和介质 | |
KR20200108348A (ko) | 데이터 전송 | |
CN113411636A (zh) | 连麦直播方法、装置、电子设备及计算机可读存储介质 | |
US10582158B2 (en) | Synchronization of media rendering in heterogeneous networking environments | |
CN110602513A (zh) | 一种信息的处理方法、装置及电子设备 | |
WO2023036275A1 (zh) | 视频处理方法、装置、电子设备、介质及程序产品 | |
CN116708867B (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 |