流媒体直播方法、发布端、客户端及系统的制作方法

文档序号:10516198
流媒体直播方法、发布端、客户端及系统的制作方法
【专利摘要】本发明公开了一种流媒体直播方法、发布端、客户端及系统。所述方法包括采集直播频道上的媒体通道的直播流媒体数据,直播流媒体数据包括至少两路;对直播流媒体数据进行编码;将编码后的直播流媒体数据放入服务平台中直播频道对应的缓冲区中。本发明的技术方案,可以弥补现有技术的不足,提高流媒体直播服务的灵活性,实现对两路以及两路以上的流媒体数据的传输,且通过采用本发明的方案,还能够保证流媒体直播过程中,流媒体数据传输的实时性以及稳定性。
【专利说明】
流媒体直播方法、发布端、客户端及系统
技术领域
[0001]本发明涉及流媒体处理技术领域,尤其涉及一种流媒体直播方法、发布端、客户端及系统。
【背景技术】
[0002]随着互联网科技的发展,基于互联网的数据传输的应用越来越广泛。例如利用互联网进行的远程会议或者远程教学的使用越来越频繁,在远程教学或者远程会议中,需要互联网的移动流媒体服务实现对移动流媒体数据的传输。
[0003]现有的移动流媒体服务主要包括点播和直播两大类,其中在远程教学和远程会议中多使用直播流媒体服务。现有的直播流媒体服务中,支持基于语音和视频的二路子媒体流的应用。例如,在实际的远程教学场景下,直播流媒体系统的发布端会向直播流媒体系统的客户端直播教师的语音以及视频信息,这样直播流媒体系统的客户端可以在线听到教师的语音,并在线观看教师的视频信息,尤如在现场一样。
[0004]但是,在实现本发明的过程中,发明人发现现有技术中的直播流媒体服务仅仅支持语音和视频两路流媒体数据的传输,灵活性太差,而无法实现实际应用中多路流媒体数据传输的需求。例如在实时的教学场景下,除了语音和视频的流媒体数据,通常还需要教师所讲解的课程内容的流媒体数据的传输,而此时现有的流媒体数据传输方案无法满足多路流媒体数据传输需求。

