CN115002086A - 实时流媒体的传输方法及电子设备 - Google Patents

实时流媒体的传输方法及电子设备 Download PDF

Info

Publication number
CN115002086A
CN115002086A CN202210565062.1A CN202210565062A CN115002086A CN 115002086 A CN115002086 A CN 115002086A CN 202210565062 A CN202210565062 A CN 202210565062A CN 115002086 A CN115002086 A CN 115002086A
Authority
CN
China
Prior art keywords
streaming media
rate
pull
target
client
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
CN202210565062.1A
Other languages
English (en)
Other versions
CN115002086B (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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210565062.1A priority Critical patent/CN115002086B/zh
Publication of CN115002086A publication Critical patent/CN115002086A/zh
Application granted granted Critical
Publication of CN115002086B publication Critical patent/CN115002086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供的实时流媒体的传输方法及电子设备,涉及实时流媒体技术,包括:以第一速率向拉流客户端发送目标流媒体的第一流媒体数据;以第二速率向拉流客户端发送目标流媒体的第二流媒体数据;以第三速率向拉流客户端发送目标流媒体的第三流媒体数据,直至边缘节点中为拉流客户端缓存的目标流媒体的数据量满足预设条件为止;第一速率大于第二速率,第三速率小于或等于第一速率、并大于第二速率。这种实现方案具有快速起播、避免网络拥塞和降低推流客户端与拉流客户端之间延迟的效果。

Description

实时流媒体的传输方法及电子设备
技术领域
本公开涉及实时流媒体技术,尤其涉及一种实时流媒体的传输方法及电子设备。
背景技术
实时流媒体数据传输时,为了保证观客户端能够填充一定量的缓冲数据,使得客户端能够流畅的播出流媒体数据,通常在服务端中会缓存一定量的流媒体数据,在接收到实时流媒体的观看请求时将缓存的流媒体数据发送给客户端。
但是,如果服务端发送缓存数据的速率太快,就有可能导致网络拥塞、丢包,大量重传甚至会进一步恶化网络质量,导致客户端无法起播成功或者播放首帧的速度非常慢。如果服务端发送缓存数据的速率太慢,则会导致客户端需要浪费更多时间来接收足够多的缓存数据,同样会影响起播体验。
因此,如何更加合理的向客户端发送流媒体数据,是本领域技术人员亟需解决的技术问题。
发明内容
本公开提供一种实时流媒体的传输方法及电子设备,从而更合理的向拉流客户端发送流媒体数据。
本公开的第一个方面提供一种实时流媒体的传输方法,应用于边缘节点,所述方法包括:
接收来自拉流客户端的目标流媒体的拉流请求;
以第一速率向所述拉流客户端发送所述目标流媒体的第一流媒体数据;其中,所述第一流媒体数据对应的播放时长与所述拉流客户端的第一参数相关,所述第一参数包括所述拉流客户端的目标缓冲时长;
以第二速率向所述拉流客户端发送所述目标流媒体的第二流媒体数据;所述第二流媒体数据对应的播放时长与所述拉流客户端的第二参数相关,所述第二参数包括所述拉流客户端在缓冲区填充有所述目标缓冲时长的数据后、以所述目标流媒体的数据采集速率播放流媒体数据的时长;
以第三速率向所述拉流客户端发送所述目标流媒体的第三流媒体数据,直至所述边缘节点中为所述拉流客户端缓存的所述目标流媒体的数据量满足预设条件为止;
其中,所述第一速率大于所述第二速率,所述第三速率小于或等于所述第一速率、并大于所述第二速率。
本公开的第二个方面提供一种实时流媒体的传输方法,应用于拉流客户端,所述方法包括:
向边缘节点发送目标流媒体的拉流请求;
接收所述边缘节点以第一速率发送的所述目标流媒体的第一流媒体数据,并将所述第一流媒体数据填入缓冲区;其中,所述第一流媒体数据对应的播放时长与所述拉流客户端的第一参数相关,所述第一参数包括所述拉流客户端的目标缓冲时长;
以所述目标流媒体的数据采集速率播放所述缓冲区中的流媒体数据;
接收所述边缘节点以第二速率发送的所述目标流媒体的第二流媒体数据,并将所述第二流媒体数据填入所述缓冲区;所述第二流媒体数据对应的播放时长与所述拉流客户端的第二参数相关,所述第二参数包括所述拉流客户端在所述缓冲区填充有所述目标缓冲时长的数据后、以所述目标流媒体的数据采集速率播放流媒体数据的时长;
以所述第二速率播放所述缓冲区中的流媒体数据;
接收所述边缘节点以第三速率发送的所述目标流媒体的第三流媒体数据,并将所述第三流媒体数据填入所述缓冲区;
以所述第三速率播放所述缓冲区中的流媒体数据;
其中,所述第一速率大于所述第二速率,所述第三速率小于或等于所述第一速率,并大于所述第二速率。
本公开的第三个方面是提供一种电子设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并配置为由所述处理器执行以实现如上述第一方面或第二方面所述的实时流媒体的传输方法。
本公开提供的实时流媒体的传输方法及电子设备的技术效果是:
本实施例提供的实时流媒体的传输方法及电子设备,包括:接收来自拉流客户端的目标流媒体的拉流请求;以第一速率向拉流客户端发送目标流媒体的第一流媒体数据;其中,第一流媒体数据对应的播放时长与拉流客户端的第一参数相关,第一参数包括拉流客户端的目标缓冲时长;以第二速率向拉流客户端发送目标流媒体的第二流媒体数据;第二流媒体数据对应的播放时长与拉流客户端的第二参数相关,第二参数包括拉流客户端在缓冲区填充有目标缓冲时长的数据后、以目标流媒体的数据采集速率播放流媒体数据的时长;以第三速率向拉流客户端发送目标流媒体的第三流媒体数据,直至边缘节点中为拉流客户端缓存的目标流媒体的数据量满足预设条件为止;其中,第一速率大于第二速率,第三速率小于或等于第一速率、并大于第二速率。这种实现方案中,以较快的第一速率将第一流媒体数据发送给拉流客户端,用于快速填充拉流客户端的缓冲区。以较慢的第二速率将第二流媒体数据发送给拉流客户端,从而降低对网络的冲击,避免发生网络拥塞的情况。以第三速率将第三流媒体数据发送给拉流客户端,能够满足拉流客户端与推流客户端之间低延迟的需求。因此,本公开提供的实时流媒体的传输方案,具有快速起播、避免网络拥塞和降低推流客户端与拉流客户端之间延迟的效果。
附图说明
图1为本公开一示例性实施例示出的应用场景示意图;
图2为本公开一示例性实施例示出的实时流媒体的传输方法的流程示意图;
图3为本公开一示例性实施例示出的目标流媒体中部分数据的示意图;
图4为本公开第二示例性实施例示出的实时流媒体的传输方法的流程示意图;
图5为本公开第三示例性实施例示出的实时流媒体的传输方法的流程示意图;
图6为一示例性实施例示出的拉流客户端播放流媒体数据的示意图;
图7为本公开第四示例性实施例示出的实时流媒体的传输方法的示意图;
图8为本公开一示例性实施例示出的实时流媒体的传输装置的结构图;
图9为本公开另一示例性实施例示出的实时流媒体的传输装置的结构图;
图10为本公开一示例性实施例示出的电子设备的结构图。
具体实施方式
图1为本公开一示例性实施例示出的应用场景示意图。
如图1所示,第一用户利用推流客户端11采集流媒体数据,推流客户端11将采集的流媒体数据发送至边缘节点12中,边缘节点12再将流媒体数据通过内部节点13传输至中心节点14中。
第二用户可以操作拉流客户端15,控制拉流客户端15向边缘节点16发出拉流请求。边缘节点16在缓存中查找与拉流请求对应的流媒体数据,若缓存中存储有与拉流请求对应的流媒体数据,则将缓存中的流媒体数据发送给拉流客户端15;若缓存中没有与拉流请求对应的流媒体数据,则边缘节点16从上游的内部节点17拉取流媒体数据,并将流媒体数据发送给拉流客户端15。
例如,在直播应用场景中,推流客户端11将采集的视频数据上传至边缘节点12中,边缘节点12再将视频数据通过内部节点13传输至中心节点14中。
拉流客户端15向边缘节点16发送拉流请求,边缘节点16可以从内部节点17中拉取视频数据,并将视频数据发送给拉流客户端15。
一种实现方式中,边缘节点11、边缘节点15是分布式的内容分发网中的边缘节点。通常,为了使拉流客户端15获取目标缓冲时长的流媒体数据填充缓冲区,边缘节点16向拉流客户端15发送内容分发网中预先缓存的流媒体数据,使得拉流客户端15能够快速起播。
比如在T时刻,内容分发网中缓存有T时刻之前接收到的一部分流媒体数据。若边缘节点16在时刻T接收到用于获取流媒体数据的拉流请求,则先在边缘节点16的缓存中查找与拉流请求对应的缓存流媒体数据,若在缓存中命中数据成功,则边缘节点16将缓存中的缓存流媒体数据发送给拉流客户端15;若在缓存中命中数据失败,则边缘节点16从上游的内部节点17中拉取与拉流请求对应的缓存流媒体数据,并将拉取到的缓存流媒体数据发送给拉流客户端15。
但是,边缘节点向拉流客户端发送缓存流媒体数据的速度较快,有可能导致网络拥塞、丢包,大量重传甚至会进一步恶化网络质量,导致拉流客户端无法起播成功或者播放首帧的速度非常慢。若边缘节点向拉流客户端发送缓存流媒体数据的速度较慢,则会导致拉流客户端需要浪费更多时间来接收足够多的缓存数据,同样会影响起播体验。
为了解决上述技术问题,本公开提供的方案中,边缘节点接收到拉流请求后分多个阶段发送流媒体数据,在第一个阶段以较快的第一速率发送用于填充拉流客户端缓冲区的第一流媒体数据,使得拉流客户端满足起播条件,进而能够快速起播;在第二个阶段以较慢的第二速率发送第二流媒体数据,从而降低对网络的冲击,避免发生网络拥塞的情况;在第三个阶段提高第三流媒体数据的发送速率,从而降低拉流客户端和推流客户端之间的延迟,直到边缘节点中为拉流客户端缓存的目标流媒体的数据量满足预设条件为止。通过本公开提供的方案,能够起到快速起播、避免网络拥塞和降低推流客户端与拉流客户端之间延迟的效果。
图2为本公开一示例性实施例示出的实时流媒体的传输方法的流程示意图。
本实施例提供的方法可以应用在边缘节点中,具体应用在内容分发网络的边缘节点中。
如图2所示,本公开提供的实时流媒体的传输方法,包括:
步骤201,接收来自拉流客户端的目标流媒体的拉流请求。
其中,拉流客户端是运行在电子设备中用于播放流媒体的应用程序。电子设备例如是手机、平板电脑、计算机等。
边缘节点向拉流客户端发送流媒体数据时可以基于RTP协议(Real-timeTransport Protocol,实时传输协议)传输数据,RTP协议是创建在UDP协议基础上的。
具体的,用户可以操作拉流客户端,拉流客户端基于用户操作向边缘节点发送目标流媒体的拉流请求。例如,在拉流客户端的界面中可以显示多个实时流媒体对应的组件,用户可以点击任一实时流媒体的组件,触发拉流客户端向边缘节点发出拉流请求。其中,被用户操作的组件所对应的实时流媒体为目标流媒体。
进一步的,拉流请求中可以携带第一参数、第二参数、目标倍数等,边缘节点可以基于这些参数控制向拉流客户端发送流媒体数据的过程。
步骤202,以第一速率向拉流客户端发送目标流媒体的第一流媒体数据;其中,第一流媒体数据对应的播放时长与拉流客户端的第一参数相关,第一参数包括拉流客户端的目标缓冲时长。
边缘节点接收到拉流请求后,可以获取第一流媒体数据,并以第一速率向拉流客户端发送第一流媒体数据。
其中,边缘节点所在的内容分发网络中可以预先缓存有目标流媒体的数据,第一流媒体数据可以是预先缓存的目标流媒体的数据中的一部分。
进一步的,第一流媒体数据的播放时长与拉流客户端的第一参数X相关。
一种可选的实现方式中,第一流媒体数据的播放时长等于拉流客户端的第一参数X。
一种可选的实现方式中,第一参数X包括拉流客户端的目标缓冲时长。当拉流客户端的缓冲区填充了时长为目标缓冲时长的流媒体数据后,开始播放缓冲区中的流媒体数据。
实际应用时,边缘节点将第一流媒体数据以较快的第一速率发送给拉流客户端,拉流客户端将这些数据填充到缓冲区,以满足起播时对缓冲区数据量的要求。这种实现方案中,拉流客户端能够在较短的时间播放流媒体数据,以提高用户观看流媒体数据的体验。
一种更具体的实现方式中,第一参数X是拉流客户端的目标缓冲时长,第一流媒体数据的播放时长等于X。这种情况下,拉流客户端接收时长为X的第一流媒体数据,并利用第一流媒体数据填充缓冲区,使得缓冲区中的流媒体数据量满足开始播放的条件。
可选的,第一速率可以是预先配置的值,比如可以是流媒体码率的两倍到三倍的速度,例如,第一速率是10Mbps。
可选的,还可以根据带宽估计对第一速率进行动态调整,例如,将第一速率的初始值设置为10Mbps。再根据带宽估计调整第一速率的值。
步骤203,以第二速率向拉流客户端发送目标流媒体的第二流媒体数据;第二流媒体数据对应的播放时长与拉流客户端的第二参数相关,第二参数包括拉流客户端在缓冲区填充有目标缓冲时长的数据后、以目标流媒体的数据采集速率播放流媒体数据的时长。
其中,第二流媒体数据与第一流媒体数据在时序相连。
边缘节点可以从缓存中获取第二流媒体数据,也可以从上游节点拉取第二流媒体数据。
边缘节点发送第一流媒体数据是以较快的第一速率发出,第一流媒体数据发出以后,边缘节点以较慢的第二速率发出第二流媒体数据,能够减小对网络的冲击,避免发生网络拥塞的问题。
一种可选的实现方式中,第二速率可以是目标流媒体的数据采集速率。数据采集速率是指推流客户端采集流媒体数据时的速率,例如,数据采集速率表征每秒钟采集n帧数据,则边缘节点以每秒钟n帧的第二速率向拉流客户端发送第二流媒体数据。
进一步的,第二流媒体数据对应的播放时长与拉流客户端的第二参数Y相关。第二参数Y包括拉流客户端在缓冲区填充有目标缓冲时长的数据后、以目标流媒体的数据采集速率播放流媒体数据的时长。
拉流客户端开始播放流媒体数据时,存在以目标流媒体的数据采集速率播放一段时长的流媒体数据的需求。以目标流媒体的数据采集速率播放流媒体数据是指不对流媒体数据进行加速或者减速播放的操作,而是按照流媒体数据本身的时间信息进行播放。例如,推流客户端每秒钟采集n帧流媒体数据,则拉流客户端以每秒钟n帧的速率播放流媒体数据。
当第二速率等于数据采集速率时,以数据采集速率向拉流客户端发送第二流媒体数据,能够满足拉流客户端以数据采集速率播放一段流媒体数据的需求。
在一种具体的实现方式中,目标流媒体的数据采集速率等于边缘节点接收目标流媒体的数据接收速率。
边缘节点以目标流媒体的数据采集速率向拉流客户端发送第二流媒体数据,拉流客户端以目标流媒体的数据采集速率播放数据时,拉流客户端的缓冲区中能够保持一定的数据量,因此,拉流客户端不会加速或减速播放流媒体数据。向拉流客户端发送时长为Y的第二流媒体数据,能够使拉流客户端在时长为Y的一段时间内以数据采集速率播放流媒体数据。
步骤204,以第三速率向拉流客户端发送目标流媒体的第三流媒体数据,直至边缘节点中为拉流客户端缓存的目标流媒体的数据量满足预设条件为止。
边缘节点以第二速率向拉流客户端发送第二流媒体数据时,发送速度较慢,会导致边缘节点中存在为拉流客户端缓存的目标流媒体的数据,进而增加推流客户端与拉流客户端之间延迟。
为了降低推流客户端与拉流客户端之间存在的延迟,边缘节点以第三速率向拉流客户端发出为拉流客户端缓存的目标流媒体的数据,直到为拉流客户端缓存的数据量满足预设条件为止。其中,第三速率大于第二速率。
预设条件可以包括边缘节点中为拉流客户端缓存的数据量小于或等于预设阈值。预设阈值可以根据需求设置。
一种可选的实现方式中,预设阈值可以是0。
其中,拉流客户端接收到目标流媒体的拉流请求时,内容分发网络中缓存有目标流媒体的缓存流媒体数据P1,在发送第一流媒体数据Q1、第二流媒体数据Q2和第三流媒体数据Q3的阶段,边缘节点还会接收流媒体数据P2。
因此,边缘节点中为拉流客户端缓存的目标流媒体的数据,是指缓存流媒体数据P1、接收的流媒体数据P2与第一流媒体数据Q1、第二流媒体数据Q2和第三流媒体数据Q3之间相差的数据。
为拉流客户端缓存的目标流媒体的数据量是P1的数据量与P2的数据量之和,再减去Q1的数据量、Q2的数据量、Q3的数据量得到的值。
边缘节点中为拉流客户端缓存的目标流媒体的数据量满足预设条件后,不再以第三速率发送第三流媒体数据。此后边缘节点如果继续从上游节点或者推流客户端接收目标流媒体数据,则还可能产生新的缓存数据,这部分新的缓存数据的数据量与前述判断是否结束以第三速率发送第三流媒体数据没有关系。但后续如果新的缓存数据的数据量超过预设阈值,所述边缘节点还可以重新以第三速率向拉流客户端发送流媒体数据。在流媒体数据传输的三个阶段中,第一速率大于第二速率,第三速率小于或等于第一速率、并大于第二速率。
图3为本公开一示例性实施例示出的目标流媒体中部分数据的示意图。
如图3所示,目标流媒体中包括第一流媒体数据31、第二流媒体数据32和第三流媒体数据33。
第一流媒体数据31、第二流媒体数据32和第三流媒体数据33在时序上相连。
第一流媒体数据31是接收到拉流请求时预先缓存的一部分流媒体数据,以较快的第一速率发送给拉流客户端,用于快速填充拉流客户端的缓冲区。
以较慢的第二速率将第二流媒体数据32发送给拉流客户端,从而降低对网络的冲击,避免发生网络拥塞的情况。
此后以第三速率将第三流媒体数据33发送给拉流客户端,能够降低拉流客户端与推流客户端之间的延迟。
因此,本公开提供的实时流媒体的传输方法,具有快速起播、避免网络拥塞和降低推流客户端与拉流客户端之间延迟的效果。
在一种可选的实施方式中,第二参数和/或目标倍数与拉流客户端的网络质量相关。可以由拉流客户端或者边缘节点根据拉流客户端的网络质量,确定第二参数和/或目标倍数。比如,拉流客户端的网络质量较差,则可以将第二参数设置的小一些,将目标倍数设置的大一些,从而尽快降低边缘节点中为拉流客户端缓存的数据量,以减小拉流客户端和推流客户端之间的延迟。
在一种可选的实施方式中,边缘节点或者拉流客户端可以根据拉流客户端的历史拉流行为,确定下述至少一项参数:第一参数、第二参数、目标倍数。例如,可以根据拉流客户端的历史拉流行为确定拉流客户端的网络质量等级,再根据与该网络质量等级对应的参数组确定第一参数、第二参数、目标倍数。比如,网络质量等级可以包括高、中、低,预先设置有与每个网络质量等级对应的参数组。参数组中包括与第一参数对应的值,与第二参数对应的值,与目标倍数对应的值。
图4为本公开第二示例性实施例示出的实时流媒体的传输方法的流程示意图。
如图4所示,本公开提供的实时流媒体的传输方法,包括:
步骤401,接收来自拉流客户端的目标流媒体的拉流请求;拉流请求包括下述至少一项参数:第一参数、第二参数、目标倍数。
其中,第一参数、第二参数和目标倍数可以是拉流客户端确定的。
拉流客户端基于网络状况、播放流媒体数据时对播放速度的需求等,设置第一参数、第二参数和目标倍数。
一种可选的实现方式中,第一参数是拉流客户端的目标缓冲时长。拉流客户端的填充区填充有目标缓冲时长的数据时,开始播放缓冲区中的流媒体数据。
一种可选的实现方式中,第二参数是拉流客户端在缓冲区填充有目标缓冲时长的数据后、以目标流媒体的数据采集速率播放流媒体数据的时长。
步骤402,以第一速率向拉流客户端发送目标流媒体的第一流媒体数据;其中,第一流媒体数据对应的播放时长与拉流客户端的第一参数相关,第一参数包括拉流客户端的目标缓冲时长。
步骤402与步骤202的实现方式相似,不再赘述。
步骤403,以第二速率向拉流客户端发送目标流媒体的第二流媒体数据;第二流媒体数据对应的播放时长与拉流客户端的第二参数相关,第二参数包括拉流客户端在缓冲区填充有目标缓冲时长的数据后、以目标流媒体的数据采集速率播放流媒体数据的时长;第二速率是目标流媒体的数据采集速率。
拉流客户端播放流媒体数据的速率与接收流媒体数据的速率相同,边缘节点以数据采集速率向拉流客户端发送第二流媒体数据,使得拉流客户端以数据采集速率播放缓冲区中的流媒体数据。
目标流媒体的数据采集速率还等于边缘节点接收目标流媒体的数据接收速率。例如,经过500毫秒,边缘节点接收500毫秒时长的流媒体数据,边缘节点向拉流客户端发出500毫秒时长的流媒体数据,拉流客户端播放500毫秒时长的流媒体数据。
步骤404,以第三速率向拉流客户端发送目标流媒体的第三流媒体数据,直至边缘节点中为拉流客户端缓存的目标流媒体的数据量满足预设条件为止;第三速率是第二速率的目标倍数,目标倍数大于1。
其中,第三速率可以是第二速率的目标倍数,也就是目标流媒体的数据采集速率的目标倍数,而目标流媒体的数据采集速率可以等于边缘节点接收目标流媒体的数据接收速率,因此,第三速率还可以等于数据接收速率的目标倍数。
边缘节点以数据接收速率的目标倍数发送第三流媒体数据,能够减少边缘节点中为拉流客户端缓存的目标流媒体的数据量。
例如,目标倍数等于1.2时,边缘节点每秒钟接收1秒时长的流媒体数据,发出1.2秒时长的流媒体数据。通过这种方式能够避免边缘节点中存在额外的缓冲数据,进而增加拉流客户端和推流客户端之间的延迟的问题。
步骤405,以第四速率向拉流客户端发送目标流媒体的第四流媒体数据;其中,第四速率是目标流媒体的数据采集速率。
将边缘节点中为拉流客户端缓存的目标流媒体数据发送完毕后,边缘节点以实时转发的机制向拉流客户端发送目标流媒体的第四流媒体数据。
目标流媒体的数据采集速率是指推送端采集目标流媒体的速率,边缘节点接收推流客户端推送数据的数据接收速率等于数据采集速率。这种实现方式中,边缘节点以数据接收速率向拉流客户端发送第四流媒体数据,能够降低推流客户端和拉流客户端之间的延迟。
图5为本公开第三示例性实施例示出的实时流媒体的传输方法的流程示意图。
本公开提供的实时流媒体的传输方法可以应用在拉流客户端中。该拉流客户端可以是图2-图4所示实施例中提及的拉流客户端。
拉流客户端是设置在电子设备中用于播放流媒体的软件,电子设备例如可以是手机、平板电脑、计算机等。
如图5所示,本公开提供的实时流媒体的传输方法,包括:
步骤501,向边缘节点发送目标流媒体的拉流请求。
边缘节点可以是内容分发网络的边缘节点,该内容分发网络用于提供实时流媒体服务。
其中,用户可以操作拉流客户端,拉流客户端基于用户操作向边缘节点发送目标流媒体的拉流请求。
步骤502,接收边缘节点以第一速率发送的目标流媒体的第一流媒体数据,并将第一流媒体数据填入缓冲区;其中,第一流媒体数据对应的播放时长与拉流客户端的第一参数相关,第一参数包括拉流客户端的目标缓冲时长。
边缘节点以第一速率向拉流客户端发送第一流媒体数据,具体的发送过程与图2-图4任一项所述的实施例中发送第一流媒体数据的方式类似,不再赘述。
拉流客户端将接收的第一流媒体数据填充至缓冲区中,并在满足流媒体数据的播放条件时播放缓冲区中的流媒体数据。
步骤503,以目标流媒体的数据采集速率播放缓冲区中的流媒体数据。
一种可选的实现方式中,第一流媒体数据的播放时长是拉流客户端的目标缓冲时长。拉流客户端将第一流媒体数据填充到缓冲区后满足播放条件,拉流客户端开始播放缓冲区中的流媒体数据。
其中,在满足播放流媒体数据的条件时,拉流客户端以目标流媒体的数据采集速率播放缓冲区中的流媒体数据。
步骤504,接收边缘节点以第二速率发送的目标流媒体的第二流媒体数据,并将第一流媒体数据填入所述缓冲区;第二流媒体数据对应的播放时长与拉流客户端的第二参数相关,第二参数包括拉流客户端在缓冲区填充有目标缓冲时长的数据后、以目标流媒体的数据采集速率播放流媒体数据的时长。
步骤505,以第二速率播放缓冲区中的流媒体数据。
边缘节点发送完毕第一流媒体数据后,以第二速率向拉流客户端发送第二流媒体数据,具体的发送过程与图2-图4任一项所述的实施例中发送第二流媒体数据的方式类似,不再赘述。
拉流客户端将接收的第二流媒体数据填充至缓冲区中。
在接收第二流媒体数据的阶段,拉流客户端以接收第二流媒体数据的第二速率播放缓冲区中的流媒体数据。
在一种可选的实现方式中,第二速率是目标流媒体的数据采集速率。这种实现方式中,拉流客户端能够以目标流媒体的数据采集速率播放缓冲区中的一段流媒体数据。
步骤506,接收边缘节点以第三速率发送的目标流媒体的第三流媒体数据,并将第三流媒体数据填入缓冲区。
步骤507,以第三速率播放缓冲区中的流媒体数据。
为了降低拉流客户端和推流客户端之间延迟,边缘节点以第三速率向拉流客户端发送目标流媒体的第三流媒体数据,拉流客户端以第三速率播放缓冲区中的流媒体数据。
具体的发送过程与图2-图4任一项所述的实施例中发送第三流媒体数据的方式类似,不再赘述。
实际应用时,第一速率大于第二速率,第三速率小于或等于第一速率,并大于第二速率。
图6为一示例性实施例示出的拉流客户端播放流媒体数据的示意图。
如图6所示,拉流客户端将第一流媒体数据61填充到缓冲区后,达到了播放要求,开始播放缓冲区中第一流媒体数据中的数据601。
拉流客户端以第二速率接收第二流媒体数据62,并将第二流媒体数据62存储到缓冲区中。同时拉流客户端在接收第二流媒体数据62的这段时间内,以第二速率播放缓冲区中的数据602。该数据602可能包括第一流媒体数据61中的数据,也可能包括第二流媒体数据62中的数据。
拉流客户端以第三速率接收第三流媒体数据63,并将第三流媒体数据63存储到缓冲区中。同时拉流客户端在接收第三流媒体数据63的这段时间内,以第三速率播放缓冲区中的数据602。该数据603可能包括第二流媒体数据62中的数据,也可能包括第三流媒体数据63中的数据,在第二流媒体数据62的播放时长较短时,数据603中还可能包括第一流媒体数据61中的数据。
一种可选的实现方式中,接收边缘节点以第三速率发送的目标流媒体的第三流媒体数据之后,还包括:
接收边缘节点以第四速率发送的目标流媒体的第四流媒体数据;其中,第四速率是目标流媒体的数据采集速率;
以第四速率播放缓冲区中的流媒体数据。
边缘节点发送第四流媒体数据的过程,参见步骤405。
拉流客户端以第四速率接收第四流媒体数据时,也以第四速率播放缓冲区中的流媒体数据。
一种可选的实现方式中,第二速率是目标流媒体的数据采集速率。
拉流客户端以第二速率接收第二流媒体数据,同时也会以第二速率播放缓冲区中的流媒体数据。将第二速率设置为目标流媒体的数据采集速率,能够使拉流客户端在接收第二流媒体数据的阶段,以数据采集速率播放流媒体数据。
一种可选的实现方式中,第三速率是第二速率的目标倍数,目标倍数大于1。
这种实现方式中,第三速率也就是目标流媒体的数据采集速率的目标倍数,拉流客户端的播放速率比推流客户端的数据采集速率大,能够尽快播放掉在边缘节点中存储的额外缓冲数据,从而降低拉流客户端与推流客户端之间的延迟。
一种可选的实现方式中,第二参数和/或目标倍数与拉流客户端的网络质量相关。
一种可选的实现方式中,拉流请求包括下述至少一项参数:
第一参数、第二参数、目标倍数。
图7为本公开第四示例性实施例示出的实时流媒体的传输方法的示意图。
如图7所示,本公开提供的实时流媒体的传输方法,包括:
拉流客户端向边缘节点发送目标流媒体的拉流请求。
边缘节点以第一速率向拉流客户端发送目标流媒体的第一流媒体数据。
其中,第一流媒体数据对应的播放时长与拉流客户端的第一参数相关,第一参数包括拉流客户端的目标缓冲时长。
拉流客户端将第一流媒体数据填入缓冲区,并以目标流媒体的采集速率播放缓冲区中的流媒体数据。
边缘节点以第二速率向拉流客户端发送目标流媒体的第二流媒体数据。
第二流媒体数据对应的播放时长与拉流客户端的第二参数相关,第二参数包括拉流客户端在缓冲区填充有目标缓冲时长的数据后、以目标流媒体的数据采集速率播放流媒体数据的时长。
拉流客户端将第二流媒体数据填入缓冲区,并以第二速率播放缓冲区中的流媒体数据。
边缘节点以第三速率向拉流客户端发送目标流媒体的第三流媒体数据,直至边缘节点中为拉流客户端缓存的目标流媒体的数据被发送完毕为止。
拉流客户端将第三流媒体数据填入缓冲区,并以第三速率播放缓冲区中的流媒体数据。
边缘节点以第四速率向拉流客户端发送目标流媒体的第四流媒体数据。
其中,第四速率是目标流媒体的数据采集速率。
拉流客户端将第四流媒体数据填入缓冲区,并以第四速率播放缓冲区中的流媒体数据。
图8为本公开一示例性实施例示出的实时流媒体的传输装置的结构图。
如图8所示,本实施例提供的实时流媒体的传输装置800,包括:
接收单元810,用于接收来自拉流客户端的目标流媒体的拉流请求;
第一发送单元820,用于以第一速率向所述拉流客户端发送所述目标流媒体的第一流媒体数据;其中,所述第一流媒体数据对应的播放时长与所述拉流客户端的第一参数相关,所述第一参数包括所述拉流客户端的目标缓冲时长;
第二发送单元830,用于以第二速率向所述拉流客户端发送所述目标流媒体的第二流媒体数据;所述第二流媒体数据对应的播放时长与所述拉流客户端的第二参数相关,所述第二参数包括所述拉流客户端在缓冲区填充有所述目标缓冲时长的数据后、以所述目标流媒体的数据采集速率播放流媒体数据的时长;
第三发送单元840,用于以第三速率向所述拉流客户端发送所述目标流媒体的第三流媒体数据,直至所述边缘节点中为所述拉流客户端缓存的所述目标流媒体的数据量满足预设条件为止;
其中,所述第一速率大于所述第二速率,所述第三速率小于或等于所述第一速率、并大于所述第二速率。
可选的,所述装置还包括第四发送单元850,用于第三发送单元840以第三速率向所述拉流客户端发送所述目标流媒体的第三流媒体数据之后:
以第四速率向所述拉流客户端发送所述目标流媒体的第四流媒体数据;其中,所述第四速率是所述目标流媒体的数据采集速率。
可选的,所述第二速率是所述目标流媒体的数据采集速率。
可选的,所述第三速率是所述第二速率的目标倍数,所述目标倍数大于1。
可选的,所述第二参数和/或所述目标倍数与所述拉流客户端的网络质量相关。
可选的,所述拉流请求包括下述至少一项参数:
所述第一参数、所述第二参数、所述目标倍数。
可选的,所述方法还包括:
根据所述拉流客户端的历史拉流行为,确定下述至少一项参数:所述第一参数、所述第二参数、所述目标倍数。
图9为本公开另一示例性实施例示出的实时流媒体的传输装置的结构图。
如图9所示,本实施例提供的实时流媒体的传输装置900,包括:
发送单元910,用于向边缘节点发送目标流媒体的拉流请求;
接收单元920,用于接收所述边缘节点以第一速率发送的所述目标流媒体的第一流媒体数据,并将所述第一流媒体数据填入缓冲区;其中,所述第一流媒体数据对应的播放时长与所述拉流客户端的第一参数相关,所述第一参数包括所述拉流客户端的目标缓冲时长;
播放单元930,用于以所述目标流媒体的数据采集速率播放所述缓冲区中的流媒体数据;
所述接收单元920还用于接收所述边缘节点以第二速率发送的所述目标流媒体的第二流媒体数据,并将所述第二流媒体数据填入所述缓冲区;所述第二流媒体数据对应的播放时长与所述拉流客户端的第二参数相关,所述第二参数包括所述拉流客户端在缓冲区填充有所述目标缓冲时长的数据后、以所述目标流媒体的数据采集速率播放流媒体数据的时长;
所述播放单元930还用于以所述第二速率播放所述缓冲区中的流媒体数据;
所述接收单元920还用于接收所述边缘节点以第三速率发送的所述目标流媒体的第三流媒体数据,并将所述第三流媒体数据填入所述缓冲区;
所述播放单元930还用于以所述第三速率播放所述缓冲区中的流媒体数据;
其中,所述第一速率大于所述第二速率,所述第三速率小于或等于所述第一速率,并大于所述第二速率
所述接收单元920还用于在接收所述边缘节点以第三速率发送的所述目标流媒体的第三流媒体数据之后:
接收所述边缘节点以第四速率发送的所述目标流媒体的第四流媒体数据;其中,所述第四速率是所述目标流媒体的数据采集速率;
以所述第四速率播放所述缓冲区中的流媒体数据。
可选的,所述第二速率是所述目标流媒体的数据采集速率。
可选的,所述第三速率是所述第二速率的目标倍数,所述目标倍数大于1。
可选的,所述第二参数和/或所述目标倍数与所述拉流客户端的网络质量相关。
可选的,所述拉流请求包括下述至少一项参数:
所述第一参数、所述第二参数、所述目标倍数。
图10为本公开一示例性实施例示出的电子设备的结构图。
如图10所示,本实施例提供的电子设备包括:
存储器101;
处理器102;以及
计算机程序;
其中,所述计算机程序存储在所述存储器101中,并配置为由所述处理器102执行以实现如上所述的任一种直播数据的传输方法。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,
所述计算机程序被处理器执行以实现如上所述的任一种实时流媒体的传输方法。
本实施例还提供一种计算机程序,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如上所述的任一种实时流媒体的传输方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。

Claims (14)

1.一种实时流媒体的传输方法,其特征在于,应用于边缘节点,所述方法包括:
接收来自拉流客户端的目标流媒体的拉流请求;
以第一速率向所述拉流客户端发送所述目标流媒体的第一流媒体数据;其中,所述第一流媒体数据对应的播放时长与所述拉流客户端的第一参数相关,所述第一参数包括所述拉流客户端的目标缓冲时长;
以第二速率向所述拉流客户端发送所述目标流媒体的第二流媒体数据;所述第二流媒体数据对应的播放时长与所述拉流客户端的第二参数相关,所述第二参数包括所述拉流客户端在缓冲区填充有所述目标缓冲时长的数据后、以所述目标流媒体的数据采集速率播放流媒体数据的时长;
以第三速率向所述拉流客户端发送所述目标流媒体的第三流媒体数据,直至所述边缘节点中为所述拉流客户端缓存的所述目标流媒体的数据量满足预设条件为止;
其中,所述第一速率大于所述第二速率,所述第三速率小于或等于所述第一速率、并大于所述第二速率。
2.根据权利要求1所述的方法,其特征在于,所述以第三速率向所述拉流客户端发送所述目标流媒体的第三流媒体数据之后,还包括:
以第四速率向所述拉流客户端发送所述目标流媒体的第四流媒体数据;其中,所述第四速率是所述目标流媒体的数据采集速率。
3.根据权利要求1所述的方法,其特征在于,所述第二速率是所述目标流媒体的数据采集速率。
4.根据权利要求1所述的方法,其特征在于,所述第三速率是所述第二速率的目标倍数,所述目标倍数大于1。
5.根据权利要求4所述的方法,其特征在于,所述第二参数和/或所述目标倍数与所述拉流客户端的网络质量相关。
6.根据权利要求4所述的方法,其特征在于,所述拉流请求包括下述至少一项参数:
所述第一参数、所述第二参数、所述目标倍数。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述拉流客户端的历史拉流行为,确定下述至少一项参数:所述第一参数、所述第二参数、所述目标倍数。
8.一种实时流媒体的传输方法,其特征在于,应用于拉流客户端,所述方法包括:
向边缘节点发送目标流媒体的拉流请求;
接收所述边缘节点以第一速率发送的所述目标流媒体的第一流媒体数据,并将所述第一流媒体数据填入缓冲区;其中,所述第一流媒体数据对应的播放时长与所述拉流客户端的第一参数相关,所述第一参数包括所述拉流客户端的目标缓冲时长;
以所述目标流媒体的数据采集速率播放所述缓冲区中的流媒体数据;
接收所述边缘节点以第二速率发送的所述目标流媒体的第二流媒体数据,并将所述第二流媒体数据填入所述缓冲区;所述第二流媒体数据对应的播放时长与所述拉流客户端的第二参数相关,所述第二参数包括所述拉流客户端在所述缓冲区填充有所述目标缓冲时长的数据后、以所述目标流媒体的数据采集速率播放流媒体数据的时长;
以所述第二速率播放所述缓冲区中的流媒体数据;
接收所述边缘节点以第三速率发送的所述目标流媒体的第三流媒体数据,并将所述第三流媒体数据填入所述缓冲区;
以所述第三速率播放所述缓冲区中的流媒体数据;
其中,所述第一速率大于所述第二速率,所述第三速率小于或等于所述第一速率,并大于所述第二速率。
9.根据权利要求8所述的方法,其特征在于,所述接收所述边缘节点以第三速率发送的所述目标流媒体的第三流媒体数据之后,还包括:
接收所述边缘节点以第四速率发送的所述目标流媒体的第四流媒体数据;其中,所述第四速率是所述目标流媒体的数据采集速率;
以所述第四速率播放所述缓冲区中的流媒体数据。
10.根据权利要求8所述的方法,其特征在于,所述第二速率是所述目标流媒体的数据采集速率。
11.根据权利要求8所述的方法,其特征在于,所述第三速率是所述第二速率的目标倍数,所述目标倍数大于1。
12.根据权利要求11所述的方法,其特征在于,所述第二参数和/或所述目标倍数与所述拉流客户端的网络质量相关。
13.根据权利要求11所述的方法,其特征在于,所述拉流请求包括下述至少一项参数:
所述第一参数、所述第二参数、所述目标倍数。
14.一种电子设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并配置为由所述处理器执行以实现如权利要求1-13任一种所述的方法。
CN202210565062.1A 2022-05-23 2022-05-23 实时流媒体的传输方法及电子设备 Active CN115002086B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210565062.1A CN115002086B (zh) 2022-05-23 2022-05-23 实时流媒体的传输方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210565062.1A CN115002086B (zh) 2022-05-23 2022-05-23 实时流媒体的传输方法及电子设备

Publications (2)

Publication Number Publication Date
CN115002086A true CN115002086A (zh) 2022-09-02
CN115002086B CN115002086B (zh) 2024-04-02

Family

ID=83027957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210565062.1A Active CN115002086B (zh) 2022-05-23 2022-05-23 实时流媒体的传输方法及电子设备

Country Status (1)

Country Link
CN (1) CN115002086B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140173055A1 (en) * 2012-12-17 2014-06-19 Industrial Technology Research Institute Media streaming method and device using the same
US20160105728A1 (en) * 2013-06-19 2016-04-14 Opticom Dipl.-Ing. Michael Keyhl Gmbh Concept for determining the quality of a media data stream with varying quality-to-bitrate
WO2017084279A1 (zh) * 2015-11-16 2017-05-26 乐视控股(北京)有限公司 网络直播方法、装置及系统
CN107426581A (zh) * 2016-12-29 2017-12-01 东方有线网络有限公司 一种基于广电引擎控制的互动电视直播系统实现方法
CN107659853A (zh) * 2017-11-03 2018-02-02 中广热点云科技有限公司 一种自适应流媒体直播控制系统
CN109618179A (zh) * 2019-01-21 2019-04-12 北京数码视讯软件技术发展有限公司 超高清视频直播的快速起播方法及装置
CN110677737A (zh) * 2019-10-08 2020-01-10 烽火通信科技股份有限公司 一种hls直播快速起播方法及系统
CN113242436A (zh) * 2020-12-28 2021-08-10 阿里巴巴(中国)有限公司 直播数据的处理方法、装置及电子设备
CN113259706A (zh) * 2021-06-28 2021-08-13 北京新唐思创教育科技有限公司 直播处理方法、装置、电子设备以及存储介质
CN113542215A (zh) * 2021-05-31 2021-10-22 浙江大华技术股份有限公司 一种提升流媒体传输性能的方法及相关装置
CN113709510A (zh) * 2021-08-06 2021-11-26 联想(北京)有限公司 高速率数据实时传输方法及装置、设备、存储介质
US11206295B1 (en) * 2020-07-16 2021-12-21 CodeShop, B.V. System and method for streaming content selection
CN113852866A (zh) * 2021-09-16 2021-12-28 珠海格力电器股份有限公司 媒体流的处理方法、装置及系统

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140173055A1 (en) * 2012-12-17 2014-06-19 Industrial Technology Research Institute Media streaming method and device using the same
US20160105728A1 (en) * 2013-06-19 2016-04-14 Opticom Dipl.-Ing. Michael Keyhl Gmbh Concept for determining the quality of a media data stream with varying quality-to-bitrate
WO2017084279A1 (zh) * 2015-11-16 2017-05-26 乐视控股(北京)有限公司 网络直播方法、装置及系统
CN107426581A (zh) * 2016-12-29 2017-12-01 东方有线网络有限公司 一种基于广电引擎控制的互动电视直播系统实现方法
CN107659853A (zh) * 2017-11-03 2018-02-02 中广热点云科技有限公司 一种自适应流媒体直播控制系统
CN109618179A (zh) * 2019-01-21 2019-04-12 北京数码视讯软件技术发展有限公司 超高清视频直播的快速起播方法及装置
CN110677737A (zh) * 2019-10-08 2020-01-10 烽火通信科技股份有限公司 一种hls直播快速起播方法及系统
US11206295B1 (en) * 2020-07-16 2021-12-21 CodeShop, B.V. System and method for streaming content selection
CN113242436A (zh) * 2020-12-28 2021-08-10 阿里巴巴(中国)有限公司 直播数据的处理方法、装置及电子设备
CN113542215A (zh) * 2021-05-31 2021-10-22 浙江大华技术股份有限公司 一种提升流媒体传输性能的方法及相关装置
CN113259706A (zh) * 2021-06-28 2021-08-13 北京新唐思创教育科技有限公司 直播处理方法、装置、电子设备以及存储介质
CN113709510A (zh) * 2021-08-06 2021-11-26 联想(北京)有限公司 高速率数据实时传输方法及装置、设备、存储介质
CN113852866A (zh) * 2021-09-16 2021-12-28 珠海格力电器股份有限公司 媒体流的处理方法、装置及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李争明;张佐;叶德建;: "自适应流媒体传输方案研究及其应用", 计算机工程, no. 12 *
顾雪梅;: "流媒体系统中基于速率的拥塞控制方法研究", 现代计算机(专业版), no. 07 *

Also Published As

Publication number Publication date
CN115002086B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
CN111586480B (zh) 低延迟流媒体
EP3520420B1 (en) Viewer importance adaptive bit rate delivery
KR101716071B1 (ko) 적응적 스트리밍 기법
US10110650B2 (en) Client side stream switching
US8161515B2 (en) Fast channel change handling of late multicast join
US6792449B2 (en) Startup methods and apparatuses for use in streaming content
US8504713B2 (en) Adaptive progressive download
EP3200423B1 (en) Media host transmitting media stream with adapted bit rate
EP2466911B1 (en) Method and device for fast pushing unicast stream in fast channel change
CN110933517B (zh) 码率切换方法、客户端和计算机可读存储介质
CN117581552A (zh) 在传输预创作视频帧和合成视频帧之间切换
CN108696772B (zh) 一种实时视频的传输方法及装置
WO2006096104A1 (en) Multimedia channel switching
CN108696771B (zh) 一种视频播放方法及装置
CN111866526B (zh) 一种直播业务处理方法和装置
US20150095447A1 (en) Serving method of cache server, cache server, and system
CN113242436A (zh) 直播数据的处理方法、装置及电子设备
JPWO2010041469A1 (ja) コンテンツ配信システム、コンテンツ配信方法およびコンピュータプログラム
US20140040495A1 (en) System and method for low delay fast update for video streaming
CN112383791A (zh) 一种媒体数据处理方法、装置、电子设备和存储介质
CN115002086B (zh) 实时流媒体的传输方法及电子设备
CN111954007B (zh) Udp直播中vbr视频快速平滑发送方法与装置
JP4773505B2 (ja) マルチメディアチャネルの切り替え
EP4195626A1 (en) Streaming media content as media stream to a client system
RU2389145C2 (ru) Способ управления передачами пакетов данных для данных с переменным битрейтом

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