CN116233490A - 视频合成方法、系统、装置、电子设备及存储介质 - Google Patents
视频合成方法、系统、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116233490A CN116233490A CN202310253045.9A CN202310253045A CN116233490A CN 116233490 A CN116233490 A CN 116233490A CN 202310253045 A CN202310253045 A CN 202310253045A CN 116233490 A CN116233490 A CN 116233490A
- Authority
- CN
- China
- Prior art keywords
- direct
- video stream
- stream
- video
- broadcasting
- 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.)
- Pending
Links
- 238000001308 synthesis method Methods 0.000 title abstract description 9
- 230000001360 synchronised effect Effects 0.000 claims abstract description 89
- 238000000034 method Methods 0.000 claims abstract description 72
- 238000004806 packaging method and process Methods 0.000 claims abstract description 21
- 238000004891 communication Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 9
- 239000000203 mixture Substances 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 19
- 230000002194 synthesizing effect Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 239000002131 composite material Substances 0.000 description 7
- 238000005538 encapsulation Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 241000284156 Clerodendrum quadriloculare Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234309—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供了一种视频合成方法、系统、装置、电子设备及存储介质,包括:接收第一客户端发送的点播视频文件以及推流指令;根据推流指令将点播视频文件的封装格式转码为直播流的封装格式,生成第一直播视频流;接收第二客户端发送的拉流指令,根据拉流指令将第一直播视频流发送至第二客户端;接收同步后的第一直播视频流和第二直播视频流,并将同步后的第一直播视频流和第二直播视频流混流编码,生成合成直播视频流;向用户端发送合成直播视频流,解决了现有技术中由于点播视频和直播视频流分别是不同客户端播放的,导致点播视频和直播视频流之间无法同步的问题,可以实现不同客户端发送的多路视频播放同步性。
Description
技术领域
本发明涉及视频处理技术领域,特别是涉及一种视频合成方法、系统、装置、电子设备及存储介质。
背景技术
为了提高影视作品视频的播放量,一般会通过相关影视人员进行宣传推广,以直播视频宣传为例,通过邀请嘉宾进行直播和观众互动,配合影视作品视频进行线上宣传。
然而,在直播宣传的过程中,现有技术一般为至少两路视频分别推流至用户端,例如,一路视频为电视剧视频或者电影综艺视频,另一路视频为明星直播视频,此时,对于用户端来讲需要分别接收每路视频数据,当每路视频数据的延迟时间不同时,例如,一路视频播放延迟为10ms,另一路视频播放延迟为20ms,会导致用户在用户端观看嘉宾讲解电视剧内容出现延迟,用户观看直播内容实时性差,影响用户观看体验。
发明内容
本发明实施例的目的在于提供一种视频合成方法、系统、装置、电子设备及存储介质,以实现保证不同客户端直播播放多路视频流时用户观看实时性。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种视频合成方法,应用于服务器,所述方法包括:
接收第一客户端发送的点播视频文件以及推流指令;
根据所述推流指令将所述点播视频文件的封装格式转码为直播流的封装格式,生成第一直播视频流;
接收第二客户端发送的拉流指令,根据所述拉流指令将所述第一直播视频流发送至所述第二客户端,以使所述第二客户端对应的第二直播视频流和所述第一直播视频流同步;
接收同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流;
向用户端发送所述合成直播视频流,以使所述用户端播放所述合成直播视频流。
可选的,在所述接收第二客户端发送的拉流指令,根据所述拉流指令将所述第一直播视频流发送至所述第二客户端,以使所述第二客户端对应的第二直播视频流和所述第一直播视频流同步的步骤之后,所述方法包括:
实时获取所述第一直播视频流对应的分辨率;
所述接收同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流包括:
接收所述第二客户端发送的同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流,并根据所述第一直播视频流对应的分辨率和预设播放分辨率确定所述第一直播视频流和所述第二直播视频流的显示布局,以使在所述用户端根据所述显示布局显示所述第一直播视频流和所述第二直播视频流对应的视频画面。
可选的,所述根据所述第一直播视频流对应的分辨率和预设播放分辨率确定所述第一直播视频流和所述第二直播视频流的显示布局包括:
在检测到所述第一直播视频流播放的情况下,若所述第一直播视频流对应的分辨率和预设播放分辨率相同,确定所述显示布局为全屏显示所述第一直播视频流;
在检测到所述第一直播视频流以及所述第二直播视频流同时播放的情况下,若所述第一直播视频流对应的分辨率和预设播放分辨率相同,确定所述显示布局为第一预设布局,其中,所述第一预设布局包括:根据所述预设播放分辨率确定的全局显示分辨率,以及所述第一直播视频流对应的视图尺寸大于所述第二直播视频流对应的视图尺寸。
可选的,所述根据所述第一直播视频流对应的分辨率和预设播放分辨率确定所述第一直播视频流和所述第二直播视频流的显示布局包括:
在检测到所述第一直播视频流播放的情况下,若所述第一直播视频流对应的分辨率和预设播放分辨率不同,确定所述显示布局为根据所述第一直播视频流对应的分辨率显示第一直播视频流;
在检测到所述第一直播视频流以及所述第二直播视频流同时播放的情况下,若所述第一直播视频流对应的分辨率和预设播放分辨率不同,确定所述显示布局为第二预设布局,其中,所述第二预设布局包括:根据所述第一直播视频流对应的分辨率确定的全局显示分辨率,以及所述第一直播视频流对应的视图尺寸大于所述第二直播视频流对应的视图尺寸。
在本发明实施的又一方面,提供了另一种视频合成方法,应用于第一客户端,所述方法包括:
预先获取点播视频文件,其中,所述点播视频文件包括预先下载至所述第一客户端中的电视剧集;
在检测到用户发送的推流指令的情况下,向服务器发送所述点播视频文件以及所述推流指令,以使所述服务器根据所述推流指令将所述点播视频文件转码为第一直播视频流,以及接收所述第二客户端发送的同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流。
可选的,所述预先获取点播视频文件包括:
预先设置定时下载任务;
根据所述定时下载任务确定在第一直播视频流播放预设时间前从预设服务器中下载所述点播视频文件。
在本发明实施的又一方面,还提供了一种视频合成系统,所述系统包括:
第一客户端,第二客户端,服务器和用户端;
所述第一客户端用于预先获取点播视频文件,其中,所述点播视频文件包括预先下载至所述第一客户端中的电视剧集,在检测到用户发送的推流指令的情况下,将所述点播视频文件发送至服务器;
所述第二客户端用于向所述服务器发送拉流指令,接收所述服务器发送的第一直播视频流,向所述服务器发送同步后的所述第一直播视频流和所述第二直播视频流;
所述服务器用于接收第一客户端发送的点播视频文件以及推流指令;根据所述推流指令将所述点播视频文件的封装格式转码为直播流的封装格式,生成第一直播视频流;接收第二客户端发送的拉流指令,根据所述拉流指令将所述第一直播视频流发送至所述第二客户端,以使所述第二客户端对应的第二直播视频流和所述第一直播视频流同步;接收同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流;向用户端发送所述合成直播视频流,以使所述用户端播放所述合成直播视频流;
所述用户端用于接收所述服务器发送的合成直播视频流,并在预设屏幕上显示所述合成直播视频流。
在本发明实施的又一方面,还提供了一种视频合成装置,所述装置包括:
第一接收模块,用于接收第一客户端发送的点播视频文件以及推流指令;
第一生成模块,用于根据所述推流指令将所述点播视频文件的封装格式转码为直播流的封装格式,生成第一直播视频流;
第二接收模块,用于接收第二客户端发送的拉流指令,根据所述拉流指令将所述第一直播视频流发送至所述第二客户端,以使所述第二客户端对应的第二直播视频流和所述第一直播视频流同步;
第二生成模块,用于接收同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流;
发送模块,用于向用户端发送所述合成直播视频流,以使所述用户端播放所述合成直播视频流。
在本发明实施的又一方面,还提供了另一种视频合成装置,所述装置包括:
获取模块,用于预先获取点播视频文件,其中,所述点播视频文件包括预先下载至所述第一客户端中的电视剧集;
发送模块,用于在检测到用户发送的推流指令的情况下,向服务器发送所述点播视频文件以及所述推流指令,以使所述服务器根据所述推流指令将所述点播视频文件转码为第一直播视频流,以及接收所述第二客户端发送的同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流。
在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的视频合成方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的视频合成方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的视频合成方法。
本发明实施例提供的一种视频合成方法,能够将第一客户端发送的点播视频文件按照直播流格式转码成第一直播视频流,使得在接收到第二客户端发送的拉流指令时,将第一直播视频流发送至第二客户端,此时第二客户端可以实时将第一直播视频流和第二客户端对应的第二直播视频流同步,进而在服务器接收到同步后的第一直播视频流和第二直播视频流时可以将两路直播视频流(第一直播视频流和第二直播视频流)进行混流编码处理,合成一路直播视频流,由于直播视频流具有实时性,点播视频文件转码成第一直播视频流后具备了实时性的特点,从而可以有效的跟第二直播视频流进行同步,解决了现有技术中由于点播视频文件和第二直播视频流分别是不同客户端播放的,导致点播视频文件和第二直播视频流之间无法同步的问题,并且,由于本申请实施例将点播视频文件和第二直播视频流混流成一路直播视频流,一路视频流可以通过一个播放器进行播放,可以有效的减少播放多路视频(点播视频文件和第二直播视频流)所占用的服务资源。本申请实施例提供的技术方案,既能够达到不同客户端发送的多路视频(点播视频文件和第二直播视频流)在播放时的同步性,又能达到播放多路视频资源占用的服务资源较少的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种视频合成方法的步骤流程图;
图2为本发明实施例提供的另一种视频合成方法的步骤流程图;
图3为图2中另一种视频合成方法的步骤流程图中步骤205的方法流程图;
图4为图2中另一种视频合成方法的步骤流程图中步骤205的方法流程图;
图5为本发明实施例提供的一种视频合成方法中一种显示布局示意图;
图6为本发明实施例提供的一种视频合成方法中另一种显示布局示意图;
图7为本发明实施例提供的一种视频合成方法中另一种显示布局示意图;
图8为本发明实施例提供的一种视频合成方法中另一种显示布局示意图;
图9为本发明实施例提供的一种视频合成方法中另一种显示布局示意图;
图10为本发明实施例提供的一种视频合成方法中另一种显示布局示意图;
图11为本发明实施例提供的另一种视频合成方法的步骤流程图;
图12为图11中另一种视频合成方法的步骤流程图中步骤301的方法流程图;
图13为本发明实施例提供的一种视频合成系统的系统示意图;
图14为本发明实施例提供的一种视频合成装置的结构框图;
图15为本发明实施例提供的另一种视频合成装置的结构框图;
图16为本发明实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的视频合成方法、装置、电子设备、系统及存储介质进行详细地说明。
参见图1,是本发明实施例提供的一种视频合成方法步骤流程图,该方法可以包括:
步骤101,接收第一客户端发送的点播视频文件以及推流指令。
需要说明的是,在本发明实施例中,应用于服务器,服务器接收第一客户端发送的点播视频文件,其中,第一客户端可以从存储有点播视频文件的服务器中获取符合需求的视频文件,其中,视频文件的格式可以是MP4、TS、HLS、FLV等封装格式。
例如,在一个具体的直播场景中,明星和粉丝通过直播实现一起观看播放的电视剧集或者任意视频,明星对电视剧集进行讲解互动,此时,可以得知的是,对于电视剧集是提前录制存储在预设服务器中的视频数据,可以从预设服务器中下载至本地客户端,即为点播视频文件,其他人员通过直播平台等方式进行直播推流的视频,即为直播视频流,其中,直播时的视频源是实时生成的,需要进行推流直播,一旦主播对应的客户端停播,直播URL则处于失效状态。
推流指令可以是用户在第一客户端进行设置操作将存储在本地的点播视频文件上传至服务器,以使服务器根据推流指令将点播视频文件转换为实时直播视频流。
步骤102,根据所述推流指令将所述点播视频文件的封装格式转码为直播流的封装格式,生成第一直播视频流。
需要说明的是,在本发明实施例中,服务器在接收到第一客户端发送的推流指令以及点播视频文件时,会根据推流指令将点播视频文件转换为实时直播视频流,对于点播视频文件来讲,需要将点播视频文件进行推流转换成第一直播视频流,从而和其他直播视频流进行混流播放,达到直播画面的实时性。
具体的,封装格式是编码流(音频、视频等)数据的一层外壳,将编码后的数据,存储于此封装格式的文件之内,例如MP4、TS、HLS、FLV等封装格式,流是一种音视频数据信息的传输方式,例如,视频流、音频流、字幕、附件、数据,因此,本发明中的直播视频流是一种播放的视频内容是实时的视频画面,视频源是实时的媒体流。
进一步地,本发明实施例中,点播转直播是将点播视频文件通过服务器推流转化为直播视频流,将所述点播视频文件的封装格式转码为直播流的封装格式,转码是将视频码流转换成另一个视频码流的过程,通过转码,可以改变原始码流的封装格式、分辨率和码率等参数,从而适应不同终端和网络环境的播放,具体的,可以利用ffmpeg把一个提前录制好的点播视频文件转码推流成RTMP直播流,实现在直播场景中播放。
需要说明的是,实时消息传输协议(RTMP,Real Time Messaging Protocol),是一个基于TCP的应用层协议,RTMP在TCP通道上一般传输的是flv格式流,flv根据前文可以得知是一种视频的封装格式,RTMP主要用于对多媒体数据流的实时通信。
步骤103,接收第二客户端发送的拉流指令,根据所述拉流指令将所述第一直播视频流发送至所述第二客户端,以使所述第二客户端对应的第二直播视频流和所述第一直播视频流同步。
需要说明的是,在本发明实施例中,为了使用户端看到的画面更加同步,在服务器对多路视频进行合流之前,即多路视频流发送至服务器之前需要同步,因此,可以在第二客户端对第一直播视频流和第二直播视频流进行同步,具体的,第二客户端向服务器发送针对第一直播视频流的拉流指令,当服务器接收第二客户端发送的拉流指令时,根据拉流指令将第一直播视频流发送至第二客户端,以使第二直播视频流和第一直播视频流同步,其中,拉流是指服务器已有直播内容,根据协议类型(如RTMP、RTP、RTSP、HTTP等)与服务器建立连接并接收数据,进行拉取的过程,在发明实施例中,当明星或者主播登录第二客户端时,此时,可以向服务器发送拉流指令,从而从服务器中拉取已有的直播内容,在第二客户端的预设显示界面上,可以一侧显示拉流的直播内容(即第一直播视频流),另一侧显示明星或主播推流的第二直播视频流,第二直播视频流和第一直播视频流此时在第二客户端可以同时显示,因此,明星或者主播可以根据第一直播视频流的进度进行讲解,因此,此时第二直播视频流和第一直播视频流同步。
步骤104,接收同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流。
在本发明实施例中,在第二直播视频流和第一直播视频流同步之后,第二客户端将同步后的第一直播视频流和第二直播视频流发送至服务器,那么此时服务器接收的两路同步的视频流即使存在延迟,两者延迟的时间也相同,服务器将同步处理后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流,具体的,此时在服务器中的第一直播视频流和第二直播视频流已经同步,再基于ffmpeg将采集到的多个视频流通过混流技术编码并且以rtmp流输出,合成的合成直播视频流作为源流再次编码成多个分辨率呈现给观众端观看。
先通过同步处理将第一直播视频流和第二直播视频流同步,再通过混流技术将同步后的第一直播视频流和第二直播视频流混成一路合成直播视频流,通过两次处理可以解决现有技术中由于点播视频文件和第二直播视频流分别是不同客户端播放的,导致点播视频文件和第二直播视频流之间无法同步的问题。
需要说明的是,混流是把多路视频流合成单流,混流的过程包括解码、混流、编码和推流四个部分。通过混流编码处理可以实现多路视频流进行画面对齐同步,同时通过缓冲对抗网络抖动,以便混合成一路流以后能够达到良好直播效果。MPEG视频编码标准(FastForward Mpeg,FFmpeg),FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,FFmpeg可以运行音频和视频多种格式的录影、转换、流功能,能让用户访问几乎所有视频格式,包括mkv、flv、mov,VLC Media Player等。
将第一直播视频流和第二直播视频流进行混流编码处理的视频编码流程,首先要有未压缩的初始视频流,即第一直播视频流和第二直播视频流,其次要根据FFmpeg编码的格式选择特定的编码器,最后编码器的输出即为编码后的视频帧,整个过程为,根据将多路直播视频流中的参数进行合并参数,从而实现将多路流合并为一路流,即可以通过以下命令实现多路合并:ffmpeg-i多路流-filter_complex合并参数-f flv合并后的一路流。
最终,服务器处理后输出的合成直播视频流中,第二直播视频流和第一直播视频流对应的视频画面同步,并且第二视频流对应的直播内容可以对第一直播视频流对应的画面进行讲解。
因此,将第一直播视频流和第二直播视频流进行混流编码处理,生成合成直播视频流,需要说明的是,在实际应用场景中,例如,明星陪着粉丝们进行实时观看点播剧集并互动聊天,第二直播视频流不单单只存在一路,根据直播用户的个数可以有多个第二直播视频流接入,因此,在本申请实施例中,服务器可以实时的接收多路的直播视频流,并且通过混流技术编码并且以RTMP流输出一路合成直播视频流。
步骤105,向用户端发送所述合成直播视频流,以使所述用户端播放所述合成直播视频流。
需要说明的是,在本发明实施例中,服务器在处理好合成直播视频流之后,将合成后的一路流发送至用户端,此时,用户接收到的视频流虽然画面显示的是多个直播画面,但是视频流是合成后的一路视频流,此时,用户端在任意显示屏幕上看可以显示合成直播视频流。
对于用户端来讲,如果不对多路直播视频流进行合并,则在服务器将多个直播视频流分别发送至用户端时,不同路的直播视频流的延迟不同,例如,明星直播流发送至用户端时,延时为20ms,而另一路电视剧集直播流发送至用户端时,延时为10ms,此时用户端看到的多个直播画面之间会出现画面不同步,因此,根据本发明实施例中的视频合成方法,可以实现将多个直播流合成一路直播流后,再将合成视频直播流作为源流编码成多个分辨率呈现给观众端观看,此时,用户接收到的只有一路视频流,即使存在延迟,对于一路视频流中即使多个画面延迟时间相同,用户端看到的多个直播画面是同步的,满足用户观看直播时的实时性需求。
本发明实施例提供的一种视频合成方法,能够将第一客户端发送的点播视频文件按照直播流格式转码成第一直播视频流,使得在接收到第二客户端发送的拉流指令时,将第一直播视频流发送至第二客户端,此时第二客户端可以实时将第一直播视频流和第二客户端对应的第二直播视频流同步,进而在服务器接收到同步后的第一直播视频流和第二直播视频流时可以将两路直播视频流(第一直播视频流和第二直播视频流)进行混流编码处理,合成一路直播视频流,由于直播视频流具有实时性,点播视频文件转码成第一直播视频流后具备了实时性的特点,从而可以有效的跟第二直播视频流进行同步,解决了现有技术中由于点播视频文件和第二直播视频流分别是不同客户端播放的,导致点播视频文件和第二直播视频流之间无法同步的问题,并且,由于本申请实施例将点播视频文件和第二直播视频流混流成一路直播视频流,一路视频流可以通过一个播放器进行播放,可以有效的减少播放多路视频(点播视频文件和第二直播视频流)所占用的服务资源。本申请实施例提供的技术方案,既能够达到不同客户端发送的多路视频(点播视频文件和第二直播视频流)在播放时的同步性,又能达到播放多路视频资源占用的服务资源较少的目的。
另外,在本发明实施例中,使用RTMP协议主要有以下优点,RTMP是专为流媒体开发的协议,对底层的优化比其它协议更加优秀,同时它Adobe Flash支持好,基本上所有的编码器(摄像头之类)都支持RTMP输出,在进行直播推流时,目前的PC端一般为Windows,Windows的浏览器基本上都支持Flash,并且RTMP的延迟相对较低,一般延时在1-3s之间,因此在画面同步的基础上,传递给用户的延迟更小,对于用户和主播或者明星互动来讲满足了互动的实时性,实现了用户观看点播剧集和明星观看点播剧集进度的一致性,明星互动聊天时剧集的一致性。
参见图2,是本发明实施例提供的另一种视频合成方法的步骤流程图,具体包括:
步骤201,接收第一客户端发送的点播视频文件以及推流指令。
步骤202,根据所述推流指令将所述点播视频文件的封装格式转码为直播流的封装格式,生成第一直播视频流。
步骤203,接收第二客户端发送的拉流指令,根据所述拉流指令将所述第一直播视频流发送至所述第二客户端,以使所述第二客户端对应的第二直播视频流和所述第一直播视频流同步。
需要说明的是,上述步骤201-203参照前序论述,在此不再赘述。
步骤204,实时获取所述第一直播视频流对应的分辨率;
需要说明的是,在本申请实施例中,第二直播视频流的数量可以为多个,具体的,根据实际直播对应的主播端用户的数量可以确定第二直播视频流个数,例如,当前存在4个明星同时出现在直播间,那么此时第二直播视频流个数可以为4个,结合第一直播视频流可以得出,此时直播间内至少存在五路视频流,为了保证对不同分辨率的第一直播视频流和多个明星进出直播间时直播间的动态布局的完整性,因此,首先需要获取第一直播视频流对应的分辨率,其次,可以实时获取第二直播视频流的个数,根据上述实时获取的参数进行直播间的动态布局,以给观众呈现更好的展示效果。
步骤205,接收所述第二客户端发送的同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流,并根据所述第一直播视频流对应的分辨率和预设播放分辨率确定所述第一直播视频流和所述第二直播视频流的显示布局,以使在所述用户端根据所述显示布局显示所述第一直播视频流和所述第二直播视频流对应的视频画面。
需要说明的是,在本申请实施例中,服务器在获取了第一直播视频流、第二直播视频流、第一直播视频流对应的分辨率以及预设播放分辨率之后可以确定在用户端显示的直播间的显示界面对应的显示布局,也即第一直播视频流和第二直播视频流对应的显示布局。
进一步地,参见图3,为图2中一种视频合成方法的步骤流程图中步骤205的方法流程图,是如图2所示的实施例中步骤205的一种可行实现方案,具体包括:
步骤2051,在检测到所述第一直播视频流播放的情况下,若所述第一直播视频流对应的分辨率和预设播放分辨率相同,确定所述显示布局为全屏显示所述第一直播视频流;
步骤2052,在检测到所述第一直播视频流以及所述第二直播视频流同时播放的情况下,若所述第一直播视频流对应的分辨率和预设播放分辨率相同,确定所述显示布局为第一预设布局,其中,所述第一预设布局包括:根据所述预设播放分辨率确定的全局显示分辨率,以及所述第一直播视频流对应的视图尺寸大于所述第二直播视频流对应的视图尺寸。
需要说明的是,上述步骤2051-2052中,预设播放分辨率是预先设置好的初始标准分辨率,例如,设置预设播放分辨率为1280*720,当第一直播视频流对应的分辨率和预设播放分辨率相同,即同为1280*720,且播放第一直播视频流的情况下,在预设屏幕上全屏显示标准录播视频流。同样的,当播放第一直播视频流以及第二直播视频流的情况下,可以按照第一预设布局显示第一直播视频流以及第二直播视频流。
具体的,可以参照图5、图6、图7所示,图5、图6、图7为第一直播视频流对应的分辨率和预设播放分辨率相同时的第一预设布局,如图5所示,图5是当第一直播视频流对应的分辨率和预设播放分辨率相同,且此时只有第一直播视频流播放时,可以根据预设播放分辨率在屏幕上全屏显示,另外,当第一直播视频流对应的分辨率和预设播放分辨率相同,且第一直播视频流和至少一个第二直播视频流播放时,根据预设播放分辨率在屏幕上显示第一直播视频流和至少一个第二直播视频流,具体的,如图6所示,图6是当第一直播视频流对应的分辨率和预设播放分辨率相同,且此时第一直播视频流,和1个第二直播视频流播放时,第一直播视频流可以设置在预设屏幕的左侧,第一直播视频流对应的视图尺寸大于第二直播视频流对应的视图尺寸,如图7所示,图7是当第一直播视频流对应的分辨率和预设播放分辨率相同,且此时第一直播视频流,和2个第二直播视频流播放时,第一直播视频流可以设置在预设屏幕的左侧,第一直播视频流对应的视图尺寸大于第二直播视频流对应的视图尺寸。
进一步地,参见图4,为图2中一种视频合成方法的步骤流程图中步骤205的方法流程图,是如图2所示的实施例中步骤205的另一种可行实现方案,具体包括:
步骤2053,在检测到所述第一直播视频流播放的情况下,若所述第一直播视频流对应的分辨率和预设播放分辨率不同,确定所述显示布局为根据所述第一直播视频流对应的分辨率显示第一直播视频流。
步骤2054,在检测到所述第一直播视频流以及所述第二直播视频流同时播放的情况下,若所述第一直播视频流对应的分辨率和预设播放分辨率不同,确定所述显示布局为第二预设布局,其中,所述第二预设布局包括:根据所述第一直播视频流对应的分辨率确定的全局显示分辨率,以及所述第一直播视频流对应的视图尺寸大于所述第二直播视频流对应的视图尺寸。
需要说明的是,上述步骤2053-2054中,预设播放分辨率是预先设置好的初始标准分辨率,例如,设置预设播放分辨率为1280*720,当第一直播视频流对应的分辨率和预设播放分辨率不相同,即此时预设播放分辨率为1280*720,而第一直播视频流对应的分辨率为1280*544,且播放第一直播视频流的情况下,在预设屏幕上按照第一直播视频流对应的分辨率显示第一直播视频流对应的画面。当播放第一直播视频流以及第二直播视频流的情况下,可以按照第二预设布局显示第一直播视频流以及第二直播视频流。
具体的,可以参照图8、图9、图10所示,为第一直播视频流对应的分辨率和预设播放分辨率不相同时的第二预设布局,如图8所示,图8是当第一直播视频流对应的分辨率和预设播放分辨率不同,且此时只有第一直播视频流播放时,可以根据第一直播视频流对应的分辨率在屏幕上显示,另外,当第一直播视频流对应的分辨率和预设播放分辨率不相同,且第一直播视频流和至少一个第二直播视频流播放时,根据第一直播视频流对应的分辨率在屏幕上显示第一直播视频流和至少一个第二直播视频流,具体的,如图9所示,图9是当第一直播视频流对应的分辨率和预设播放分辨率不同,且此时第一直播视频流,和1个第二直播视频流播放时,根据第一直播视频流对应的分辨率在屏幕上显示第一直播视频流和至少一个第二直播视频流,并且,第一直播视频流可以设置在预设屏幕的左侧,第一直播视频流对应的视图尺寸大于第二直播视频流对应的视图尺寸,如图10所示,图10是当第一直播视频流对应的分辨率和预设播放分辨率不同,且此时第一直播视频流,和2个第二直播视频流播放时,第一直播视频流可以设置在预设屏幕的左侧,第一直播视频流对应的视图尺寸大于第二直播视频流对应的视图尺寸。
步骤206,向用户端发送所述合成直播视频流,以使所述用户端播放所述合成直播视频流。
需要说明的是,在合成一路合成直播视频流发送至用户端之前,即此时服务器中接收的还是多路直播视频流,已经根据对主播或者明星上下线的监听从而实现对多路直播视频流的显示布局的动态设置,具体的参照步骤204,在检测到接收第二客户端发送的第二直播视频流的情况下,将第一直播视频流和第二直播视频流进行同步处理,并将同步处理后的第一直播视频流和第二直播视频流混流编码,生成合成直播视频流的同时获取第二直播视频流对应的个数,根据第一直播视频流对应的分辨率、第二直播视频流个数和预设播放分辨率确定第一直播视频流和第二直播视频流的显示布局,因此用户端在接收的合成直播视频流时存在对应的显示布局,可以根据显示布局显示第一直播视频流和第二直播视频流对应的视频画面。
本发明实施例提供的一种视频合成方法,能够将第一客户端发送的点播视频文件按照直播流格式转码成第一直播视频流,使得在接收到第二客户端发送的拉流指令时,将第一直播视频流发送至第二客户端,此时第二客户端可以实时将第一直播视频流和第二客户端对应的第二直播视频流同步,进而在服务器接收到同步后的第一直播视频流和第二直播视频流时可以将两路直播视频流(第一直播视频流和第二直播视频流)进行混流编码处理,合成一路直播视频流,由于直播视频流具有实时性,点播视频文件转码成第一直播视频流后具备了实时性的特点,从而可以有效的跟第二直播视频流进行同步,解决了现有技术中由于点播视频文件和第二直播视频流分别是不同客户端播放的,导致点播视频文件和第二直播视频流之间无法同步的问题,并且,由于本申请实施例将点播视频文件和第二直播视频流混流成一路直播视频流,一路视频流可以通过一个播放器进行播放,可以有效的减少播放多路视频(点播视频文件和第二直播视频流)所占用的服务资源。本申请实施例提供的技术方案,既能够达到不同客户端发送的多路视频(点播视频文件和第二直播视频流)在播放时的同步性,又能达到播放多路视频资源占用的服务资源较少的目的。
另外,本发明实施例中,通过实时获取点播视频文件分辨率和第二直播视频流的数量进行动态编码布局从而可以实现直播界面中多个直播画面的有效完整性。
参见图11,是本发明实施例提供的一种视频合成方法步骤流程图,应用于第一客户端,该方法可以包括:
步骤301,预先获取点播视频文件,其中,所述点播视频文件包括预先下载至所述第一客户端中的电视剧集。
需要说明的是,对于第一客户端来讲,第一客户端是需要通过对点播视频文件进行推流从而在直播界面上显示,此时,第一客户端需要在直播开始之前预先将需要播放的点播视频文件下载到第一客户端,在一应用场景下,点播视频文件包括预先下载至所述第一客户端中的电视剧集,或者任何视频文件。
需要说明的是,点播一般视频源是一个视频文件,文件只要没有被提供方删除就随时可以播放,并且点播视频文件播放的时包括进度条。
步骤302,在检测到用户发送的推流指令的情况下,向服务器发送所述点播视频文件以及所述推流指令,以使所述服务器根据所述推流指令将所述点播视频文件转码为第一直播视频流,以及接收所述第二客户端发送的同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流。
需要说明的是,当第一客户端将需要的点播视频文件下载至本地之后,可以对点播视频文件进行推流设置,具体的,可以是用户通过具体设置,例如,发送推流指令,推流指令对应有点播视频文件,将推流指令以及点播视频文件发送至服务器,服务器可以根据推流指令对点播视频文件进行RTMP推流。
进一步地,参见图12,为图11中一种视频合成方法的步骤流程图中步骤301的方法流程图,是如图11所示的实施例中步骤301的一种可行实现方案,具体包括:
步骤3011,预先设置定时下载任务;
步骤3012,根据定时下载任务确定在第一直播视频流播放预设时间前从预设服务器中下载所述点播视频文件。
需要说明的是,上述步骤3011-3012中是获取点播视频文件的方法,具体的,通过定时任务扫描,可以实现在直播节目开始前规定时间内触发下载配置的剧集资源,即在点播视频文件播放之前,首先,要将点播视频文件的视频内容或视频数据进行下载,再将下载好的点播视频文件进一步进行推流处理。
本发明实施例提供的一种视频合成方法,能够将第一客户端发送的点播视频文件按照直播流格式转码成第一直播视频流,使得在接收到第二客户端发送的拉流指令时,将第一直播视频流发送至第二客户端,此时第二客户端可以实时将第一直播视频流和第二客户端对应的第二直播视频流同步,进而在服务器接收到同步后的第一直播视频流和第二直播视频流时可以将两路直播视频流(第一直播视频流和第二直播视频流)进行混流编码处理,合成一路直播视频流,由于直播视频流具有实时性,点播视频文件转码成第一直播视频流后具备了实时性的特点,从而可以有效的跟第二直播视频流进行同步,解决了现有技术中由于点播视频文件和第二直播视频流分别是不同客户端播放的,导致点播视频文件和第二直播视频流之间无法同步的问题,并且,由于本申请实施例将点播视频文件和第二直播视频流混流成一路直播视频流,一路视频流可以通过一个播放器进行播放,可以有效的减少播放多路视频(点播视频文件和第二直播视频流)所占用的服务资源。本申请实施例提供的技术方案,既能够达到不同客户端发送的多路视频(点播视频文件和第二直播视频流)在播放时的同步性,又能达到播放多路视频资源占用的服务资源较少的目的。
另外,通过定时任务预先下载好点播视频文件,可以进一步地通过编码技术将点播视频文件转码为直播流,从而实现将点播视频文件和直播流进行合流。
参见图13,是本发明实施例提供的一种视频合成系统的系统示意图,该系统可以包括:第一客户端,第二客户端,用户端以及服务器。
其中,第一客户端用于预先获取点播视频文件,其中,所述点播视频文件包括预先下载至所述第一客户端中的电视剧集,在检测到用户发送的推流指令的情况下,将所述点播视频文件发送至服务器,以使所述服务器根据所述推流指令将所述点播视频文件转码为第一直播视频流,以及将所述第一直播视频流和第二直播视频流进行混流编码处理,生成合成直播视频流。
第二客户端用于向所述服务器发送拉流指令,接收所述服务器发送的第一直播视频流,向所述服务器发送同步后的所述第一直播视频流和所述第二直播视频流。
服务器用于接收第一客户端发送的点播视频文件以及推流指令;根据所述推流指令将所述点播视频文件的封装格式转码为直播流的封装格式,生成第一直播视频流;接收第二客户端发送的拉流指令,根据所述拉流指令将所述第一直播视频流发送至所述第二客户端,以使所述第二客户端对应的第二直播视频流和所述第一直播视频流同步;接收同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流;向用户端发送所述合成直播视频流,以使所述用户端播放所述合成直播视频流。
用户端用于接收所述服务器发送的合成直播视频流,并在预设屏幕上显示所述合成直播视频流。
本发明实施例中的视频合成系统的应用场景可以是明星和粉丝通过直播实现一起观看播放的电视剧集或者任意视频,或者主播和用户通过直播实现一起观看播放的任意视频等。
本发明实施例提供的一种视频合成系统,能够将第一客户端发送的点播视频文件按照直播流格式转码成第一直播视频流,使得在接收到第二客户端发送的拉流指令时,将第一直播视频流发送至第二客户端,此时第二客户端可以实时将第一直播视频流和第二客户端对应的第二直播视频流同步,进而在服务器接收到同步后的第一直播视频流和第二直播视频流时可以将两路直播视频流(第一直播视频流和第二直播视频流)进行混流编码处理,合成一路直播视频流,由于直播视频流具有实时性,点播视频文件转码成第一直播视频流后具备了实时性的特点,从而可以有效的跟第二直播视频流进行同步,解决了现有技术中由于点播视频文件和第二直播视频流分别是不同客户端播放的,导致点播视频文件和第二直播视频流之间无法同步的问题,并且,由于本申请实施例将点播视频文件和第二直播视频流混流成一路直播视频流,一路视频流可以通过一个播放器进行播放,可以有效的减少播放多路视频(点播视频文件和第二直播视频流)所占用的服务资源。本申请实施例提供的技术方案,既能够达到不同客户端发送的多路视频(点播视频文件和第二直播视频流)在播放时的同步性,又能达到播放多路视频资源占用的服务资源较少的目的。
参照图14,图14是本申请实施例提供的一种视频合成装置的结构框图,该装置可以包括:
第一接收模块401,用于接收第一客户端发送的点播视频文件以及推流指令;
第一生成模块402,用于根据所述推流指令将所述点播视频文件的封装格式转码为直播流的封装格式,生成第一直播视频流;
第二接收模块403,用于接收第二客户端发送的拉流指令,根据所述拉流指令将所述第一直播视频流发送至所述第二客户端,以使所述第二客户端对应的第二直播视频流和所述第一直播视频流同步;
第二生成模块404,用于接收同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流;
发送模块405,用于向用户端发送所述合成直播视频流,以使所述用户端播放所述合成直播视频流。
本发明实施例提供的一种视频合成装置,能够将第一客户端发送的点播视频文件按照直播流格式转码成第一直播视频流,使得在接收到第二客户端发送的拉流指令时,将第一直播视频流发送至第二客户端,此时第二客户端可以实时将第一直播视频流和第二客户端对应的第二直播视频流同步,进而在服务器接收到同步后的第一直播视频流和第二直播视频流时可以将两路直播视频流(第一直播视频流和第二直播视频流)进行混流编码处理,合成一路直播视频流,由于直播视频流具有实时性,点播视频文件转码成第一直播视频流后具备了实时性的特点,从而可以有效的跟第二直播视频流进行同步,解决了现有技术中由于点播视频文件和第二直播视频流分别是不同客户端播放的,导致点播视频文件和第二直播视频流之间无法同步的问题,并且,由于本申请实施例将点播视频文件和第二直播视频流混流成一路直播视频流,一路视频流可以通过一个播放器进行播放,可以有效的减少播放多路视频(点播视频文件和第二直播视频流)所占用的服务资源。本申请实施例提供的技术方案,既能够达到不同客户端发送的多路视频(点播视频文件和第二直播视频流)在播放时的同步性,又能达到播放多路视频资源占用的服务资源较少的目的。
参照图15,图15是本申请实施例提供的另一种视频合成装置的结构框图,该装置可以包括:
获取模块501,用于预先获取点播视频文件,其中,所述点播视频文件包括预先下载至所述第一客户端中的电视剧集;
发送模块502,用于在检测到用户发送的推流指令的情况下,向服务器发送所述点播视频文件以及所述推流指令,以使所述服务器根据所述推流指令将所述点播视频文件转码为第一直播视频流,以及接收所述第二客户端发送的同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流。
本发明实施例提供的一种视频合成装置,能够将第一客户端发送的点播视频文件按照直播流格式转码成第一直播视频流,使得在接收到第二客户端发送的拉流指令时,将第一直播视频流发送至第二客户端,此时第二客户端可以实时将第一直播视频流和第二客户端对应的第二直播视频流同步,进而在服务器接收到同步后的第一直播视频流和第二直播视频流时可以将两路直播视频流(第一直播视频流和第二直播视频流)进行混流编码处理,合成一路直播视频流,由于直播视频流具有实时性,点播视频文件转码成第一直播视频流后具备了实时性的特点,从而可以有效的跟第二直播视频流进行同步,解决了现有技术中由于点播视频文件和第二直播视频流分别是不同客户端播放的,导致点播视频文件和第二直播视频流之间无法同步的问题,并且,由于本申请实施例将点播视频文件和第二直播视频流混流成一路直播视频流,一路视频流可以通过一个播放器进行播放,可以有效的减少播放多路视频(点播视频文件和第二直播视频流)所占用的服务资源。本申请实施例提供的技术方案,既能够达到不同客户端发送的多路视频(点播视频文件和第二直播视频流)在播放时的同步性,又能达到播放多路视频资源占用的服务资源较少的目的。
本发明实施例还提供了一种电子设备,如图16所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,可以实现如下步骤:
接收第一客户端发送的点播视频文件以及推流指令;
根据所述推流指令将所述点播视频文件的封装格式转码为直播流的封装格式,生成第一直播视频流;
接收第二客户端发送的拉流指令,根据所述拉流指令将所述第一直播视频流发送至所述第二客户端,以使所述第二客户端对应的第二直播视频流和所述第一直播视频流同步;
接收同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流;
向用户端发送所述合成直播视频流,以使所述用户端播放所述合成直播视频流。
或者,
预先获取点播视频文件,其中,所述点播视频文件包括预先下载至所述第一客户端中的电视剧集;
在检测到用户发送的推流指令的情况下,向服务器发送所述点播视频文件以及所述推流指令,以使所述服务器根据所述推流指令将所述点播视频文件转码为第一直播视频流,以及接收所述第二客户端发送的同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的视频合成。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的视频合成。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或第三数据库通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或第三数据库进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、第三数据库等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第一等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种视频合成方法,其特征在于,应用于服务器,所述方法包括:
接收第一客户端发送的点播视频文件以及推流指令;
根据所述推流指令将所述点播视频文件的封装格式转码为直播流的封装格式,生成第一直播视频流;
接收第二客户端发送的拉流指令,根据所述拉流指令将所述第一直播视频流发送至所述第二客户端,以使所述第二客户端对应的第二直播视频流和所述第一直播视频流同步;
接收同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流;
向用户端发送所述合成直播视频流,以使所述用户端播放所述合成直播视频流。
2.根据权利要求1所述的方法,其特征在于,在所述接收第二客户端发送的拉流指令,根据所述拉流指令将所述第一直播视频流发送至所述第二客户端,以使所述第二客户端对应的第二直播视频流和所述第一直播视频流同步的步骤之后,所述方法包括:
实时获取所述第一直播视频流对应的分辨率;
所述接收同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流包括:
接收所述第二客户端发送的同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流,并根据所述第一直播视频流对应的分辨率和预设播放分辨率确定所述第一直播视频流和所述第二直播视频流的显示布局,以使在所述用户端根据所述显示布局显示所述第一直播视频流和所述第二直播视频流对应的视频画面。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一直播视频流对应的分辨率和预设播放分辨率确定所述第一直播视频流和所述第二直播视频流的显示布局包括:
在检测到所述第一直播视频流播放的情况下,若所述第一直播视频流对应的分辨率和预设播放分辨率相同,确定所述显示布局为全屏显示所述第一直播视频流;
在检测到所述第一直播视频流以及所述第二直播视频流同时播放的情况下,若所述第一直播视频流对应的分辨率和预设播放分辨率相同,确定所述显示布局为第一预设布局,其中,所述第一预设布局包括:根据所述预设播放分辨率确定的全局显示分辨率,以及所述第一直播视频流对应的视图尺寸大于所述第二直播视频流对应的视图尺寸。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第一直播视频流对应的分辨率和预设播放分辨率确定所述第一直播视频流和所述第二直播视频流的显示布局包括:
在检测到所述第一直播视频流播放的情况下,若所述第一直播视频流对应的分辨率和预设播放分辨率不同,确定所述显示布局为根据所述第一直播视频流对应的分辨率显示第一直播视频流;
在检测到所述第一直播视频流以及所述第二直播视频流同时播放的情况下,若所述第一直播视频流对应的分辨率和预设播放分辨率不同,确定所述显示布局为第二预设布局,其中,所述第二预设布局包括:根据所述第一直播视频流对应的分辨率确定的全局显示分辨率,以及所述第一直播视频流对应的视图尺寸大于所述第二直播视频流对应的视图尺寸。
5.一种视频合成方法,其特征在于,应用于第一客户端,所述方法包括:
预先获取点播视频文件,其中,所述点播视频文件包括预先下载至所述第一客户端中的电视剧集;
在检测到用户发送的推流指令的情况下,向服务器发送所述点播视频文件以及所述推流指令,以使所述服务器根据所述推流指令将所述点播视频文件转码为第一直播视频流,以及接收所述第二客户端发送的同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流。
6.根据权利要求5所述的方法,其特征在于,所述预先获取点播视频文件包括:
预先设置定时下载任务;
根据所述定时下载任务确定在第一直播视频流播放预设时间前从预设服务器中下载所述点播视频文件。
7.一种视频合成系统,其特征在于,所述视频合成系统包括:第一客户端,第二客户端,服务器和用户端;
所述第一客户端用于预先获取点播视频文件,其中,所述点播视频文件包括预先下载至所述第一客户端中的电视剧集;在检测到用户发送的推流指令的情况下,向服务器发送所述点播视频文件以及所述推流指令;
所述第二客户端用于向所述服务器发送拉流指令,接收所述服务器发送的第一直播视频流,向所述服务器发送同步后的所述第一直播视频流和所述第二直播视频流;
所述服务器用于接收第一客户端发送的点播视频文件以及推流指令;根据所述推流指令将所述点播视频文件的封装格式转码为直播流的封装格式,生成第一直播视频流;接收第二客户端发送的拉流指令,根据所述拉流指令将所述第一直播视频流发送至所述第二客户端,以使所述第二客户端对应的第二直播视频流和所述第一直播视频流同步;接收同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流;向用户端发送所述合成直播视频流,以使所述用户端播放所述合成直播视频流;
所述用户端用于接收所述服务器发送的合成直播视频流,并在预设屏幕上显示所述合成直播视频流。
8.一种视频合成装置,其特征在于,应用于服务器,所述装置包括:
第一接收模块,用于接收第一客户端发送的点播视频文件以及推流指令;
第一生成模块,用于根据所述推流指令将所述点播视频文件的封装格式转码为直播流的封装格式,生成第一直播视频流;
第二接收模块,用于接收第二客户端发送的拉流指令,根据所述拉流指令将所述第一直播视频流发送至所述第二客户端,以使所述第二客户端对应的第二直播视频流和所述第一直播视频流同步;
第二生成模块,用于接收同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流;
发送模块,用于向用户端发送所述合成直播视频流,以使所述用户端播放所述合成直播视频流。
9.一种视频合成装置,其特征在于,应用于第一客户端,所述装置包括:
获取模块,用于预先获取点播视频文件,其中,所述点播视频文件包括预先下载至所述第一客户端中的电视剧集;
发送模块,用于在检测到用户发送的推流指令的情况下,向服务器发送所述点播视频文件以及所述推流指令,以使所述服务器根据所述推流指令将所述点播视频文件转码为第一直播视频流,以及接收所述第二客户端发送的同步后的所述第一直播视频流和所述第二直播视频流,并将同步后的所述第一直播视频流和所述第二直播视频流混流编码,生成合成直播视频流。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤,或者,实现权利要求5-6任一所述的方法步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-4任一所述的方法步骤,或者,实现权利要求5-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310253045.9A CN116233490A (zh) | 2023-03-09 | 2023-03-09 | 视频合成方法、系统、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310253045.9A CN116233490A (zh) | 2023-03-09 | 2023-03-09 | 视频合成方法、系统、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116233490A true CN116233490A (zh) | 2023-06-06 |
Family
ID=86575001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310253045.9A Pending CN116233490A (zh) | 2023-03-09 | 2023-03-09 | 视频合成方法、系统、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116233490A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116916094A (zh) * | 2023-09-12 | 2023-10-20 | 联通在线信息科技有限公司 | 一种双视频混流播放方法、播放器及存储介质 |
-
2023
- 2023-03-09 CN CN202310253045.9A patent/CN116233490A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116916094A (zh) * | 2023-09-12 | 2023-10-20 | 联通在线信息科技有限公司 | 一种双视频混流播放方法、播放器及存储介质 |
CN116916094B (zh) * | 2023-09-12 | 2024-01-19 | 联通在线信息科技有限公司 | 一种双视频混流播放方法、播放器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11470405B2 (en) | Network video streaming with trick play based on separate trick play files | |
US11073969B2 (en) | Multiple-mode system and method for providing user selectable video content | |
CN107846633B (zh) | 一种直播方法及系统 | |
US9247317B2 (en) | Content streaming with client device trick play index | |
US7644425B2 (en) | Picture-in-picture mosaic | |
US6230172B1 (en) | Production of a video stream with synchronized annotations over a computer network | |
JP6317872B2 (ja) | 異なるネットワークを介して受信したコンテンツのレンダリングを同期するデコーダ及びそれにおける方法 | |
WO2016138844A1 (zh) | 音视频文件直播方法和系统、服务器 | |
US20030159153A1 (en) | Method and apparatus for processing ATVEF data to control the display of text and images | |
US20140359678A1 (en) | Device video streaming with trick play based on separate trick play files | |
CN111064973A (zh) | 一种基于ipv9的直播系统 | |
US20140297804A1 (en) | Control of multimedia content streaming through client-server interactions | |
US10887645B2 (en) | Processing media data using file tracks for web content | |
CN112752115B (zh) | 直播数据传输方法、装置、设备及介质 | |
US20030056224A1 (en) | Method and apparatus for processing transport type B ATVEF data | |
KR20140004194A (ko) | 뷰 스위칭을 위한 방법 및 디바이스 | |
WO2014193996A2 (en) | Network video streaming with trick play based on separate trick play files | |
US20230319371A1 (en) | Distribution of Multiple Signals of Video Content Independently over a Network | |
CN108494792A (zh) | 一种flash播放器播放hls视频流的转换系统及其工作方法 | |
EP3304848A1 (en) | Method for initiating a transmission of a streaming content delivered to a client device and access point for implementing this method | |
CN116233490A (zh) | 视频合成方法、系统、装置、电子设备及存储介质 | |
KR20170130883A (ko) | 하이브리드 망 기반의 가상 현실 방송 서비스 방법 및 장치 | |
van Deventer et al. | Media synchronisation for television services through HbbTV | |
Lohan et al. | Integrated system for multimedia delivery over broadband ip networks | |
JP6446347B2 (ja) | サムネイル提供装置、表示装置、サムネイル映像表示システム、サムネイル映像表示方法、及びプログラム |
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 |