【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种流媒体直播方法、发布端、客户端及系统。
[0006]本发明提供一种流媒体直播方法,包括:
[0007]采集直播频道上的媒体通道的直播流媒体数据,所述直播流媒体数据包括至少两路;
[0008]对所述直播流媒体数据进行编码;
[0009]将编码后的所述直播流媒体数据放入服务平台中所述直播频道对应的缓冲区中,其中,编码后的所述直播流媒体数据按照所述媒体通道分别保存。
[0010]本发明还提供一种流媒体直播方法,包括:
[0011]根据要观看的直播流媒体的属性参数,从服务平台中获取直播所述直播流媒体的直播频道的标识;
[0012]根据所述直播频道的标识,从所述服务平台中所述直播频道对应的缓冲区中获取直播流媒体数据;所述直播流媒体数据包括至少两路;
[0013]对所述直播流媒体数据进行解码;
[0014]根据解码后的所述直播流媒体数据,播放所述直播流媒体数据。
[0015]本发明还提供一种流媒体直播发布端,包括:
[0016]采集模块,用于采集直播频道上的媒体通道的直播流媒体数据,所述直播流媒体数据包括至少两路;
[0017]编码模块,用于对所述直播流媒体数据进行编码;
[0018]缓存模块,用于将编码后的所述直播流媒体数据放入服务平台中所述直播频道对应的缓冲区中,其中,编码后的所述直播流媒体数据按照所述媒体通道分别保存。
[0019 ]本发明还提供一种流媒体直播客户端,包括:
[0020]频道标识获取模块,用于根据要观看的直播流媒体的属性参数,从服务平台中获取直播所述直播流媒体的直播频道的标识;
[0021 ]数据获取模块,用于根据所述直播频道的标识,从所述服务平台中所述直播频道对应的缓冲区中获取直播流媒体数据;所述直播流媒体数据包括至少两路;
[0022]解码模块,用于对所述直播流媒体数据进行解码;
[0023]播放模块,用于根据解码后的所述直播流媒体数据,播放所述直播流媒体数据。
[0024]本发明还提供一种流媒体直播系统,包括流媒体直播发布端、流媒体直播客户端以及服务平台;
[0025]所述流媒体直播发布端分别采用如上所述的流媒体直播发布端;所述流媒体直播客户端分别采用如上所述的流媒体直播客户端;所述服务平台分别与所述流媒体直播发布端和所述流媒体直播客户端连接,实现所述流媒体直播发布端向所述流媒体直播客户端直播流媒体数据。
[0026]本发明的流媒体直播方法、发布端、客户端及系统,通过在流媒体直播发布端采集直播频道上的媒体通道的直播流媒体数据,对所述直播流媒体数据进行编码;将编码后的所述直播流媒体数据放入服务平台中所述直播频道对应的缓冲区中。并在流媒体直播客户端根据要观看的直播流媒体的属性参数,从服务平台中获取直播所述直播流媒体的直播频道的标识;根据所述直播频道的标识,从所述服务平台中所述直播频道对应的缓冲区中获取直播流媒体数据;所述直播流媒体数据包括至少两路;对所述直播流媒体数据进行解码;根据解码后的所述直播流媒体数据,播放所述直播流媒体数据,从而实现流媒体从发布到播放的直播过程,本实施例的技术方案,可以弥补现有技术的不足,提高流媒体直播服务的灵活性,实现对两路以及两路以上的多路流媒体数据的传输,且通过采用上述方案,还能够保证流媒体直播过程中,流媒体数据传输的实时性以及稳定性。
[0027]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0028]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0029]图1为本发明的流媒体直播方法实施例一的流程图。
[0030]图2为本发明的流媒体直播方法实施例二的流程图。
[0031 ]图3为本发明的流媒体直播方法实施例三的流程图。
[0032]图4为本发明的流媒体直播发布端实施例一的结构示意图。
[0033]图5为本发明的流媒体直播发布端实施例二的结构示意图。
[0034]图6为本发明的流媒体直播客户端实施例的结构示意图。
[0035]图7为本发明的流媒体直播系统的结构示意图。
[0036]图8为本发明实施例的流媒体直播系统进行流媒体直播的信令交互图。
【具体实施方式】
[0037]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0038]图1为本发明的流媒体直播方法实施例一的流程图。如图1所示,本实施例的流媒体直播方法,具体可以包括如下步骤:
[0039]100、采集直播频道上的媒体通道的直播流媒体数据;
[0040]首先本实施例的流媒体直播方法在流媒体直播发布端一侧描述本发明的技术方案。
[0041]本实施例的数据包括至少两路,也就是说本实施例的流媒体包括至少两个媒体通道,每个媒体通道用于传输一路数据。例如在直播的教学场景中,该直播的流媒体可以包括从麦克风采集压缩形成的音频流、从摄像头获取后压缩形成的视频流、以及从个人计算机(Person Computer;PC)或者手持设备的屏幕上获取的屏幕图像流,该屏幕图像流可以指的是老师所讲解的课程内容,或者也可以理解为老师授课式的桌面内容。当然,本实施例的流媒体直播方法可以应用在其他直播场景中,在此不再一一举例赘述。
[0042]101、对直播流媒体数据进行编码;
[0043]实际应用中,为了提高个人流媒体资源发布的积极性,流媒体直播系统中可以包括多个流媒体直播发布端,而往往各个流媒体直播发布端采集的属于同一路媒体通道的数据格式也通常并不尽相同,例如不同的流媒体直播发布端发布的音频流的格式可能并不相同,发布的视频流的格式可能也并不相同,发布的屏幕图像流的格式可能也并不相同。另夕卜,同一流媒体直播发布端采集的不同流媒体的属于同一路媒体通道的数据格式可能也不尽相同。为了保证所有客户端均可以观看发布的直播流媒体,本实施例中可以在流媒体直播发布端一侧对所有要直播的流媒体的各媒体通道的数据都进行编码,使得编码后的属于同一媒体通道的数据格式相同,例如流媒体直播发布端对各媒体通道的数据编码之后,可以保证不同的流媒体直播发布端发布的音频流的格式都相同,视频流的格式也都相同,屏幕图像流的格式也都相同,这样,非常方便流媒体直播客户端一侧进行相同的解码方式进行解码,以便观看。当然,实际应用中,流媒体直播发布端一侧也可以对不同的流媒体对应的相同的媒体通道的数据进行不同的编码,编码后的属于相同媒体通道的数据格式也可以不相同,这样就要求流媒体直播客户端一侧对于属于相同流媒体通道的数据要选择不同的解码方式进行解码,以实现对流媒体的播放。
[0044]102、将编码后的直播流媒体数据放入服务平台中直播频道对应的缓冲区中。
[0045]例如,本实施例的服务平台中可以包括一个直播服务模块,该直播频道对应的缓冲区设置在直播服务模块中。此时可以具体将编码后的直播流媒体数据放入服务平台中的直播服务模块中该直播频道对应的缓冲区中。本实施例的服务平台中的直播服务模块是用于存放直播流媒体数据。流媒体在直播服务模块中存放时,按照直播频道来存。每一个直播频道都对应由自己的缓冲区。在每一个直播频道的缓冲区中,数据按照媒体通道来存,例如音频流、视频流和屏幕图像流的数据要分别存放,这样可以便于流媒体直播客户端对各媒体通道的数据的解码。
[0046]本实施例的流媒体直播方法,通过采集直播频道上的媒体通道的直播流媒体数据,对直播流媒体数据进行编码;将编码后的数据放入服务平台中直播频道对应的缓冲区中实现在流媒体直播发布端一侧对流媒体进行直播处理。本实施例的技术方案,可以弥补现有技术的不足,提高流媒体直播服务的灵活性,实现对两路以及两路以上的多路流媒体数据的传输,且通过采用上述方案,还能够保证流媒体直播过程中,流媒体数据传输的实时性以及稳定性。
[0047]在上述图1所示实施例的技术方案的基础上,其中步骤101“对直播流媒体数据进行编码”,具体可以包括:根据各媒体通道的数据的格式采用对应的压缩编码标准和编码参数对对应的数据进行编码,使得编码后不同的流媒体的属于同一媒体通道的数据的格式相同,便于客户端一侧进行相同的解码,以进行播放。
[0048]在流媒体直播发布端一侧,为了使得编码后属于同一媒体通道的数据格式相同,本实施例中,需要根据该媒体通道的数据的格式采用对应的编码标准和编码参数对对应的数据进行编码,不同的数据的格式采用的编码标准和编码参数可能均不相同。具体地,可以在管理服务模块中记录每一种媒体通道的各类格式的数据对应的编码标准、编码参数,以及编码后的目标格式等等信息。
[0049]进一步可选地,在上述实施例的技术方案的基础上,其中步骤102“将编码后的数据放入服务平台中直播频道对应的缓冲区中”,具体可以包括:将编码后的各数据按照先进先出的队列规则放入服务平台中的直播服务模块中直播频道对应的缓冲区中。
[0050]首先,直播服务模块的缓冲区中存放的数据是按照直播频道来存放的,每个直播频道上的数据又是按照媒体通道来存的,每个直播频道上有几个媒体通道,该直播频道就对应几个数据缓冲区。在每一个数据缓冲区,本实施例的编码后的数据放入直播服务模块中对应直播频道的缓冲区中时,是遵循队列的先进先出规则来放入的。
[0051 ]进一步可选地,在上述实施例的技术方案的基础上,在步骤100 “采集直播频道上的媒体通道的直播流媒体数据”之前,还可以包括如下步骤:
[0052](1)、向服务平台请求直播流媒体所需的直播频道的标识;并接收服务平台返回的直播频道的标识;
[0053]本实施例地服务平台中还可以包括一个管理服务模块。例如本实施例地步骤(I),具体向服务平台中的管理服务模块请求直播流媒体所需的直播频道的标识;并接收服务平台中的管理服务模块返回的直播频道的标识;
[0054]首先,流媒体直播发布端需要登录该管理服务器模块,利用管理服务模块可以采用用户名和密码的方式对各个流媒体直播发布端进行管理,这样流媒体直播发布端使用自己的用户名和密码登录该管理服务模块,并向该管理服务模块请求直播该流媒体所需要的直播频道标识,该直播频道标识为一个全球唯一标识符(GlobalIy Unique Identifier;GUID),用于唯一标识一个直播频道。管理服务模块中可以利用预先设置的生成机制,自动生成一个唯一的直播频道标识,用于标识直播该流媒体的直播频道。
[0055](2)向服务平台发送流媒体的属性参数,以供服务平台建立并保存直播频道的标识与流媒体的属性参数之间的对应关系;
[0056]同理,具体可以向服务平台中的管理服务模块发送流媒体的属性参数,以供管理服务模块建立并保存直播频道的标识与流媒体的属性参数之间的对应关系。
[0057]其中步骤(2)和步骤(I)可以同时进行,也就是说步骤(I)在请求直播频道标识的时候,可以直接在请求中携带该流媒体的属性参数;或者就像本实施例一样,向请求直播频道标识,管理服务模块分配了直播频道标识之后,再向管理服务模块发送流媒体的属性参数,这样,便于管理服务器模块建立直播频道的标识与流媒体的属性参数之间的对应关系。本实施例中的流媒体的属性参数可以包括流媒体的标识如名称、流媒体的上传地理区域以及流媒体的宣传页等等参数。同时,管理服务模块中也可以记录直播该流媒体的流媒体直播发布端的地址以及用户名等信息。
[0058]需要说明的是,管理服务模块中还管理有直播服务模块的地址信息。例如在上述图1所示实施例的步骤102“将编码后的数据放入服务平台中直播频道对应的缓冲区中”之前,流媒体直播发布端需要使用用户名和密码登录管理服务模块,并从管理服务模块中获取该直播服务模块的地址,并根据该直播服务模块的地址访问该直播服务模块,从而实现将编码后的各数据放入直播服务模块中直播频道对应的缓冲区中。
[0059](3)在服务平台中选定直播流媒体的直播频道,并采用直播频道的标识唯一标识直播频道;
[0060]例如,具体在服务平台中的直播服务模块中选定直播流媒体的直播频道,并采用直播频道的标识唯一标识直播频道。
[0061]同理流媒体直播发布端根据该直播服务模块的地址可以进入该直播服务模块,从该直播服务模块中选定一个直播该流媒体的直播频道,并采用管理服务模块生成的直播频道标识来标识该唯一标识该直播频道。
[0062](4)将服务平台中直播频道的标识对应的直播频道状态设置为直播状态。
[0063]例如具体将服务平台中的管理服务模块中直播频道的标识对应的直播频道状态设置为直播状态。
[0064]选定好直播频道之后,流媒体直播发布端再回到管理服务模块中将该直播频道标识对应的直播频道状态设置为直播状态。
[0065]进一步可选地,在上述实施例的技术方案的基础上,步骤102“将编码后的数据放入服务平台中直播频道对应的缓冲区中”之后,还可以包括:通过服务平台与直播流媒体的流媒体直播客户端进行互动。
[0066]例如,该服务平台中还包括一个交互服务模块。通过服务平台与直播流媒体的流媒体直播客户端进行互动,具体地,可以与服务平台中该直播频道对应的交互服务模块连接,以通过交互服务模块与直播流媒体的流媒体直播客户端进行互动。同样,在交互服务模块中也可以采用直播频道标识对每一个直播频道对应的交互服务模块进行标识。当流媒体直播客户端登录该直播频道对应的交互服务模块请求与流媒体直播发布端交互时,交互服务模块可以从管理服务模块中获取该直播频道对应的流媒体直播发布端的地址,并根据该流媒体直播发布端的地址与该流媒体直播发布端通信,实现流媒体直播发布端与流媒体直播客户端的交互。
[0067]上述实施例的流媒体直播方法中,流媒体直播发布端、流媒体直播客户端、管理服务模块、直播服务模块以及交互服务模块之间的通信可以采用实时传输协议(Real-timeTransport Protocol ;RTP)进行通信,可以金以保证流媒体直播的实时性与稳定性。实际应用中也可以采用其他的通信协议,在此不再一一赘述。
[0068]上述所有可选技术方案,可以采用可以结合的方式任意组合,形成本发明的可选实施例,在此不再举例赘述。
[0069]上述实施例的流媒体直播方法,通过采用上述方案可以实现在流媒体直播发布端一侧对流媒体的数据的处理。本实施例的技术方案,可以弥补现有技术的不足,提高流媒体直播服务的灵活性,实现对两路以及两路以上的流媒体数据的传输,且通过采用上述方案,还能够保证流媒体直播过程中,流媒体数据传输的实时性以及稳定性。
[0070]图2为本发明的流媒体直播方法实施例二的流程图。如图2所示,本实施例的流媒体直播方法在上述实施例的技术方案的基础上,进一步更加详细地介绍本发明的技术方案。如图2所示,本实施例的流媒体直播方法,具体可以包括如下步骤:
[0071]200、登录管理服务模块;
[0072]本实施例的流媒体直播方法的执行主体仍然为流媒体直播发布端。例如,流媒体直播发布端具体可以使用用户名加密码的方式登录。在管理服务模块中预先会存储每一个流媒体直播发布端的用户名和密码,当流媒体直播发布端使用正确的用户名和密码便可以登录至该管理服务模块。
[0073]201、向管理服务模块发送携带流媒体A的属性参数的直播频道标识请求,以请求管理服务模块为该直播该流媒体的直播频道分配直播频道标识;
[0074]管理服务模块接收到该直播频道标识请求之后,为直播该流媒体的直播频道分配用于唯一标识该直播频道的直播频道标识。同理在管理服务模块中记录该直播频道标识与该流媒体A的属性参数之间的对应关系,同时还记录要发布该流媒体A的流媒体直播发布端的地址等信息。
[0075]202、接收管理服务模块返回的直播频道的标识;
[0076]203、从管理服务模块中获取直播服务模块的地址;
[0077]管理服务模块中会记录有每一个直播服务发布端、直播服务模块、交互服务模块以及每一个直播服务客户端的地址。
[0078]204、根据直播服务模块的地址,访问直播服务模块,并从直播服务模块中选定一个直播该流媒体A的直播频道,并采用接收的直播频道标识来标识该直播频道;
[0079]205、将该直播频道标识对应的频道状态设置为直播状态;
[0080]206、采集直播状态的直播频道上的待直播的流媒体A的各媒体通道的直播流媒体数据;
[0081 ] 207、对流媒体A的各媒体通道的直播流媒体数据进行编码;
[0082]208、将编码后的流媒体A的各直播流媒体数据放入直播服务模块中直播频道对应的缓冲区中。
[0083]步骤206-208的具体实施,详细可以参考上述图1所述实施例的记载,在此不再赘述。
[0084]本实施例的流媒体直播方法,通过采用上述方案可以实现在流媒体直播发布端一侧对流媒体的数据的处理。本实施例的技术方案,可以弥补现有技术的不足,提高流媒体直播服务的灵活性,实现对两路以及两路以上的流媒体数据的传输,且通过采用上述方案,还能够保证流媒体直播过程中,流媒体数据传输的实时性以及稳定性。
[0085]图3为本发明的流媒体直播方法实施例三的流程图。如图3所示,本实施例的流媒体直播方法,本实施例的流媒体直播方法的执行主体为流媒体直播客户端,具体可以包括如下步骤:
[0086]300、根据要观看的直播的流媒体的属性参数,从服务平台中获取对应的直播该流媒体的直播频道的标识;
[0087]例如,具体可以从服务平台中的管理服务模块中获取对应的直播该流媒体的直播频道的标识。
[0088]首先流媒体直播客户端需要根据使用用户名和密码登录该管理服务模块。该管理服务模块中同样记录并管理有每一个流媒体直播客户端的用户名和地址。流媒体直播客户端登录至管理服务模块之后,选择要观看的直播,可以在管理服务模块中看到要观看的直播的流媒体的属性参数,并根据流媒体的属性参数与直播该流媒体的直播频道标识之间的对应关系,可以获取到对应的直播该流媒体的直播频道的标识。
[0089]301、根据直播频道的标识,从服务平台中直播频道对应的缓冲区中获取直播流媒体数据;
[0090]例如,具体可以从服务平台中的直播服务模块中直播频道对应的缓冲区中获取直播流媒体数据。
[0091]本实施例的直播流媒体数据包括至少两路;也就是说本实施例包括至少两个媒体通道,每个媒体通道用于传输一路数据。
[0092]302、对直播流媒体数据进行解码;
[0093]303、根据解码后的直播流媒体数据,播放该直播流媒体数据。
[0094]具体地,流媒体直播客户端可以对解码后形成数据进行同步控制后,对每个媒体通道的数据分别进行渲染并播放,从而实现对流媒体的直播。
[0095]本实施例的流媒体直播方法与上述图1所示实施例的区别在于:上述图1所示实施例在流媒体直播发布端描述本发明的流媒体直播,而本实施例在流媒体直播客户端描述本发明的流媒体直播。
[0096]本实施例的流媒体直播方法,通过根据要观看的直播的流媒体的属性参数,从服务平台中获取对应的直播该流媒体的直播频道的标识,根据直播频道的标识,从服务平台中直播频道对应的缓冲区中获取直播流媒体数据;对直播流媒体数据进行解码;根据解码后的直播流媒体数据,播放该直播流媒体数据,实现在流媒体直播客户端一侧对流媒体的直播。本实施例的技术方案,可以弥补现有技术的不足,提高流媒体直播服务的灵活性,实现对两路以及两路以上的流媒体数据的传输,且通过采用上述方案,还能够保证流媒体直播过程中,流媒体数据传输的实时性以及稳定性。
[0097]可选地,在上述图3所示实施例的技术方案的基础上,步骤301“根据直播频道的标识,从服务平台中直播频道对应的缓冲区中获取直播流媒体数据;”,具体可以包括:根据直播频道的标识,按照先进先出的队列规则从服务平台中的直播服务模块中直播频道标识对应的直播频道的缓冲区中获取流媒体的各媒体通道的数据。
[0098]进一步可选地,在上述图3所示实施例的技术方案的基础上,步骤300“根据要观看的直播的流媒体的属性参数,从服务平台中获取对应的直播该流媒体的直播频道的标识”之后,还可以包括:通过所述服务平台与直播所述流媒体的发布端进行互动。
[0099]例如,具体可以根据直播频道标识,与服务平台中直播频道标识对应的直播频道对应的交互服务模块连接,以通过交互服务模块与直播流媒体的发布端进行互动。
[0100]具体地,流媒体直播客户端获取到直播频道标识之后,还需要从管理服务模块中获取交互服务模块的地址,然后根据交互服务模块的地址访问该交互服务模块。由于交互的私密性,每一个直播频道可以占用一个交互服务模块,并将该交互服务模块标上该直播频道的标识。这样,流媒体直播客户端可以通过该直播频道的标识对应的交互服务模块请求与流媒体直播发布端进行交互。该交互服务模块收到该请求之后,可以从管理服务模块中获取该直播频道标识对应的流媒体直播发布端的地址,并根据该流媒体直播发布端的地址与该流媒体直播发布端通信,最终实现流媒体直播发布端与流媒体直播客户端的通信。需要说明的是,流媒体直播发布端的载体可以包括具有网络功能的PC电脑、或者具有WIFI或者3G等无线上网功能的手持设备。本实施例的流媒体直播发布端与流媒体直播客户端之间的交互可以为文本交互,也可以为语音交互。通过流媒体直播发布端与流媒体直播客户端的交互,可以实现提问、头片以及在线联系等等交互。
[0101]同理,上述实施例的流媒体直播方法中,流媒体直播发布端、流媒体直播客户端、管理服务模块、直播服务模块以及交互服务模块之间的通信可以采用RTP进行通信,可以金以保证流媒体直播的实时性与稳定性。
[0102]上述实施例的流媒体直播方法,通过采用上述方案可以实现在流媒体直播客户端一侧对流媒体的直播。本实施例的技术方案,可以弥补现有技术的不足,提高流媒体直播服务的灵活性,实现对两路以及两路以上的流媒体数据的传输,且通过采用上述方案,还能够保证流媒体直播过程中,流媒体数据传输的实时性以及稳定性。
[0103]图4为本发明的流媒体直播发布端实施例一的结构示意图。如图4所示,本实施例的流媒体直播发布端,具体可以包括:采集模块10、编码模块11和缓存模块12。
[0104]其中采集模块10用于采集直播频道上的媒体通道的直播流媒体数据,直播流媒体数据包括至少两路;直播流媒体数据包括至少两路;编码模块11用于对采集模块10采集的直播流媒体数据进行编码;缓存模块12用于将编码模块11编码后的直播流媒体数据放入服务平台中直播频道对应的缓冲区中,其中,编码后的直播流媒体数据按照所述媒体通道分别保存。
[0105]本实施例的流媒体直播发布端,通过采用上述模块实现流媒体直播处理的实现机制与上述图1所示的流媒体直播方法实施例的实现机制相同,详细亦可以参考上述图1所示实施例的记载,在此不再赘述。
[0106]本实施例的流媒体直播发布端,通过采用上述模块实现通过采集直播频道上的媒体通道的直播流媒体数据,对采集的直播流媒体数据进行编码;将编码后的直播流媒体数据放入服务平台中直播频道对应的缓冲区中,实现在流媒体直播发布端一侧对流媒体进行直播处理。本实施例的技术方案,可以弥补现有技术的不足,提高流媒体直播服务的灵活性,实现对两路以及两路以上的流媒体数据的传输,且通过采用上述方案,还能够保证流媒体直播过程中,流媒体数据传输的实时性以及稳定性。
[0107]图5为本发明的流媒体直播发布端实施例二的结构示意图。如图5所示,本实施例的流媒体直播发布端在上述图4所示实施例的基础上,进一步更加详细地描述本发明的技术方案。
[0108]首先,本实施例的流媒体直播发布端中,编码模块11具体用于根据各媒体通道的数据的格式采用对应的压缩编码标准和编码参数对采集模块10采集的对应的数据进行编码。
[0109]进一步可选地,本实施例的流媒体直播发布端中,缓存模块12具体用于将编码模块11编码后的各数据按照先进先出的队列规则放入直播服务模块中直播频道对应的缓冲区中。
[0110]如图5所示,本实施例的流媒体直播发布端中,流媒体直播发布端还包括:收发模块13、选择模块14和设置模块15。
[0111]其中收发模块13用于向服务平台请求直播频道的标识,接收服务平台返回的直播频道的标识;收发模块13还用于向服务平台发送直播流媒体的属性参数,以供服务平台建立并保存直播频道的标识与直播流媒体的属性参数之间的对应关系;选择模块14用于在服务平台中选定直播流媒体的所述直播频道,并采用直播频道的标识唯一标识直播频道;设置模块15用于将服务平台中直播频道的标识对应的直播频道状态设置为直播状态。
[0?12]如图5所不,本实施例的流媒体直播发布端中还包括:第一交互模块16,该第一交互模块16用于通过服务平台与直播流媒体的流媒体直播客户端进行互动。
[0113]本实施例的流媒体直播发布端,通过采用上述模块实现流媒体直播的实现机制与上述图2所示实施例的实现机制相同,详细可以参考上述图2所示实施例的记载,在此不再赘述。
[0114]本实施例的流媒体直播发布端,通过采用上述方案可以实现在流媒体直播发布端一侧对流媒体的数据的处理。本实施例的技术方案,可以弥补现有技术的不足,提高流媒体直播服务的灵活性,实现对两路以及两路以上的流媒体数据的传输,且通过采用上述方案,还能够保证流媒体直播过程中,流媒体数据传输的实时性以及稳定性。
[0115]图6为本发明的流媒体直播客户端实施例的结构示意图。如图6所示,本实施例的流媒体直播客户端,具体可以包括:直播频道标识获取模块20、数据获取模块21、解码模块22和播放模块23。
[0116]其中直播频道标识获取模块20用于根据要观看的直播流媒体的属性参数,从服务平台中获取直播所述直播流媒体的直播频道的标识;数据获取模块21用于根据直播频道标识获取模块20获取的直播频道的标识,从服务平台中直播频道标识对应的直播频道的缓冲区中获取直播流媒体数据;直播流媒体数据包括至少两路;解码模块22用于对数据获取模块21获取的直播流媒体数据进行解码;播放模块23用于根据解码模块22解码后的直播流媒体数据,播放直播流媒体数据。
[0117]本实施例的流媒体直播客户端,通过采用上述模块实现流媒体直播的实现机制与上述图3所示实施例的实现机制相同,详细可以参考上述图3所示实施例的记载,在此不再赘述。
[0118]本实施例的流媒体直播客户单端,通过采用上述模块可以实现根据要观看的直播的流媒体的属性参数,从服务平台中获取对应的直播该流媒体的直播频道的标识,根据直播频道的标识,从服务平台中直播频道对应的缓冲区中获取直播流媒体数据;对直播流媒体数据进行解码;根据解码后的直播流媒体数据,播放该直播流媒体数据,实现在流媒体直播客户端一侧对流媒体的直播。本实施例的技术方案,可以弥补现有技术的不足,提高流媒体直播服务的灵活性,实现对两路以及两路以上的流媒体数据的传输,且通过采用上述方案,还能够保证流媒体直播过程中,流媒体数据传输的实时性以及稳定性。
[0119]可选地,在上述图6所示实施例的基础上,数据获取模块21具体用于根据直播频道的标识,按照先进先出的队列规则从直播服务模块中直播频道标识对应的直播频道的缓冲区中获取流媒体的各媒体通道的数据。
[0120]进一步地,在上述图6所示实施例的基础上,流媒体直播客户端还可以包括:第二交互模块,该第二交互模块用于通过服务平台与直播流媒体的发布端进行互动。例如,具体可以根据直播频道标识,与直播频道对应的交互服务模块连接,以通过交互服务模块与直播流媒体的发布端进行互动。详细可以参考上述相关方法实施例的记载,在此不再赘述。
[0121]图7为本发明的流媒体直播系统的结构示意图。如图7所示,本实施例的流媒体直播系统,具体可以包括多个流媒体直播发布端100、多个流媒体直播客户端200以及服务平台300。该服务平台300中包括管理服务模块301、直播服务模块302以及交互服务模块303。
[0122]其中流媒体直播发布端100可以采用如上图4或者图5所示实施例的流媒体直播发布端;流媒体直播客户端200可以采用上述图6所示实施例的流媒体直播客户端;管理服务模块301分别与流媒体直播发布端100和流媒体直播客户端200连接,实现对直播的流媒体的直播频道的标识以及流媒体的属性参数进行管理;直播服务模块302分别与流媒体直播发布端100和流媒体直播客户端200连接,实现对直播频道上的直播流媒体数据的管理;交互服务模块303分别与流媒体直播发布端100和流媒体直播客户端200连接,实现对流媒体直播发布端100和流媒体直播客户端200的交互,且本实施例的所有连接之间的通信可以采用RTP进行通信,可以增强流媒体直播的实时性与稳定性。具体可以参考上述图1-图3所示实施例的流媒体直播方法实现流媒体的直播,在此不再赘述。
[0123]需要说明的是,实际应用中流媒体直播发布端100和流媒体直播客户端200的数量可以根据实际需求来设置,在此不做限定。为了便于统一管理,管理服务模块301和直播服务模块302的数量可以为一个,交互服务模块303可以为一个,也可以为多个。如果交互服务模块303为一个的话,内部可以设置多个交互服务单元,对于每一个直播流媒体的直播频道,可以对应一个交互服务单元。如果交互服务模块303包括多个的话,每一个交互服务模块303便可以直接对应一个直播流媒体的直播频道。本实施例中以设置一个交互服务模块303为例。
[0124]图8为本发明实施例的流媒体直播系统进行流媒体直播的信令交互图。如图8所示,本实施例的流媒体直播系统以直播一个远程的实时教学为例,本实施例的流媒体以包括至少两路媒体通道,传输音频流数据、视频流数据以及屏幕数据至少两路视频源为例来描述本发明的技术方案。
[0125]如图8所示,本实施例中以包括一个流媒体直播发布端100、一个流媒体直播客户端200、服务平台300中包括直播服务模块302和一个交互服务模块303为例,描述本发明的技术方案。另外,图8中为示出管理服务模块。
[0126]如图8所示,流媒体直播发布端100登录流管理服务模块,且确定采用直播频道标识为I的直播频道即直播频道I直播该实时教学的流媒体,并在管理服务模块中建立了管理服务模块与该流媒体的属性参数的对应关系。然后流媒体直播发布端100内通过至少两路通道分别进行流媒体数据的采集,得到音频数据、视频数据以及屏幕数据,然后分别对采集的音频数据进行音频编码、视频数据进行视频编码以及屏幕数据进行屏幕编码,分别形成音频码流、视频码流以及屏幕码流。紧接着流媒体直播发布端100从管理服务模块中获取直播服务模块302的地址,根据该地址访问该直播服务模块302,定义直播服务模块302中直播频道I的缓冲区,以实现对直播频道I直播的流媒体的码流进行存放。此时流媒体直播发布端100将音频码流、视频码流以及屏幕码流放入直播服务模块302中直播频道I对应的缓冲区中,由于每一媒体通道的码流是按照队列的先进先出规则存入,因此,也可以将直播频道I对应的缓冲区也可以称为直播频道I的队列池。如图8所示,直播频道I的队列池可以包括直播频道I对应的音频流队列1、视频流队列I以及屏幕流队列1,此处的I均表示直播频道的标识。实际应用中该流媒体直播系统可以同时直播多个流媒体,因此此处也可以包括多个直播频道,如共可以包括N个直播频道,其中N为大于I的正整数。对应每一个直播频道,直播服务模块302中均包括对应的缓冲区,如直播频道N队列池中可以包括直播频道N对应的音频流队列N、视频流队列N以及屏幕流队列N。
[0127]流媒体直播客户端200登录管理服务模块,从管理服务模块中获取要观看的直播所在的直播频道标识,例如用户要观看的直播频道标识为I。再从管理服务模块中获取直播服务模块302的地址,根据该直播服务模块302的地址访问该直播服务模块302,并从直播服务模块302中该直播频道I对应的缓冲区即直播频道I队列池中获取音频码流、视频码流和屏幕码流。紧接着对音频码流、视频码流和屏幕码流进行音频解码、视频解码和屏幕解码,最终得到音频数据、视频数据和屏幕数据;然后流媒体直播客户端200对音频数据、视频数据和屏幕数据至少两路数据进行流媒体数据的渲染和播放。
[0128]另外需要说明的是,流媒体直播客户端200获取到直播频道I的标识之后,还从管理服务模块中获取交互服务模块303的地址和流媒体直播发布端100的地址,然后根据该交互服务模块303的地址和流媒体直播发布端100的地址,访问该交互服务模块303,并从该交互服务模块303中选择一个交互服务单元与流媒体直播发布端100进行交互,为了形象描述本实施例的交互服务单元进行交互的场景,如图8所示,该交互服务单元可以称之为聊天室,并采用直播频道的标识来区分该聊天室,例如聊天室I,以表示该聊天室I为直播频道I对应的聊天室。这样,流媒体直播发布端100和流媒体直播客户端200在通过直播频道I直播该流媒体时,可以通过交互服务模块303中的该聊天室I进行交互。同理,当对应有N个频道时,交互服务模块303中也可以包括的对应的N个聊天室。
[0129]实际应用中,本实施例的流媒体直播系统,也可以对包括至少两路流媒体数据的直播,具体直播所采用数据传输协议可以采用RTP或者其他传输协议。
[0130]本实施例的流媒体直播系统,具体实现方式也可以参考上述图1-图7所示实施例的记载。
[0131]本实施例的流媒体直播系统,通过采用上述技术方案,可以实现对多路流媒体的直播。因此本实施例的技术方案,可以弥补现有技术的不足,提高流媒体直播服务的灵活性,实现对两路以及两路以上的流媒体数据的传输,且通过采用上述方案,还能够保证流媒体直播过程中,流媒体数据传输的实时性以及稳定性。
[0132]上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。
【主权项】
1.一种流媒体直播方法,其特征在于,包括: 采集直播频道上的媒体通道的直播流媒体数据,所述直播流媒体数据包括至少两路; 对所述直播流媒体数据进行编码; 将编码后的所述直播流媒体数据放入服务平台中所述直播频道对应的缓冲区中,其中,编码后的所述直播流媒体数据按照所述媒体通道分别保存。2.根据权利要求1所述的方法,其特征在于,采集直播频道上的媒体通道的直播流媒体数据之前,所述方法还包括: 向所述服务平台请求所述直播频道的标识,接收所述服务平台返回的所述直播频道的标识; 向所述服务平台发送所述直播流媒体的属性参数,以供所述服务平台建立并保存所述直播频道的标识与所述直播流媒体的属性参数之间的对应关系; 在所述服务平台中选定直播所述流媒体的所述直播频道,并采用所述直播频道的标识唯一标识所述直播频道; 将所述服务平台中所述直播频道的标识对应的直播频道状态设置为直播状态。3.根据权利要求2所述的方法,其特征在于,将编码后的所述数据放入服务平台中所述直播频道对应的缓冲区中之后,所述方法还包括: 通过所述服务平台与直播所述流媒体的流媒体直播客户端进行互动。4.一种流媒体直播方法,其特征在于,包括: 根据要观看的直播流媒体的属性参数,从服务平台中获取直播所述直播流媒体的直播频道的标识; 根据所述直播频道的标识,从所述服务平台中所述直播频道对应的缓冲区中获取直播流媒体数据;所述直播流媒体数据包括至少两路; 对所述直播流媒体数据进行解码; 根据解码后的所述直播流媒体数据,播放所述直播流媒体数据。5.根据权利要求4所述的方法,其特征在于,根据要观看的直播流媒体的属性参数,从服务平台中获取直播所述直播流媒体的直播频道的标识之后,所述方法还包括: 通过所述服务平台与直播所述流媒体的发布端进行互动。6.一种流媒体直播发布端,其特征在于,包括: 采集模块,用于采集直播频道上的媒体通道的直播流媒体数据,所述直播流媒体数据包括至少两路; 编码模块,用于对所述直播流媒体数据进行编码; 缓存模块,用于将编码后的所述直播流媒体数据放入服务平台中所述直播频道对应的缓冲区中,其中,编码后的所述直播流媒体数据按照所述媒体通道分别保存。7.根据权利要求6所述的流媒体直播发布端方法,其特征在于,所述流媒体直播发布端还包括: 收发模块,用于向所述服务平台请求所述直播频道的标识,接收所述服务平台返回的所述直播频道的标识; 所述收发模块,还用于向所述服务平台发送所述直播流媒体的属性参数,以供所述服务平台建立并保存所述直播频道的标识与所述直播流媒体的属性参数之间的对应关系; 选择模块,用于在所述服务平台中选定直播所述流媒体的所述直播频道,并采用所述直播频道的标识唯一标识所述直播频道; 设置模块,用于将所述服务平台中所述直播频道的标识对应的直播频道状态设置为直播状态。8.根据权利要求7所述的流媒体直播发布端,其特征在于,所述流媒体直播发布端还包括: 第一交互模块,用于通过所述服务平台与直播所述流媒体的流媒体直播客户端进行互动。9.一种流媒体直播客户端,其特征在于,包括: 频道标识获取模块,用于根据要观看的直播流媒体的属性参数,从服务平台中获取直播所述直播流媒体的直播频道的标识; 数据获取模块,用于根据所述直播频道的标识,从所述服务平台中所述直播频道对应的缓冲区中获取直播流媒体数据;所述直播流媒体数据包括至少两路; 解码模块,用于对所述直播流媒体数据进行解码; 播放模块,用于根据解码后的所述直播流媒体数据,播放所述直播流媒体数据。10.根据权利要求9所述的流媒体直播客户端,其特征在于,所述流媒体直播客户端还包括: 第二交互模块,用于通过所述服务平台与直播所述流媒体的发布端进行互动。11.一种流媒体直播系统,其特征在于,包括流媒体直播发布端、流媒体直播客户端以及服务平台; 所述流媒体直播发布端分别采用如上权利要求6-8任一所述的流媒体直播发布端;所述流媒体直播客户端分别采用如上权利要求9-10任一所述的流媒体直播客户端;所述服务平台分别与所述流媒体直播发布端和所述流媒体直播客户端连接,实现所述流媒体直播发布端向所述流媒体直播客户端直播流媒体数据。
【文档编号】H04N21/266GK105872579SQ201510980686
【公开日】2016年8月17日
【申请日】2015年12月23日
【发明人】张奇
【申请人】乐视网信息技术(北京)股份有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1