CN116962764A - 流媒体传输方法、装置、设备和存储介质 - Google Patents
流媒体传输方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN116962764A CN116962764A CN202310707710.7A CN202310707710A CN116962764A CN 116962764 A CN116962764 A CN 116962764A CN 202310707710 A CN202310707710 A CN 202310707710A CN 116962764 A CN116962764 A CN 116962764A
- Authority
- CN
- China
- Prior art keywords
- streaming media
- streaming
- code rate
- media
- address
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000001360 synchronised effect Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 101100122750 Caenorhabditis elegans gop-2 gene Proteins 0.000 description 7
- 101000946275 Homo sapiens Protein CLEC16A Proteins 0.000 description 6
- 102100034718 Protein CLEC16A Human genes 0.000 description 6
- 101100476639 Caenorhabditis elegans gop-3 gene Proteins 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供一种流媒体传输方法、装置、设备和存储介质,包括:接收流媒体接收装置发送的流媒体获取请求,流媒体获取请求中包括:待获取流媒体对应的拉流地址以及待获取流媒体的第一码率,拉流地址中包括多种码率对应的多个流媒体,多种码率包括第一码率和第二码率;将拉流地址中第一码率对应的第一流媒体传输给流媒体接收装置;响应于流媒体接收装置发送的指示从第一码率切换到第二码率的切换请求,停止传输第一流媒体并将拉流地址中第二码率对应的第二流媒体传输给流媒体接收装置,以使流媒体接收装置在播放完接收到的第一流媒体后播放第二流媒体。本方案中,码率切换不需要切换拉流地址,能够有效降低码率切换带来的流媒体时序跳变。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种流媒体传输方法、装置、设备和存储介质。
背景技术
流媒体是指采用流式传输的方式在互联网进行播放的媒体格式,如音频、视频或多媒体文件。与网络带宽相适应的,流媒体可以以不同的码率进行传输。实际应用中,由于网络带宽是动态变化的,因此通常需要对流媒体传输时的码率进行切换,比如:基于实时消息协议(Real Time Messaging Protocol,简称RTMP)传输的流媒体就容易受到带宽问题的影响,需要进行码率切换。以视频流媒体为例,受网络带宽的影响,为保证视频的播放效果,通常用户会通过切换视频播放器中的清晰度实现码率的切换,比如:将视频的清晰度从标清切换到高清,实现视频流媒体从低码率传输向高码率传输的切换。
相关技术中,一个拉流地址只对应于一种码率,若想要对码率进行切换则需要切换拉流地址。上述对视频流媒体清晰度的切换,实际上是在切换不同码率的视频流媒体所对应的拉流地址。由于拉流地址每次切换都要重新从服务端请求切换后的拉流地址对应的视频流媒体,因此,不可避免会造成码率切换前后的流媒体在时序上有跳变,比如视频画面在切换前后不连贯等。
发明内容
本发明实施例提供一种流媒体传输方法、装置、设备和存储介质,用以提升流媒体在码率切换前后播放的连贯性。
第一方面,本发明实施例提供一种流媒体传输方法,应用于流媒体发送装置,所述方法包括:
接收流媒体接收装置发送的流媒体获取请求,所述流媒体获取请求中包括:待获取流媒体对应的拉流地址以及所述待获取流媒体的第一码率,所述拉流地址中包括多种码率对应的多个流媒体,所述多种码率包括所述第一码率和第二码率;
将所述拉流地址中第一码率对应的第一流媒体传输给所述流媒体接收装置;
响应于所述流媒体接收装置发送的指示从所述第一码率切换到所述第二码率的切换请求,停止传输所述第一流媒体并将所述拉流地址中所述第二码率对应的第二流媒体传输给所述流媒体接收装置,以使所述流媒体接收装置在播放完接收到的所述第一流媒体后播放所述第二流媒体。
第二方面,本发明实施例提供一种流媒体传输方法,应用于流媒体接收装置,所述方法包括:
向流媒体发送装置发送的流媒体获取请求,所述流媒体获取请求中包括:待获取流媒体对应的拉流地址以及所述待获取流媒体的第一码率,所述拉流地址中包括多种码率对应的多个流媒体,所述多种码率包括所述第一码率和第二码率;
接收所述流媒体发送装置传输的所述拉流地址中第一码率对应的第一流媒体;
播放所述第一流媒体;
向所述流媒体发送装置发送的指示从所述第一码率切换到所述第二码率的切换请求;
接收所述流媒体发送装置传输的所述拉流地址中所述第二码率对应的第二流媒体;
在播放完接收到的所述第一流媒体后播放所述第二流媒体。
第三方面,本发明实施例提供一种流媒体传输装置,应用于流媒体发送装置,所述装置包括:
接收模块,用于接收流媒体接收装置发送的流媒体获取请求,所述流媒体获取请求中包括:待获取流媒体对应的拉流地址以及所述待获取流媒体的第一码率,所述拉流地址中包括多种码率对应的多个流媒体,所述多种码率包括所述第一码率和第二码率;
第一传输模块,用于将所述拉流地址中第一码率对应的第一流媒体传输给所述流媒体接收装置;
第二传输模块,用于响应于所述流媒体接收装置发送的指示从所述第一码率切换到所述第二码率的切换请求,停止传输所述第一流媒体并将所述拉流地址中所述第二码率对应的第二流媒体传输给所述流媒体接收装置,以使所述流媒体接收装置在播放完接收到的所述第一流媒体后播放所述第二流媒体。
第四方面,本发明实施例提供一种流媒体传输装置,应用于流媒体接收装置,所述装置包括:
发送模块,用于向流媒体发送装置发送的流媒体获取请求,所述流媒体获取请求中包括:待获取流媒体对应的拉流地址以及所述待获取流媒体的第一码率,所述拉流地址中包括多种码率对应的多个流媒体,所述多种码率包括所述第一码率和第二码率;
处理模块,用于接收所述流媒体发送装置传输的所述拉流地址中第一码率对应的第一流媒体;播放所述第一流媒体;
所述发送模块,还用于向所述流媒体发送装置发送的指示从所述第一码率切换到所述第二码率的切换请求;
所述处理模块,还用于接收所述流媒体发送装置传输的所述拉流地址中所述第二码率对应的第二流媒体;在播放完接收到的所述第一流媒体后播放所述第二流媒体。
第五方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第一方面所述的流媒体传输方法。
第六方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第二方面所述的流媒体传输方法。
第七方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的流媒体传输方法。
第八方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第二方面所述的流媒体传输方法。
在本发明实施例提供的方案中,流媒体发送装置的每个拉流地址中包含有多种码率对应的多个流媒体,多种码率包括第一码率和第二码率,每个拉流地址对应的多个流媒体的媒体内容相同。当用户想要播放某一码率的流媒体时,流媒体接收装置响应于用户的操作,向流媒体发送装置发送流媒体获取请求。其中,流媒体获取请求中包括:待获取流媒体对应的拉流地址以及待获取流媒体的第一码率。之后,流媒体发送装置根据流媒体获取请求,将拉流地址中第一码率对应的第一流媒体传输给流媒体接收装置,以使流媒体接收装置播放第一流媒体。当用户将当前的第一码率切换为第二码率时,响应于用户的切换操作,流媒体接收装置向流媒体发送装置发送的指示从第一码率切换到第二码率的切换请求。然后,流媒体发送装置停止传输第一流媒体并将拉流地址中第二码率对应的第二流媒体传输给流媒体接收装置,以使所述流媒体接收装置在播放完接收到的第一流媒体后播放第二流媒体。本方案中,由于多种码率对应的多个流媒体存储于同一拉流地址中,因此,当码率进行切换时,不需要切换拉流地址,从而能够有效降低码率切换带来的流媒体时序跳变,提升流媒体在码率切换前后播放的连贯性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种流媒体传输方法的交互流程图;
图2为本发明实施例提供的一种第一流媒体和第二流媒体时间同步的示意图;
图3为本发明实施例提供的一种第一流媒体和第二流媒体内容同步的示意图;
图4为本发明实施例提供的一种流媒体画面组同步的示意图;
图5为本发明实施例提供的另一种流媒体传输方法的交互流程图;
图6为本发明实施例提供的一种流媒体传输装置的结构示意图;
图7为本发明实施例提供的另一种流媒体传输装置的结构示意图;
图8为与图6所示实施例提供的流媒体传输装置对应的电子设备的结构示意图;
图9为与图7所示实施例提供的流媒体传输装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例中所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
以下对本发明实施例涉及的几个概念进行简要说明。
拉流地址,是指在流媒体技术中,从服务端向客户端发送流媒体数据时,客户端获取流媒体数据的地址。
码率,是指比特率,表示单位时间内传送比特的数目。在流媒体传输中,码率的大小决定了音频、视频的质量和流畅度。通常情况下,流媒体传输的码率需要根据客户端对应的用户设备和网络状况来进行调整。
流媒体发送装置,对应于服务端,可以是存储有流媒体数据和拉流地址的服务器,也可以与该服务器和客户端通信连接的内容分发网络(Content Delivery Network,简称CDN)。其中,该服务器可以是包含一独立主机的物理服务器,或者也可以为虚拟服务器,或者也可以为云端服务器或服务器集群。
流媒体接收装置,对应于需要从服务端获取流媒体数据的客户端。流媒体接收装置,可以包括诸如PC机、笔记本电脑、智能手机等终端设备。流媒体接收装置中可以运行相关程序实现从流媒体发送装置获取流媒体数据,比如:音视频播放器、直播软件、短视频社交软件等。
相关技术中,针对同一流媒体数据,服务器通常会预先编码生成几个对应于不同码率的流媒体,通常也称为对应于不同码率的流,并分别存储于不同的拉流地址中。客户端在获取流媒体数据时,通过不同的拉流地址获取相应码率的流媒体。当想要调整流媒体的码率时,需要对当前的拉流地址进行切换,即需要重新向服务器发送拉流请求,以请求服务器传输调整后的码率对应的拉流地址中的流媒体数据。这种码率切换方式,会由于需要重新服务器发送拉流请求切换拉流地址,而导致切换前后的流媒体数据在时序上不对应,播放时存在内容不连贯的问题,比如:重复播放调整码率之前已播放过的内容等等。
为解决上述至少一个技术问题,本发明实施例提供了一种流媒体传输方法,用以有效降低码率切换带来的流媒体时序跳变问题,提升流媒体在码率切换前后播放的连贯性。
图1为本发明实施例提供的一种流媒体传输方法的交互流程图,如图1所示,可以包括如下步骤:
101、流媒体接收装置向流媒体发送装置发送流媒体获取请求,流媒体获取请求中包括:待获取流媒体对应的拉流地址以及待获取流媒体的第一码率;其中,拉流地址中包括多种码率对应的多个流媒体,多种码率包括第一码率和第二码率。
102、流媒体发送装置根据流媒体获取请求,将拉流地址中第一码率对应的第一流媒体传输给流媒体接收装置。
103、流媒体接收装置播放第一流媒体。
104、流媒体接收装置向流媒体发送装置发送指示从第一码率切换到第二码率的切换请求。
105、流媒体发送装置根据切换请求,停止传输第一流媒体并将拉流地址中第二码率对应的第二流媒体传输给流媒体接收装置。
106、流媒体接收装置在播放完接收到的第一流媒体后播放第二流媒体。
本实施例中,流媒体发送装置中的任一拉流地址包含有多种码率对应的多个流媒体,多个流媒体对应于同一流媒体数据,比如:针对流媒体数据X,拉流地址中可以包括:以码率1对流媒体数据X编码得到的流媒体x1,以码率2对流媒体数据X编码得到的流媒体x2等。为了便于说明,本实施例中以第一码率对应的第一流媒体和第二码率对应的第二流媒体,标识拉流地址中不同码率对应的不同流媒体。其中,第一码率和第二码率可以是任意两种不同的码率。
基于同一拉流地址中包含有多种码率对应的多个流媒体的前提,当流媒体接收装置首次向流媒体发送装置请求获取目标拉流地址中的目标流媒体数据(即待获取流媒体)时,流媒体接收装置向流媒体发送装置发送流媒体获取请求。其中,流媒体获取请求中包含目标拉流地址以及目标流媒体数据对应的码率。本实施例中,假设目标流媒体对应的码率为第一码率,相应地,目标流媒体即为第一流媒体。
之后,流媒体发送装置根据流媒体获取请求中的目标拉流地址和第一码率,将目标拉流地址中第一码率对应的第一流媒体传输给流媒体接收装置。流媒体接收装置根据当前接收到的第一流媒体数据进行播放。
流媒体在传输时以流式传输的方式在网络中进行传输。实际应用中,在第一流媒体对应的全部数据传输结束之前,基于当前的网络带宽等网络状况,用户可能会需要对流媒体的码率进行切换。例如,若当前的网络状况较好,则可以切换到比第一码率更高的码率进行流媒体传输,以提高音视频播放的质量;若当前的网络状况较差,则可以切换到比第一码率更低的码率进行流媒体传输,以提高音视频播放的流畅度。
假设基于当前的网络状况,用户想要从第一码率切换到第二码率,则响应于用户的码率切换操作,流媒体接收装置向流媒体发送装置发送指示从第一码率切换到第二码率的切换请求。其中,用户可以通过流媒体接收装置上的预设控键,比如清晰度切换控键等,触发码率切换操作。
之后,流媒体发送装置根据切换请求,停止传输第一流媒体并将目标拉流地址中第二码率对应的第二流媒体传输给流媒体接收装置。由于第一流媒体和第二流媒体对应于同一拉流地址,即目标拉流地址,因此,第一码率切换为第二码率并不需要切换拉流地址,能够有效提高码率切换的效率。
可以理解的是,流媒体发送装置传输的流媒体数据会有部分数据缓存在流媒体接收装置的缓冲区。因此,当发生码率切换时,即使停止传输第一流媒体,缓冲区也存在部分第一流体对应的流媒体数据以供流媒体接收装置播放。并且,由于第二流媒体在传输之前并不需要切换拉流地址,因此,在缓冲区第一流媒体对应的流媒体数据播放完毕之前,就会有第二流媒体对应的流媒体数据缓存到该缓冲区,以使得流媒体接收装置在播放完第一流媒体后播放第二流媒体,保证流媒体播放的连贯性。
为进一步减少码率切换导致的流媒体在时序上有跳变,本发明实施例提供的流媒体传输方法中,同一拉流地址中第一码率对应的第一流媒体和第二码率对应的第二流媒体之间还存在同步关系,以下进行展开说明。
在一可选实施例中,第一流媒体和第二流媒体对应的媒体数据在时间上同步。
流媒体发送装置停止传输第一流媒体并将拉流地址中第二码率对应的第二流媒体传输给流媒体接收装置,包括:若第一流媒体在停止传输时已传输了第一流媒体中目标时间点之前的媒体数据,则将第二流媒体中目标时间点之后的媒体数据传输给流媒体接收装置。
图2为本发明实施例提供的一种第一流媒体和第二流媒体时间同步的示意图。如图2所示,第一流媒体对应的流媒体数据1和流媒体数据2与第二流媒体对应的流媒体数据1和流媒体数据2在时间上同步。假设在第一流媒体停止传输时,已经将第一流媒体中时间点t之前的流媒体数据1传输给了流媒体接收装置,则将第二流媒体中时间点t之后的流媒体数据2传输给流媒体接收装置。从而流媒体接收装置在播放完第一流媒体中的流媒体数据1后,继续播放第二流媒体中的流媒体数据2,流媒体数据1和流媒体数据2在时间上衔接,不会导致播放时流媒体在时序上有跳变。
在另一可选实施例中,第一流媒体和第二流媒体对应的媒体数据在内容上同步。
流媒体发送装置停止传输第一流媒体并将拉流地址中第二码率对应的第二流媒体传输给流媒体接收装置,包括:若第一流媒体在停止传输时已传输了第一流媒体中目标内容对应的媒体数据,则将第二流媒体中除目标内容外的媒体数据传输给流媒体接收装置。
图3为本发明实施例提供的一种第一流媒体和第二流媒体内容同步的示意图。如图3所示,第一流媒体对应的流媒体数据(即内容1对应的流媒体数据和内容2对应的流媒体数据)与第二流媒体对应的流媒体数据(即内容1对应的流媒体数据和内容2对应的流媒体数据)在内容上同步。假设在第一流媒体停止传输时,已经将第一流媒体中内容1对应的流媒体数据1传输给了流媒体接收装置,则将第二流媒体中除内容1外的媒体数据,即内容2对应的媒体数据传输给流媒体接收装置。从而流媒体接收装置在播放完第一流媒体中的内容1对应的流媒体数据后,继续播放第二流媒体中的内容2对应的流媒体数据,内容1和内容2对应的流媒体数据在内容上连贯,从而播放时流媒体在时序上不会有跳变。
实际应用中,流媒体包括音频流媒体、视频流媒体等。本实施例中,以流媒体为视频流媒体为例,具体说明第一流媒体与第二流媒体在内容上的同步。
画面组(Group of Picture,简称GOP)是一组连续的画面,视频流媒体在进行传输时通常以画面组为单位进行传输。
可选地,第一流媒体和第二流媒体对应的媒体数据在内容上同步,包括:第一视频流媒体和第二视频流媒体对应的媒体数据以画面组为单位在内容上同步。
流媒体发送装置停止传输第一流媒体并将拉流地址中所述第二码率对应的第二流媒体传输给流媒体接收装置,包括:若第一视频流媒体在停止传输时已传输了第一视频流媒体中第一画面组对应的媒体数据,则将第二视频流媒体中的第二画面组对应的媒体数据传输给流媒体接收装置。其中,第二画面组为第一画面组之后的画面组。
举例来说,图4为本发明实施例提供的一种流媒体画面组同步的示意图。如图4所示,第一流媒体和第二流媒体对应的媒体数据均包含5个画面组,分别为GOP-1、GOP-2、…、GOP-5。其中,第一视频流媒体和第二视频流媒体对应的媒体数据以画面组为单位在内容上同步。具体地,第一视频流媒体对应的GOP-1对应的连续画面的内容与第二视频流媒体对应的GOP-1对应的连续画面的内容相同,类似地,第一视频流媒体与第二视频流媒体对应的GOP-2、…、GOP-5分别对应的连续画面的内容也均相同。
假设流媒体发送装置停止传输第一视频流媒体时,已传输了第一视频流媒体中GOP-1和GOP-2对应的媒体数据,则将第二视频流媒体中GOP-2之后画面组即GOP-3、GOP-4和GOP-5对应的媒体数据传输给流媒体接收装置。其中,GOP-1和GOP-2即为第一画面组,GOP-3、GOP-4和GOP-5即为第二画面组。从而流媒体接收装置在播放完第一视频流媒体中的GOP-1和GOP-2对应的流媒体数据后,继续播放第二视频流媒体中的GOP-3、GOP-4和GOP-5对应的流媒体数据,由于GOP-2和GOP-3对应的流媒体数据在画面上连贯,从而播放时流媒体在时序上不会有跳变。
本实施例中,流媒体发送装置的每个拉流地址中包含有多种码率对应的多个流媒体,每个拉流地址对应的多个流媒体的媒体内容相同,且多个流媒体之间相互同步。当用户将当前的第一码率切换为第二码率时,响应于用户的切换操作,流媒体接收装置向流媒体发送装置发送的指示从第一码率切换到第二码率的切换请求。然后,流媒体发送装置停止传输第一流媒体并将拉流地址中第二码率对应的第二流媒体传输给流媒体接收装置,以使所述流媒体接收装置在播放完接收到的第一流媒体后播放第二流媒体。由于多种码率对应的多个流媒体存储于同一拉流地址中,且多个流媒体之间存在同步关系,比如时间同步、内容同步等,从而当码率进行切换时,既不需要切换拉流地址,又能提升流媒体在码率切换前后播放的连贯性。
实际应用中,流媒体传输可应用于多种场景,比如:视频播放场景、直播场景等。与应用场景相适应的,流媒体传输具有相应的特点。接下来,以直播场景为例,对直播场景中的流媒体传输进行说明。
图5为本发明实施例提供的另一种流媒体传输方法的交互流程图,如图5所示,可以包括如下步骤:
501、流媒体接收装置向流媒体发送装置发送流媒体获取请求,流媒体获取请求中包括:待获取流媒体对应的拉流地址以及待获取流媒体的第一码率;其中,拉流地址中包括多种码率对应的多个流媒体,多种码率包括第一码率和第二码率,待获取流媒体由多路直播视频流媒体合流得到,多路直播视频流媒体由参与视频连麦的多个主播端产生。
502、流媒体发送装置根据流媒体获取请求,将拉流地址中第一码率对应的第一流媒体传输给流媒体接收装置。
503、流媒体接收装置获取多路直播视频流媒体对应的布局信息,布局信息用于描述多路直播视频流媒体分别对应的播放窗口的尺寸信息和位置信息。
504、将第一流媒体解码为多路直播视频流媒体,根据布局信息,将多路直播视频流媒体加载到多路直播视频流媒体各自对应的播放窗口中。
505、流媒体接收装置向流媒体发送装置发送指示从第一码率切换到第二码率的切换请求。
506、流媒体发送装置根据切换请求,停止传输第一流媒体并将拉流地址中第二码率对应的第二流媒体传输给流媒体接收装置。
507、将第二流媒体解码为多路直播视频流媒体,根据布局信息,将多路直播视频流媒体加载到多路直播视频流媒体各自对应的播放窗口中。
其中,步骤501、505、505、506的具体实施过程,可参考前述实施例,本实施例中不再进行赘述。
本实施例中,以流媒体接收装置为用户终端设备、流媒体发送装置为服务器为例,进行说明。
直播场景中,某个主播在进行直播时,也可以与其他主播建立视频连接,即通常所说的视频连麦,从而用户可以通过终端设备同时观看多个参与视频连麦的主播。
可以理解的是,针对任一个参与视频连麦的主播来说,基于其使用的摄像设备,都会采集到一路直播视频流媒体。为了便于用户观看,视频连麦产生的多路直播视频流媒体均会被推流到服务器,服务器通过编码将多路直播视频流媒体合流为一路直播视频流媒体,并存储于相应的拉流地址下;用户通过终端设备基于拉流地址获取对应的被合流为一路的直播视频流媒体,并将其解码为多路直播视频流媒体,以在用户终端设备中以相应的布局展示多路直播视频流媒体。
实际上,多路直播视频流媒体的展示布局往往是多样的,可调整的。例如,参与视频连麦的多个主播所使用的展示布局均不相同,某一主播的直播间中的用户所使用的展示布局也可以与该主播所使用的展示布局相同或不同。
容易理解的是,如果在服务器中分别针多不同的展示布局合流生成相应的直播视频流媒体,则无论对于服务器还是用户终端设备而言,处理压力都是巨大的。一方面,生成不同展示布局对应的直播视频流媒体,会占用服务器中较多的计算资源和存储资源,另一方面,用户终端设备每切换一次展示布局,都需要重新从服务器中获取相应的布局的直播视频流媒体并进行解码,会导致用户终端设备的处理压力也较大。
为解决上述至少一个技术问题中,本实施例的流媒体传输方法中,服务器仅需要合流生成一路直播视频流媒体,不再考虑展示布局;由用户终端设备获取多路直播视频流媒体对应的布局信息,并在将合流为一路直播视频流媒体解码为多路直播视频流媒体后,按照获取到的布局信息所描述的多路直播视频流媒体分别对应的播放窗口的尺寸信息和位置信息,将多路直播视频流媒体加载到多路直播视频流媒体各自对应的播放窗口中。之后,即使切换布局,也仅需要调整路直播视频流媒体各自对应的播放窗口尺寸和位置。从而,本方案能够有效降低服务器和用户终端设备的处理压力。
直播相较于其他应用场景而言,其对实时性的要求往往会更高,切换码率适应网络状况,以保证直播的流畅性将显得更为必要。
与图1所示实施例类似地,在直播场景中,被合流为一路的直播视频流媒体可以被编码为不同码率对应的流媒体,比如:第一码率对应的第一流媒体,第二码率对应的第二流媒体,并存储于服务器的同一拉流地址中,以供用户终端设备获取。具体实施过程中,可参考前述实施例,本实施例中不再进行赘述。
实际应用中,多路直播视频流媒体在展示时对应的播放窗口尺寸并不是完全一致的,如果在合流时,将各路直播视频流媒体以相同的尺寸压缩编码为一路直播视频流媒体,则在解码为多路直播视频流并在对应播放窗口进行展示时,会出现尺寸较大的播放窗口对应的画面不清晰的问题。
因此,在另一可选实施例中,考虑到各路直播视频流媒体对应的播放窗口的尺寸可能差距较大的问题,针对视频连麦产生的多路直播视频流媒体,将其中对应于较大播放窗口尺寸的直播视频流媒体进行单独编码生成第一直播视频流媒体,将其余几路对应于相近播放窗口尺寸的直播视频流媒体合流统一编码为第二直播视频流媒体。
用户终端设备在获取第一直播视频流媒体和第二直播视频流媒体后,对其进行解码,得到解码后的第一直播视频流媒体以及第二直播视频流媒体对应的多路直播视频流媒体。之后,根据获取到的第一直播视频流媒体和多路直播视频流媒体对应的布局信息,将第一直播视频流媒体和多路直播视频流媒体加载到第一直播视频流媒体和多路直播视频流媒体各自对应的播放窗口中。从而,保证第一直播视频流媒体和第二直播视频流媒体对应的多路直播视频流媒体的展示效果。
在上述实施例中,可以将第一直播视频流媒体和第二直播视频流媒体编码为不同码率对应的流媒体,比如:第一码率对应的第一流媒体,第二码率对应的第二流媒体,并存储于服务器的同一拉流地址中,以供用户终端设备获取。具体实施过程中,可参考前述实施例,本实施例中不再进行赘述。
以下将详细描述本发明的一个或多个实施例的流媒体传输装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图6为本发明实施例提供的一种流媒体传输装置的结构示意图,如图6所示,应用于流媒体发送装置,该装置包括:接收模块11、第一传输模块12、第二传输模块13。
接收模块11,用于接收流媒体接收装置发送的流媒体获取请求,所述流媒体获取请求中包括:待获取流媒体对应的拉流地址以及所述待获取流媒体的第一码率,所述拉流地址中包括多种码率对应的多个流媒体,所述多种码率包括所述第一码率和第二码率。
第一传输模块12,用于将所述拉流地址中第一码率对应的第一流媒体传输给所述流媒体接收装置。
第二传输模块13,用于响应于所述流媒体接收装置发送的指示从所述第一码率切换到所述第二码率的切换请求,停止传输所述第一流媒体并将所述拉流地址中所述第二码率对应的第二流媒体传输给所述流媒体接收装置,以使所述流媒体接收装置在播放完接收到的所述第一流媒体后播放所述第二流媒体。
可选地,所述第一流媒体和所述第二流媒体对应的媒体数据在时间上同步,所述第二传输模块13,具体用于若所述第一流媒体在停止传输时已传输了所述第一流媒体中目标时间点之前的媒体数据,则将所述第二流媒体中所述目标时间点之后的媒体数据传输给所述流媒体接收装置。
可选地,所述第一流媒体和所述第二流媒体对应的媒体数据在内容上同步;所述第二传输模块13,还具体用于若所述第一流媒体在停止传输时已传输了所述第一流媒体中目标内容对应的媒体数据,则将所述第二流媒体中除所述目标内容外的媒体数据传输给所述流媒体接收装置。
可选地,所述流媒体包括视频流媒体,所述第一流媒体和所述第二流媒体对应的媒体数据在内容上同步,包括:所述第一视频流媒体和所述第二视频流媒体对应的媒体数据以画面组为单位在内容上同步。所述第二传输模块13,还具体用于若所述第一视频流媒体在停止传输时已传输了所述第一视频流媒体中第一画面组对应的媒体数据,则将所述第二视频流媒体中的第二画面组对应的媒体数据传输给所述流媒体接收装置,其中,所述第二画面组为所述第一画面组之后的画面组。
图7为本发明实施例提供的另一种流媒体传输装置的结构示意图,如图7所示,应用于流媒体接收装置,该装置包括:发送模块21、处理模块22。
发送模块21,用于向流媒体发送装置发送的流媒体获取请求,所述流媒体获取请求中包括:待获取流媒体对应的拉流地址以及所述待获取流媒体的第一码率,所述拉流地址中包括多种码率对应的多个流媒体,所述多种码率包括所述第一码率和第二码率。
处理模块22,用于接收所述流媒体发送装置传输的所述拉流地址中第一码率对应的第一流媒体;播放所述第一流媒体。
所述发送模块21,还用于向所述流媒体发送装置发送的指示从所述第一码率切换到所述第二码率的切换请求。
所述处理模块22,还用于接收所述流媒体发送装置传输的所述拉流地址中所述第二码率对应的第二流媒体;在播放完接收到的所述第一流媒体后播放所述第二流媒体。
可选地,所述待获取流媒体由多路直播视频流媒体合流得到,所述多路直播视频流媒体由参与视频连麦的多个主播端产生。所述装置还包括获取装置,用于获取所述多路直播视频流媒体对应的布局信息,所述布局信息用于描述所述多路直播视频流媒体分别对应的播放窗口的尺寸信息和位置信息。
所述处理模块22,还用于将所述第一流媒体或所述第二流媒体解码为所述多路直播视频流媒体;根据所述布局信息,将所述多路直播视频流媒体加载到所述多路直播视频流媒体各自对应的播放窗口中。
可选地,所述待获取流媒体包括:第一直播视频流媒体和第二直播视频流媒体,其中,所述第二直播视频流媒体由多路直播视频流媒体合流得到,所述第一直播视频流媒体和所述多路直播视频流媒体由参与视频连麦的多个主播端产生。所述获取模块,还用于获取所述第一直播视频流媒体和所述多路直播视频流媒体对应的布局信息,所述布局信息用于描述所述第一直播视频流媒体和多路直播视频流媒体分别对应的播放窗口的尺寸信息和位置信息,所述第一直播视频流媒体的播放窗口尺寸大于所述多路直播视频流媒体分别对应的播放窗口的尺寸信息。
所述处理模块22,还用于将所述第一流媒体或所述第二流媒体解码为所述第一直播视频流媒体以及所述第二直播视频流媒体对应的所述多路直播视频流媒体;根据所述布局信息,将所述第一直播视频流媒体和所述多路直播视频流媒体加载到所述第一直播视频流媒体和所述多路直播视频流媒体各自对应的播放窗口中。
图6和图7所示装置可以执行前述实施例中介绍的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图6所示流媒体传输装置的结构可实现为一电子设备,如图8所示,该电子设备可以包括:存储器31、处理器32、通信接口33。其中,存储器31上存储有可执行代码,当所述可执行代码被处理器32执行时,使处理器32至少可以实现如前述实施例中提供的流媒体传输方法。
在一个可能的设计中,上述图7所示流媒体传输装置的结构可实现为一电子设备,如图9所示,该电子设备可以包括:存储器41、处理器42、通信接口43。其中,存储器41上存储有可执行代码,当所述可执行代码被处理器42执行时,使处理器42至少可以实现如前述实施例中提供的流媒体传输方法。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的流媒体传输方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种流媒体传输方法,其特征在于,应用于流媒体发送装置,包括:
接收流媒体接收装置发送的流媒体获取请求,所述流媒体获取请求中包括:待获取流媒体对应的拉流地址以及所述待获取流媒体的第一码率,所述拉流地址中包括多种码率对应的多个流媒体,所述多种码率包括所述第一码率和第二码率;
将所述拉流地址中第一码率对应的第一流媒体传输给所述流媒体接收装置;
响应于所述流媒体接收装置发送的指示从所述第一码率切换到所述第二码率的切换请求,停止传输所述第一流媒体并将所述拉流地址中所述第二码率对应的第二流媒体传输给所述流媒体接收装置,以使所述流媒体接收装置在播放完接收到的所述第一流媒体后播放所述第二流媒体。
2.根据权利要求1所述的方法,其特征在于,所述第一流媒体和所述第二流媒体对应的媒体数据在时间上同步;所述停止传输所述第一流媒体并将所述拉流地址中所述第二码率对应的第二流媒体传输给所述流媒体接收装置,包括:
若所述第一流媒体在停止传输时已传输了所述第一流媒体中目标时间点之前的媒体数据,则将所述第二流媒体中所述目标时间点之后的媒体数据传输给所述流媒体接收装置。
3.根据权利要求1所述的方法,其特征在于,所述第一流媒体和所述第二流媒体对应的媒体数据在内容上同步;所述停止传输所述第一流媒体并将所述拉流地址中所述第二码率对应的第二流媒体传输给所述流媒体接收装置,包括:
若所述第一流媒体在停止传输时已传输了所述第一流媒体中目标内容对应的媒体数据,则将所述第二流媒体中除所述目标内容外的媒体数据传输给所述流媒体接收装置。
4.根据权利要求3所述的方法,其特征在于,所述流媒体包括视频流媒体,所述第一流媒体和所述第二流媒体对应的媒体数据在内容上同步,包括:所述第一视频流媒体和所述第二视频流媒体对应的媒体数据以画面组为单位在内容上同步;
所述停止传输所述第一流媒体并将所述拉流地址中所述第二码率对应的第二流媒体传输给所述流媒体接收装置,包括:
若所述第一视频流媒体在停止传输时已传输了所述第一视频流媒体中第一画面组对应的媒体数据,则将所述第二视频流媒体中的第二画面组对应的媒体数据传输给所述流媒体接收装置,其中,所述第二画面组为所述第一画面组之后的画面组。
5.一种流媒体传输方法,其特征在于,应用于流媒体接收装置,包括:
向流媒体发送装置发送的流媒体获取请求,所述流媒体获取请求中包括:待获取流媒体对应的拉流地址以及所述待获取流媒体的第一码率,所述拉流地址中包括多种码率对应的多个流媒体,所述多种码率包括所述第一码率和第二码率;
接收所述流媒体发送装置传输的所述拉流地址中第一码率对应的第一流媒体;
播放所述第一流媒体;
向所述流媒体发送装置发送的指示从所述第一码率切换到所述第二码率的切换请求;
接收所述流媒体发送装置传输的所述拉流地址中所述第二码率对应的第二流媒体;
在播放完接收到的所述第一流媒体后播放所述第二流媒体。
6.根据权利要求5所述的方法,其特征在于,所述待获取流媒体由多路直播视频流媒体合流得到,所述多路直播视频流媒体由参与视频连麦的多个主播端产生,所述方法还包括:
获取所述多路直播视频流媒体对应的布局信息,所述布局信息用于描述所述多路直播视频流媒体分别对应的播放窗口的尺寸信息和位置信息;
将所述第一流媒体或所述第二流媒体解码为所述多路直播视频流媒体;
根据所述布局信息,将所述多路直播视频流媒体加载到所述多路直播视频流媒体各自对应的播放窗口中。
7.根据权利要求5所述的方法,其特征在于,所述待获取流媒体包括:第一直播视频流媒体和第二直播视频流媒体,其中,所述第二直播视频流媒体由多路直播视频流媒体合流得到,所述第一直播视频流媒体和所述多路直播视频流媒体由参与视频连麦的多个主播端产生;所述方法还包括:
获取所述第一直播视频流媒体和所述多路直播视频流媒体对应的布局信息,所述布局信息用于描述所述第一直播视频流媒体和多路直播视频流媒体分别对应的播放窗口的尺寸信息和位置信息,所述第一直播视频流媒体的播放窗口尺寸大于所述多路直播视频流媒体分别对应的播放窗口的尺寸信息;
将所述第一流媒体或所述第二流媒体解码为所述第一直播视频流媒体以及所述第二直播视频流媒体对应的所述多路直播视频流媒体;
根据所述布局信息,将所述第一直播视频流媒体和所述多路直播视频流媒体加载到所述第一直播视频流媒体和所述多路直播视频流媒体各自对应的播放窗口中。
8.一种流媒体传输装置,其特征在于,应用于流媒体发送装置,包括:
接收模块,用于接收流媒体接收装置发送的流媒体获取请求,所述流媒体获取请求中包括:待获取流媒体对应的拉流地址以及所述待获取流媒体的第一码率,所述拉流地址中包括多种码率对应的多个流媒体,所述多种码率包括所述第一码率和第二码率;
第一传输模块,用于将所述拉流地址中第一码率对应的第一流媒体传输给所述流媒体接收装置;
第二传输模块,用于响应于所述流媒体接收装置发送的指示从所述第一码率切换到所述第二码率的切换请求,停止传输所述第一流媒体并将所述拉流地址中所述第二码率对应的第二流媒体传输给所述流媒体接收装置,以使所述流媒体接收装置在播放完接收到的所述第一流媒体后播放所述第二流媒体。
9.一种电子设备,其特征在于,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至4中任一项所述的流媒体传输方法,或者,执行如权利要求5至7中任一项所述的流媒体传输方法。
10.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至4中任一项所述的流媒体传输方法,或者,执行如权利要求5至7中任一项所述的流媒体传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310707710.7A CN116962764A (zh) | 2023-06-14 | 2023-06-14 | 流媒体传输方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310707710.7A CN116962764A (zh) | 2023-06-14 | 2023-06-14 | 流媒体传输方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116962764A true CN116962764A (zh) | 2023-10-27 |
Family
ID=88448340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310707710.7A Pending CN116962764A (zh) | 2023-06-14 | 2023-06-14 | 流媒体传输方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116962764A (zh) |
-
2023
- 2023-06-14 CN CN202310707710.7A patent/CN116962764A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111135569B (zh) | 云游戏处理方法、装置、存储介质与电子设备 | |
US20210160584A1 (en) | Systems, apparatus and methods for rendering digital content relating to a sporting event with online gaming information | |
US20230256345A1 (en) | Game data processing method and apparatus, and storage medium | |
JP4585479B2 (ja) | サーバ装置および映像配信方法 | |
CN103327361B (zh) | 实时视频通讯回放数据流的获取方法、装置及系统 | |
CN110024409B (zh) | 具有多个接收器的视频流的关键帧削弱的方法和装置 | |
CN107819809B (zh) | 对内容进行同步操作的方法及装置 | |
US11863841B2 (en) | Video playing control method and system | |
CN113141522B (zh) | 资源传输方法、装置、计算机设备及存储介质 | |
CN110582012B (zh) | 视频切换方法、视频处理方法、装置及存储介质 | |
CN112637661B (zh) | 视频流的切换方法及装置、计算机存储介质、电子设备 | |
CN110519640B (zh) | 视频处理方法、编码器、cdn服务器、解码器、设备及介质 | |
CN112399257B (zh) | 云桌面视频播放方法、服务器、终端及存储介质 | |
CN107770600A (zh) | 流媒体数据的传输方法、装置、设备和存储介质 | |
CN111726657A (zh) | 直播视频的播放处理方法、装置及服务器 | |
WO2018028547A1 (zh) | 频道切换的方法及装置 | |
CN111083536A (zh) | 调节视频码率的方法和装置 | |
CN114554277B (zh) | 多媒体的处理方法、装置、服务器及计算机可读存储介质 | |
CN110708569B (zh) | 一种视频处理方法、装置、电子设备及存储介质 | |
US20210227005A1 (en) | Multi-user instant messaging method, system, apparatus, and electronic device | |
CN113079386A (zh) | 一种视频在线播放方法、装置、电子设备及存储介质 | |
KR20210064222A (ko) | 비디오 품질을 유지하면서 비디오 비트 레이트를 향상시키는 기법 | |
CN116962764A (zh) | 流媒体传输方法、装置、设备和存储介质 | |
CN108632681B (zh) | 播放媒体流的方法、服务器及终端 | |
TWI730837B (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 |