CN109729373A - 流媒体数据的混流方法、装置及存储介质、计算机设备 - Google Patents

流媒体数据的混流方法、装置及存储介质、计算机设备 Download PDF

Info

Publication number
CN109729373A
CN109729373A CN201811613917.3A CN201811613917A CN109729373A CN 109729373 A CN109729373 A CN 109729373A CN 201811613917 A CN201811613917 A CN 201811613917A CN 109729373 A CN109729373 A CN 109729373A
Authority
CN
China
Prior art keywords
mixed flow
data
stream medium
medium data
timestamp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811613917.3A
Other languages
English (en)
Other versions
CN109729373B (zh
Inventor
陈宇辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201811613917.3A priority Critical patent/CN109729373B/zh
Publication of CN109729373A publication Critical patent/CN109729373A/zh
Priority to PCT/CN2019/120714 priority patent/WO2020134791A1/zh
Application granted granted Critical
Publication of CN109729373B publication Critical patent/CN109729373B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提供一种多条流媒体数据的混流方法、装置及计算机可读存储介质、计算机设备,所述方法包括:获取多条流媒体数据中每条流媒体数据的帧数据;确定将所述多条流媒体数据进行混流后的输出帧率,根据所述输出帧率计算混流后流媒体数据的帧间隔;根据当前混流的混流时间戳和所述帧间隔,确定下一次混流的混流时间戳;在下一次混流时,根据确定的混流时间戳分别从所述多条流媒体数据中提取每条流媒体数据对应的帧数据进行混流。上述方法能够根据混流后输出帧率自适应各条源流的不同帧率,不仅简化传统混流的逻辑,并且提高了混流的同步效果。

Description

流媒体数据的混流方法、装置及存储介质、计算机设备
技术领域
本发明涉及流媒体数据处理技术领域,具体而言,本发明涉及一种多条流媒体数据的混流方法、装置及计算机可读存储介质、计算机设备。
背景技术
随着流媒体分发技术的发展,直播场景下音视频连麦得到广泛应用。现下多个主播连麦进行直播的视频互动模式得到广大观众的喜爱。多个主播建立同一直播间,通过连麦方式进行互动,观众在同一直播间可观看到多个主播的直播互动。要实现多个主播的连麦直播,后台必须将多个主播的音视频流进行混流从而实现直播间的混画。
后台服务端混流由于延时、带宽、扩展性方面的优势在直播弱交互业务中的作用越来越重要,服务端混流技术决定了前端主播的混画质量,混画质量直接影响到直播的用户体验。然而,服务器端接收到的音视频流时间不一样,每条音视频流来自不同的时间轴,在进行混流时,容易造成混流不同步,从而影响直播间的混画质量。
发明内容
本发明提出一种多条流媒体数据的混流方法、装置及计算机可读存储介质、计算机设备,能够根据混流后输出帧率自适应各条源流的不同帧率,不仅简化传统混流的逻辑,并且提高了混流的同步效果。
本发明提供以下方案:
一种多条流媒体数据的混流方法,包括:获取多条流媒体数据中每条流媒体数据的帧数据;确定将所述多条流媒体数据进行混流后的输出帧率,根据所述输出帧率计算混流后流媒体数据的帧间隔;根据当前混流的混流时间戳和所述帧间隔,确定下一次混流的混流时间戳;在下一次混流时,根据确定的混流时间戳分别从所述多条流媒体数据中提取每条流媒体数据对应的帧数据进行混流。
在一实施例中,所述获取多条流媒体数据中每条流媒体数据的帧数据,包括:接收多条流媒体数据,将所述多条流媒体数据中每条流媒体数据划分为多条帧数据;根据所述每条流媒体数据的抖动情况确定对应流媒体数据的抖动缓存长度,根据所述抖动缓存长度设置所述对应流媒体数据的缓存区;将所述每条流媒体数据的帧数据分别缓存进对应的缓存区,控制每个所述缓存区中帧数据缓存时间相同;分别从每个所述缓存区中获取所述每条流媒体数据的帧数据。
在一实施例中,所述方法还包括:将所述每条流媒体数据的帧数据的显示时间戳映射到同一时间坐标系;所述在下一次混流时,根据确定的混流时间戳根据每次所述混流时间戳分别从所述多条流媒体数据中提取每条流媒体数据对应的帧数据进行混流,包括:根据所述同一时间坐标系中每条流媒体数据的帧数据的显示时间戳,分别从所述每条流媒体数据对应的所述缓存区中获取距离所述混流时间戳预设时间范围内的且显示时间戳小于或等于所述混流时间戳的帧数据进行混流。
在一实施例中,所述分别从所述每条流媒体数据对应的所述缓存区中获取距离所述混流时间戳预设时间范围内的且显示时间戳小于或等于所述混流时间戳的帧数据进行混流,包括:若所述多条流媒体数据中任意一条流媒体数据对应的缓存区中不存在所述距离所述混流时间戳预设时间范围内的且显示时间戳小于或等于所述混流时间戳的帧数据,则等待预设时长后获取下一次混流时间戳,在到达所述下一次混流时间戳时,分别从所述每条流媒体数据对应的所述缓存区中获取距离所述下一次混流时间戳预设时间范围内的且显示时间戳小于或等于所述下一次混流时间戳的帧数据进行混流。
在一实施例中,所述等待预设时长不超过所述多条流媒体数据中缓存区达到最大输入流时的时长。
在一实施例中,所述获取多条流媒体数据中每条流媒体数据的帧数据之后,还包括:从所述每条流媒体数据的帧数据中获取所述每条流媒体数据的首帧数据;将显示时间戳最大的首帧数据的显示时间戳作为混流的混流起始时间戳。
在一实施例中,所述多条流媒体数据包括多条视频流数据;所述在下一次混流时,根据确定的混流时间戳分别从所述多条流媒体数据中提取每条流媒体数据对应的帧数据进行混流,包括:分别从所述多条视频流数据中提取每条视频流数据对应的帧数据;根据所述多条视频流数据混流后进行展示的参数对所述对应的帧数据进行布局;将每次所述混流时间戳作为混流后输出的显示时间戳,对布局后的帧数据进行混流。
一种多条流媒体数据的混流装置,包括:第一获取模块,用于获取多条流媒体数据中每条流媒体数据的帧数据;计算模块,用于确定将所述多条流媒体数据进行混流后的输出帧率,根据所述输出帧率计算混流后流媒体数据的帧间隔;第二获取模块,用于根据当前混流的混流时间戳和所述帧间隔,确定下一次混流的混流时间戳;混流模块,用于在下一次混流时,根据确定的混流时间戳分别从所述多条流媒体数据中提取每条流媒体数据对应的帧数据进行混流。
一种计算机可读存储介质,其上存储有计算机指令;所述指令用于执行上述任一实施例所述的多条流媒体数据的混流方法。
一种计算机设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于:执行根据上述任一实施例所述的多条流媒体数据的混流方法。
上述多条流媒体数据的混流方法,在确定多条流媒体数据混流后的输出帧率之后,计算混流输出的流媒体数据的帧间隔。通过帧间隔和当前混流的混流时间戳可确定系统下一次混流的时间戳。确定时间到达下一次混流时间,根据确定出的混流时间戳分别从多条流媒体数据中提取对应的帧数据进行混流。因此,上述方法能够根据混流后输出帧率自适应各条源流的不同帧率,不仅简化传统混流的逻辑,并且提高了混流的同步效果。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明提供的一种多条流媒体数据的混流方法的一实施例中的混流系统结构框图;
图2为本发明提供的一种多条流媒体数据的混流方法的一实施例中的方法流程图;
图3为本发明提供的步骤S100的一实施例中的方法流程图;
图4为本发明提供的一种多条流媒体数据的混流方法的一具体实施例中的流程示意图;
图5为本发明提供的一种多条流媒体数据的混流装置的一实施例中的结构示意图;
图6为本发明提供的一种计算机设备的一实施例中的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式,这里使用的“第一”、“第二”仅用于区别同一技术特征,并不对该技术特征的顺序和数量等加以限定。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明提供一种多条流媒体数据的混流方法。该多条流媒体数据的混流方法可应用在流媒体直播场景下的多个主播音视频连麦。以下先对多条流媒体数据的混流方法的混流系统进行先导性说明。参见图1所示:
在进行多个主播连麦混画时,多个主播通过主播客户端将采集到的流媒体数据上传到流媒体上传服务器。每个流媒体上传服务器再将对应主播的流媒体数据分别传送到流媒体混流服务器进行混流。进一步地,流媒体混流服务器将混流后的流媒体数据发送到CDN(内容分发)网络,以由直播观众通过观众客户端下载观看。其中,多个主播分别上传到流媒体上传服务器的流媒体数据可能对应不同的时间戳。由流媒体混流服务器进行混流时,有可能导致混流后的多个流媒体不同步的现象。
本发明提供的多条流媒体数据的混流方法,能够根据混流后输出帧率自适应各条源流的不同帧率,不仅简化传统混流的逻辑,并且提高了混流的同步效果。在一实施例中,如图2所示,该多条流媒体数据的混流方法,包括以下步骤:
S100,获取多条流媒体数据中每条流媒体数据的帧数据。
在本实施例中,流媒体混流服务器从每个流媒体上传服务器中读取出多条用于进行混流的流媒体数据。流媒体数据可以是音频流数据,视频流数据,或者音视频流数据。进一步地,将每条流媒体数据划分为多个帧数据。其中,可以按照时间轴坐标系将每条流媒体数据划分为时序相关的多个帧数据。每条流媒体数据的帧数据单独存储在服务器的缓存区。缓存区的长度以及缓存区中的流媒体数据的大小,可根据每条流媒体数据的抖动情况确定。
在一实施例中,步骤S100之后,还包括:从所述每条流媒体数据的帧数据中获取所述每条流媒体数据的首帧数据;将显示时间戳最大的首帧数据的显示时间戳作为混流的混流起始时间戳。
在该实施例中,流媒体混流服务器进行初次混流的混流起始时间戳由进行混流的多条流媒体数据中,每条流媒体数据中的首帧数据的显示时间戳决定。流媒体混流服务器获取每条流媒体数据的首帧数据,并获取每个首帧数据的显示时间戳,将最大显示时间戳的首帧数据的显示时间戳作为流媒体混流服务器进行初次混流的混流起始时间戳。
S200,确定将所述多条流媒体数据进行混流后的输出帧率,根据所述输出帧率计算混流后流媒体数据的帧间隔。
在本实施例中,对于每个混流后的流媒体数据的输出帧率,流媒体混流服务器根据系统当前状态提前设置。通过混流后的输出帧率计算混流后流媒体混流服务器输出的流媒体数据的帧间隔。例如,流媒体混流服务器设置混流后的流媒体数据的输出帧率为1秒输出20帧数据。此时,可计算得到混流后流媒体数据的帧间隔为50毫秒。
S300,根据当前混流的混流时间戳和所述帧间隔,确定下一次混流的混流时间戳。
在本实施例中,流媒体混流服务器获取到混流后流媒体数据的帧间隔时,可根据当前混流的混流时间戳,确定下一次进行混流的混流时间戳。具体地,可将当前时间戳与混流后流媒体数据的帧间隔进行累加,将累加得到的时间戳作为下一次混流的混流时间戳。例如,当前混流的时间戳为100毫秒,混流后流媒体数据的帧间隔为50毫秒,则下次混流的混流时间戳为150毫秒。
S400,在下一次混流时,根据确定的混流时间戳分别从所述多条流媒体数据中提取每条流媒体数据对应的帧数据进行混流。
在本实施例中,流媒体混流服务器根据当前时间戳和混流后流媒体数据的帧间隔确定出每一个下一次混流的混流时间戳之后,当时间到达下一次混流时间戳时,根据确定出的下一次混流时间戳分别从多条用于进行混流的流媒体数据中提取每条流媒体数据对应的帧数据进行混流。具体地,可先判断缓存区中是否缓存有每条流媒体数据对应的帧数据,在确定缓存区中均缓存有每条流媒体数据对应的帧数据时,从多条用于进行混流的流媒体数据中提取每条流媒体数据对应的帧数据进行混流。否则,在该确定的混流时间戳不进行流媒体数据的混流。
在一实施例中,所述多条流媒体数据包括多条视频流数据;步骤S400,包括:分别从所述多条视频流数据中提取每条视频流数据对应的帧数据;根据所述多条视频流数据混流后进行展示的参数对所述对应的帧数据进行布局;将每次所述混流时间戳作为混流后输出的显示时间戳,对布局后的帧数据进行混流。
在该实施例中,流媒体混流服务器对多条视频流数据进行混流。当流媒体混流服务器分别从多条视频流数据中提取每条视频流数据对应的帧数据进行混流时,根据混流后展示到观众客户端的各个展示参数对各条视频流数据对应的帧数据进行调整布局,以在每次混流时间戳时进行混流。
在一实施例中,如图3所示,所述步骤S100,包括:
S110,接收多条流媒体数据,将所述多条流媒体数据中每条流媒体数据划分为多条帧数据。
S120,根据所述每条流媒体数据的抖动情况确定对应流媒体数据的抖动缓存长度,根据所述抖动缓存长度设置所述对应流媒体数据的缓存区。
S130,将所述每条流媒体数据的帧数据分别缓存进对应的缓存区,控制每个所述缓存区中帧数据缓存时间相同。
S140,分别从每个所述缓存区中获取所述每条流媒体数据的帧数据。
在该实施例中,流媒体混流服务器接收多条用于混流的流媒体数据之后,将每条流媒体数据划分为多条帧数据。并且,根据每条流媒体数据的抖动性确定系统中缓存该流媒体数据的缓存区的抖动缓存长度。进一步地,将接收到的每条流媒体数据分别缓存进对应的缓存区。同时,控制每个缓存区中,每个帧数据在缓存区的缓存时间相同。例如,流媒体数据A和流媒体数据B。流媒体数据A缓存在缓存区的帧数据包括帧数据a1和帧数据a2。流媒体数据B缓存在缓存区的帧数据包括帧数据b1和帧数据b2。帧数据a1、帧数据a2、帧数据b1和帧数据b2在缓存区中的缓存时间均相同。进而,流媒体混流服务器从每个缓存区中提取每条流媒体数据的帧数据,以将提取的帧数据进行混流。
进一步地,在该实施例的一个实施方式中,所述多条流媒体数据的混流方法还包括:将所述每条流媒体数据的帧数据的显示时间戳映射到同一时间坐标系。此时,步骤S400,包括:根据所述同一时间坐标系中每条流媒体数据的帧数据的显示时间戳,分别从所述每条流媒体数据对应的所述缓存区中获取距离所述混流时间戳预设时间范围内的且显示时间戳小于或等于所述混流时间戳的帧数据进行混流。
在该实施方式中,由于不同的流媒体数据来自不同的数据上传通道,流媒体混流服务器接收到的多条流媒体数据的显示时间戳来自不同的时间坐标系。因此,流媒体混流服务器将多条流媒体数据的帧数据的显示时间戳均映射到同一时间坐标系,以为所有的帧数据设置同一时间参考标准,从而使得根据帧数据的显示时间戳从缓存区中获取对应的帧数据进行混流时,提取的帧数据更加精准,从而提高了混流后显示到观众客户端的混画质量。
进一步地,在该实施方式的一个实施例中,所述分别从所述每条流媒体数据对应的所述缓存区中获取距离所述混流时间戳预设时间范围内的且显示时间戳小于或等于所述混流时间戳的帧数据进行混流,包括:若所述多条流媒体数据中任意一条流媒体数据对应的缓存区中不存在所述距离所述混流时间戳预设时间范围内的且显示时间戳小于或等于所述混流时间戳的帧数据,则等待预设时长后获取下一次混流时间戳,在到达所述下一次混流时间戳时,分别从所述每条流媒体数据对应的所述缓存区中获取距离所述下一次混流时间戳预设时间范围内的且显示时间戳小于或等于所述下一次混流时间戳的帧数据进行混流。其中,所述等待预设时长不超过所述多条流媒体数据中缓存区达到最大输入流时的时长。
在该实施例中,流媒体混流服务器在确认时间达到混流时间戳时,先判断缓存模块中用于混流的每条流媒体数据是否缓存有距离当前混流时间戳预设时间范围内的且显示时间戳小于或等于当前混流时间戳的帧数据。若是,则直接从每条流媒体数据对应的缓存区中提取距离当前混流时间戳预设时间范围内的且显示时间戳小于或等于当前混流时间戳的帧数据进行混流。若否,则流媒体混流服务器在当前的混流时间戳不进行混流操作,得到下一个混流的混流时间戳再进行混流操作。然而,流媒体混流服务器给每条流媒体数据设置的缓存区的抖动缓存长度有限,因此流媒体混流服务器等待混流的时间不宜超过任一缓存区达到最大输入流时的时长。
上述多条流媒体数据的混流方法,在确定多条流媒体数据混流后的输出帧率之后,计算混流输出的流媒体数据的帧间隔。通过帧间隔和当前混流的混流时间戳可确定系统下一次混流的时间戳。确定时间到达下一次混流时间,根据确定出的混流时间戳分别从多条流媒体数据中提取对应的帧数据进行混流。因此,上述方法能够根据混流后输出帧率自适应各条源流的不同帧率,不仅简化传统混流的逻辑,并且提高了混流的同步效果。
为了更进一步地说明上述多条流媒体数据的混流方法,以下提供一具体的实施例:
如图4所示,服务端接收各条流的视频数据,各条视频数据分别组装成视频帧数据,并且根据各条数据流的接收抖动情况计算缓存每条数据流的全局抖动缓冲长度,进一步统一各条数据流的抖动缓冲长度。视频帧数据从抖动缓冲区被提取出之后依次进行解码。进一步地,将各条数据流的视频帧数据的PTS(Presentation Time Stamp显示时间戳)映射到同一坐标系,并根据接收到的各条数据流的视频帧数据的PTS进行微调修正误差。提取取各条数据流的首帧数据中,最大PTS作为混流起始时间戳。在进行每次混流时,根据混流后输出帧率计算帧间隔,结合当前混流时间和帧间隔算出下一帧混流时间戳。在每个混流时间戳时间到达时,从各条数据流中取出PTS小于等于混流时间戳且最接近该时间戳的帧作为待混帧,此时相同帧可能被重复使用。进一步地,判断待混帧与输入流数是否匹配,如若缺帧且缓存区中最大输入流长度未超过最大等待时间,则等待一小段时间并执行混流时间戳计算步骤。在进行混流时,将待混帧根据观众客户端混画参数进行布局,将混流时间戳作为输出PTS进行重新编码以输出。同时更新当前混画时间戳。若当前时间未达到混流结束之间,则继续进行混流。若当前时间已达到混流结束时间,则结束混流操作。
上述具体实施例所述的多条流媒体数据的混流方法,以简单统一的逻辑对多条数据流进行混流,根据目标帧率(混流后的输出帧率)对各源流自动进行补帧或删帧,从而大大简化混流逻辑,提高观众客户端的混画同步效果。
本发明还提供一种多条流媒体数据的混流装置。在一实施例中,如图5所示,该多条流媒体数据的混流装置包括第一获取模10、计算模块20、第二获取模块30以及混流模块40。
第一获取模块10用于获取多条流媒体数据中每条流媒体数据的帧数据。在本实施例中,流媒体混流服务器从每个流媒体上传服务器中读取出多条用于进行混流的流媒体数据。流媒体数据可以是音频流数据,视频流数据,或者音视频流数据。进一步地,将每条流媒体数据划分为多个帧数据。其中,可以按照时间轴坐标系将每条流媒体数据划分为时序相关的多个帧数据。每条流媒体数据的帧数据单独存储在服务器的缓存区。缓存区的长度以及缓存区中的流媒体数据的大小,可根据每条流媒体数据的抖动情况确定。
计算模块20用于确定将所述多条流媒体数据进行混流后的输出帧率,根据所述输出帧率计算混流后流媒体数据的帧间隔。在本实施例中,对于每个混流后的流媒体数据的输出帧率,流媒体混流服务器根据系统当前状态提前设置。通过混流后的输出帧率计算混流后流媒体混流服务器输出的流媒体数据的帧间隔。例如,流媒体混流服务器设置混流后的流媒体数据的输出帧率为1秒输出20帧数据。此时,可计算得到混流后流媒体数据的帧间隔为50毫秒。
第二获取模块30用于根据当前混流的混流时间戳和所述帧间隔,确定下一次混流的混流时间戳。在本实施例中,流媒体混流服务器获取到混流后流媒体数据的帧间隔时,可根据当前混流的混流时间戳,确定下一次进行混流的混流时间戳。具体地,可将当前时间戳与混流后流媒体数据的帧间隔进行累加,将累加得到的时间戳作为下一次混流的混流时间戳。例如,当前混流的时间戳为100毫秒,混流后流媒体数据的帧间隔为50毫秒,则下次混流的混流时间戳为150毫秒。
混流模块40用于在下一次混流时,根据确定的混流时间戳分别从所述多条流媒体数据中提取每条流媒体数据对应的帧数据进行混流。在本实施例中,流媒体混流服务器根据当前时间戳和混流后流媒体数据的帧间隔确定出每一个下一次混流的混流时间戳之后,当时间到达下一次混流时间戳时,根据确定出的下一次混流时间戳分别从多条用于进行混流的流媒体数据中提取每条流媒体数据对应的帧数据进行混流。具体地,可先判断缓存区中是否缓存有每条流媒体数据对应的帧数据,在确定缓存区中均缓存有每条流媒体数据对应的帧数据时,从多条用于进行混流的流媒体数据中提取每条流媒体数据对应的帧数据进行混流。否则,在该确定的混流时间戳不进行流媒体数据的混流。
在其他实施例中,本发明提供的多条流媒体数据的混流装置中的各个模块还用于执行本发明所述的多条流媒体数据的混流方法中,对应各个步骤执行的操作,在此不再做详细的说明。
本发明还提供一种计算机可读存储介质。该存储介质上存储有计算机程序;所述计算机程序被处理器执行时,实现上述任一实施例所述的多条流媒体数据的混流方法。该存储介质可以是存储器。例如,内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储介质包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
本发明还提供一种计算机设备。一种计算机设备包括:一个或多个处理器;存储器;一个或多个应用程序。其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述任一实施例所述的多条流媒体数据的混流方法。
图6为本发明一实施例中的计算机设备的结构示意图。本实施例所述计算机设备可以是服务器、个人计算机以及网络设备。如图6所示,设备包括处理器603、存储器605、输入单元607以及显示单元609等器件。本领域技术人员可以理解,图6示出的设备结构器件并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器605可用于存储应用程序601以及各功能模块,处理器603运行存储在存储器605的应用程序601,从而执行设备的各种功能应用以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
输入单元607用于接收信号的输入,以及接收用户输入的关键字。输入单元607可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元609可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元609可采用液晶显示器、有机发光二极管等形式。处理器603是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器605内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
在一实施方式中,设备包括一个或多个处理器603,以及一个或多个存储器605,一个或多个应用程序601。其中所述一个或多个应用程序601被存储在存储器605中并被配置为由所述一个或多个处理器603执行,所述一个或多个应用程序601配置用于执行以上实施例所述的多条流媒体数据的混流方法。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括存储器、磁盘或光盘等。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
应该理解的是,在本发明各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种多条流媒体数据的混流方法,其特征在于,包括:
获取多条流媒体数据中每条流媒体数据的帧数据;
确定将所述多条流媒体数据进行混流后的输出帧率,根据所述输出帧率计算混流后流媒体数据的帧间隔;
根据当前混流的混流时间戳和所述帧间隔,确定下一次混流的混流时间戳;
在下一次混流时,根据所述确定的混流时间戳分别从所述多条流媒体数据中提取每条流媒体数据对应的帧数据进行混流。
2.根据权利要求1所述的方法,其特征在于,所述获取多条流媒体数据中每条流媒体数据的帧数据,包括:
接收多条流媒体数据,将所述多条流媒体数据中每条流媒体数据划分为多条帧数据;
根据所述每条流媒体数据的抖动情况确定对应流媒体数据的抖动缓存长度,根据所述抖动缓存长度设置所述对应流媒体数据的缓存区;
将所述每条流媒体数据的帧数据分别缓存进对应的缓存区,控制每个所述缓存区中帧数据缓存时间相同;
分别从每个所述缓存区中获取所述每条流媒体数据的帧数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:将所述每条流媒体数据的帧数据的显示时间戳映射到同一时间坐标系;所述在下一次混流时,根据所述确定的混流时间戳根据每次所述混流时间戳分别从所述多条流媒体数据中提取每条流媒体数据对应的帧数据进行混流,包括:
根据所述同一时间坐标系中每条流媒体数据的帧数据的显示时间戳,分别从所述每条流媒体数据对应的所述缓存区中获取距离所述混流时间戳预设时间范围内的且显示时间戳小于或等于所述混流时间戳的帧数据进行混流。
4.根据权利要求3所述的方法,其特征在于,所述分别从所述每条流媒体数据对应的所述缓存区中获取距离所述混流时间戳预设时间范围内的且显示时间戳小于或等于所述混流时间戳的帧数据进行混流,包括:
若所述多条流媒体数据中任意一条流媒体数据对应的缓存区中不存在所述距离所述混流时间戳预设时间范围内的且显示时间戳小于或等于所述混流时间戳的帧数据,则等待预设时长后获取下一次混流时间戳,在到达所述下一次混流时间戳时,分别从所述每条流媒体数据对应的所述缓存区中获取距离所述下一次混流时间戳预设时间范围内的且显示时间戳小于或等于所述下一次混流时间戳的帧数据进行混流。
5.根据权利要求4所述的方法,其特征在于,所述等待预设时长不超过所述多条流媒体数据中缓存区达到最大输入流时的时长。
6.根据权利要求1所述的方法,其特征在于,所述获取多条流媒体数据中每条流媒体数据的帧数据之后,还包括:
从所述每条流媒体数据的帧数据中获取所述每条流媒体数据的首帧数据;
将显示时间戳最大的首帧数据的显示时间戳作为混流的混流起始时间戳。
7.根据权利要求1所述的方法,其特征在于,所述多条流媒体数据包括多条视频流数据;所述在下一次混流时,根据所述确定的混流时间戳分别从所述多条流媒体数据中提取每条流媒体数据对应的帧数据进行混流,包括:
分别从所述多条视频流数据中提取每条视频流数据对应的帧数据;
根据所述多条视频流数据混流后进行展示的参数对所述对应的帧数据进行布局;
将每次所述混流时间戳作为混流后输出的显示时间戳,对布局后的帧数据进行混流。
8.一种多条流媒体数据的混流装置,其特征在于,包括:
第一获取模块,用于获取多条流媒体数据中每条流媒体数据的帧数据;
计算模块,用于确定将所述多条流媒体数据进行混流后的输出帧率,根据所述输出帧率计算混流后流媒体数据的帧间隔;
第二获取模块,用于根据当前混流的混流时间戳和所述帧间隔,确定下一次混流的混流时间戳;
混流模块,用于在下一次混流时,根据所述确定的混流时间戳分别从所述多条流媒体数据中提取每条流媒体数据对应的帧数据进行混流。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机指令;所述指令用于执行上述权利要求1-7中任一项所述的多条流媒体数据的混流方法。
10.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于:执行根据权利要求1~7任一项所述的多条流媒体数据的混流方法。
CN201811613917.3A 2018-12-27 2018-12-27 流媒体数据的混流方法、装置及存储介质、计算机设备 Active CN109729373B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811613917.3A CN109729373B (zh) 2018-12-27 2018-12-27 流媒体数据的混流方法、装置及存储介质、计算机设备
PCT/CN2019/120714 WO2020134791A1 (zh) 2018-12-27 2019-11-25 流媒体数据的混流方法、装置及存储介质、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811613917.3A CN109729373B (zh) 2018-12-27 2018-12-27 流媒体数据的混流方法、装置及存储介质、计算机设备

Publications (2)

Publication Number Publication Date
CN109729373A true CN109729373A (zh) 2019-05-07
CN109729373B CN109729373B (zh) 2020-12-08

Family

ID=66297358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811613917.3A Active CN109729373B (zh) 2018-12-27 2018-12-27 流媒体数据的混流方法、装置及存储介质、计算机设备

Country Status (2)

Country Link
CN (1) CN109729373B (zh)
WO (1) WO2020134791A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110290421A (zh) * 2019-08-01 2019-09-27 北京达佳互联信息技术有限公司 帧率调整方法、装置、计算机设备及存储介质
CN110475137A (zh) * 2019-09-06 2019-11-19 北京市博汇科技股份有限公司 一种高精度分布式显控帧同步方法和系统
CN110650353A (zh) * 2019-09-25 2020-01-03 广州华多网络科技有限公司 多人连麦混画方法及装置、存储介质及电子设备
CN111107299A (zh) * 2019-12-05 2020-05-05 视联动力信息技术股份有限公司 一种多路视频合成的方法及装置
CN111277885A (zh) * 2020-03-09 2020-06-12 北京三体云时代科技有限公司 音视频同步方法、装置、服务器和计算机可读存储介质
WO2020134791A1 (zh) * 2018-12-27 2020-07-02 广州华多网络科技有限公司 流媒体数据的混流方法、装置及存储介质、计算机设备
CN112511768A (zh) * 2020-11-27 2021-03-16 上海网达软件股份有限公司 多画面合成方法、装置、设备及存储介质
CN114007108A (zh) * 2021-10-28 2022-02-01 广州华多网络科技有限公司 音频流混音控制方法及其装置、设备、介质、产品
CN114679589A (zh) * 2022-02-07 2022-06-28 上海哔哩哔哩科技有限公司 直播混流服务动态调整方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2713609A1 (en) * 2012-09-28 2014-04-02 Stockholms Universitet Holding AB Dynamic delay handling in mobile live video production systems
CN104602095A (zh) * 2014-12-26 2015-05-06 广东威创视讯科技股份有限公司 一种组合桌面采集与同步显示方法及系统
CN105430537A (zh) * 2015-11-27 2016-03-23 刘军 对多路数据进行合成的方法、服务器及音乐教学系统
CN105491393A (zh) * 2015-12-02 2016-04-13 北京暴风科技股份有限公司 多人视频直播业务的实现方法
CN106921866A (zh) * 2017-05-03 2017-07-04 广州华多网络科技有限公司 辅助直播的多视频导播方法和设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8379677B2 (en) * 2007-04-30 2013-02-19 Vixs Systems, Inc. System for combining a plurality of video streams and method for use therewith
CN104994278A (zh) * 2015-06-30 2015-10-21 北京竞业达数码科技有限公司 多路视频同步处理方法及装置
CN108881957A (zh) * 2017-11-02 2018-11-23 北京视联动力国际信息技术有限公司 一种多媒体文件的混合方法和装置
CN108881927B (zh) * 2017-11-30 2020-06-26 视联动力信息技术股份有限公司 一种视频数据合成方法和装置
CN109729373B (zh) * 2018-12-27 2020-12-08 广州华多网络科技有限公司 流媒体数据的混流方法、装置及存储介质、计算机设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2713609A1 (en) * 2012-09-28 2014-04-02 Stockholms Universitet Holding AB Dynamic delay handling in mobile live video production systems
CN104602095A (zh) * 2014-12-26 2015-05-06 广东威创视讯科技股份有限公司 一种组合桌面采集与同步显示方法及系统
CN105430537A (zh) * 2015-11-27 2016-03-23 刘军 对多路数据进行合成的方法、服务器及音乐教学系统
CN105491393A (zh) * 2015-12-02 2016-04-13 北京暴风科技股份有限公司 多人视频直播业务的实现方法
CN106921866A (zh) * 2017-05-03 2017-07-04 广州华多网络科技有限公司 辅助直播的多视频导播方法和设备

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020134791A1 (zh) * 2018-12-27 2020-07-02 广州华多网络科技有限公司 流媒体数据的混流方法、装置及存储介质、计算机设备
CN110290421A (zh) * 2019-08-01 2019-09-27 北京达佳互联信息技术有限公司 帧率调整方法、装置、计算机设备及存储介质
CN110475137A (zh) * 2019-09-06 2019-11-19 北京市博汇科技股份有限公司 一种高精度分布式显控帧同步方法和系统
CN110475137B (zh) * 2019-09-06 2021-05-14 北京市博汇科技股份有限公司 一种高精度分布式显控帧同步方法和系统
CN110650353B (zh) * 2019-09-25 2020-12-04 广州华多网络科技有限公司 多人连麦混画方法及装置、存储介质及电子设备
CN110650353A (zh) * 2019-09-25 2020-01-03 广州华多网络科技有限公司 多人连麦混画方法及装置、存储介质及电子设备
CN111107299A (zh) * 2019-12-05 2020-05-05 视联动力信息技术股份有限公司 一种多路视频合成的方法及装置
CN111277885A (zh) * 2020-03-09 2020-06-12 北京三体云时代科技有限公司 音视频同步方法、装置、服务器和计算机可读存储介质
CN112511768A (zh) * 2020-11-27 2021-03-16 上海网达软件股份有限公司 多画面合成方法、装置、设备及存储介质
CN112511768B (zh) * 2020-11-27 2024-01-02 上海网达软件股份有限公司 多画面合成方法、装置、设备及存储介质
CN114007108A (zh) * 2021-10-28 2022-02-01 广州华多网络科技有限公司 音频流混音控制方法及其装置、设备、介质、产品
CN114007108B (zh) * 2021-10-28 2023-09-19 广州华多网络科技有限公司 音频流混音控制方法及其装置、设备、介质、产品
CN114679589A (zh) * 2022-02-07 2022-06-28 上海哔哩哔哩科技有限公司 直播混流服务动态调整方法及装置
CN114679589B (zh) * 2022-02-07 2023-11-17 上海哔哩哔哩科技有限公司 直播混流服务动态调整方法及装置

Also Published As

Publication number Publication date
CN109729373B (zh) 2020-12-08
WO2020134791A1 (zh) 2020-07-02

Similar Documents

Publication Publication Date Title
CN109729373A (zh) 流媒体数据的混流方法、装置及存储介质、计算机设备
KR102628963B1 (ko) 게임 시스템들에서 디스플레이 랙의 검출 및 보상
US11025982B2 (en) System and method for synchronizing content and data for customized display
US20130311595A1 (en) Real-time contextual overlays for live streams
CN109565620A (zh) 低延迟http实时流传输
US11662051B2 (en) Shadow tracking of real-time interactive simulations for complex system analysis
CN110099283A (zh) 信息推送方法、装置、设备和存储介质
CN112153082B (zh) 一种在安卓系统中平滑显示实时流视频画面的方法及装置
CN110933450B (zh) 多路直播同步方法、系统、边缘设备、终端及存储介质
CN104080006B (zh) 一种视频处理装置及方法
CN108293145A (zh) 视频分发同步
WO2023284428A1 (zh) 直播视频的播放方法、装置、电子设备、存储介质及程序产品
CN104219571A (zh) 一种自动提供看点的方法和装置
US11330347B2 (en) Dynamically optimized stoppage time media content
CN109348241B (zh) 多人视频直播间中视频播放方法、装置和计算机设备
CN110650353B (zh) 多人连麦混画方法及装置、存储介质及电子设备
EP3542246A1 (en) Streaming content based on skip histories
CN113099281A (zh) 视频互动方法、装置、存储介质及终端
WO2019028158A1 (en) SYSTEM AND METHOD FOR COLLECTING AND ANALYZING EVENT DATA
JP7487398B1 (ja) 動画配信装置、動画配信方法、動画配信プログラム、及び動画配信システム
CN108024124B (zh) 一种视频节目的广告过滤方法
CN110996146A (zh) 一种广告机间共享广告资源的方法
CN107690075A (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
TR01 Transfer of patent right

Effective date of registration: 20210108

Address after: 511442 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 511442 29 floor, block B-1, Wanda Plaza, Huambo business district, Panyu District, Guangzhou, Guangdong.

Patentee before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190507

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000053

Denomination of invention: Mixed streaming method, device, storage medium and computer equipment for streaming media data

Granted publication date: 20201208

License type: Common License

Record date: 20210208

EE01 Entry into force of recordation of patent licensing contract