CN114339267A - 文件轮播推流方法、装置及直播推流服务器 - Google Patents

文件轮播推流方法、装置及直播推流服务器 Download PDF

Info

Publication number
CN114339267A
CN114339267A CN202210002241.4A CN202210002241A CN114339267A CN 114339267 A CN114339267 A CN 114339267A CN 202210002241 A CN202210002241 A CN 202210002241A CN 114339267 A CN114339267 A CN 114339267A
Authority
CN
China
Prior art keywords
file
carousel
pushed
media
streaming
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
CN202210002241.4A
Other languages
English (en)
Other versions
CN114339267B (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 Huya Technology Co Ltd
Original Assignee
Guangzhou Huya 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 Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202210002241.4A priority Critical patent/CN114339267B/zh
Publication of CN114339267A publication Critical patent/CN114339267A/zh
Application granted granted Critical
Publication of CN114339267B publication Critical patent/CN114339267B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例提供一种文件轮播推流方法、装置及直播推流服务器,通过对接收的文件轮播任务进行解析,获得所述文件轮播任务的任务信息,所述任务信息包括轮播文件列表,所述轮播文件列表包括多个待推流文件。然后,根据所述轮播文件列表按照预设的预下载策略从内容提供源依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器的本地存储中。最后,依次从所述本地存储获取待推流文件,将获取的待推流文件转换为媒体流,并将所述媒体流推流到直播平台的内容分发网络进行播放。如此,通过针对待推流文件进行预下载、推流媒体包缓存的方案可以解决传统的通过实时文件拉流易出现的推流抖动、播放卡顿问题。

Description

文件轮播推流方法、装置及直播推流服务器
技术领域
本申请涉及在线直播及音视频处理相关技术领域,具体而言,涉及一种应用于直播平台的文件轮播推流方法、装置及直播推流服务器。
背景技术
随着移动互联网技术以及网络通信技术的不断发展,网络直播在人们的日常工作及生活中得到了迅速的发展及应用。例如,用户可以通过智能手机、电脑、平板电脑等设备在线观看直播平台的各种主播提供的直播内容,又或者,用户也可以通过智能手机、电脑、平板电脑等设备随时随地在相应的直播平台提供直播内容,以供他人观看。
当前直播平台拥有大量的实时在线直播内容,具有用户实时交互、相互分享吐槽、拉近用户距离等的优势。然而,传统的直播内容受限于主播或者运营的在线时间,无法做到随时开播,并且无法播放文件内容(如离线音频内容、离线视频内容等)。
基于直播系统的文件轮播系统可以将直播系统和离线文件内容结合起来,解决直播内容受限于主播在线时间和无法文件播放的问题,极大地丰富了直播的内容和形式。然而,发明人发现,传统的文件轮播系统受限于网络环境、切片换片的影响容易出现播放卡顿、换片卡顿、异常跳集等问题。
发明内容
基于以上内容,为了解决上述的至少部分问题,第一方面,本申请实施例提供一种文件轮播推流方法,所述方法包括:
对接收的文件轮播任务进行解析,获得所述文件轮播任务的任务信息,所述任务信息包括轮播文件列表,所述轮播文件列表包括多个待推流文件;
根据所述轮播文件列表按照预设的预下载策略从内容提供源依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器的本地存储中;
依次从所述本地存储获取待推流文件,将获取的待推流文件转换为媒体流,并将所述媒体流推流到直播平台的内容分发网络进行播放。
基于第一方面的一种可能的实现方式,所述将获取的待推流文件转换为媒体流,并将所述媒体流推流到直播平台的内容分发网络进行播放,包括:
将获取到的待推流文件转换成预设格式的媒体包;
将所述媒体包的时间基进行统一校正,并对该媒体包的各媒体帧的时间戳进行拼接;
将完成时间基矫正以及时间戳拼接后的各所述待推流文件对应的媒体包拼接到同一媒体流,并将所述媒体包缓存到预设的物理内存中;
从所述物理内存依次拉取缓存的所述媒体流中的各媒体帧发送到所述内容分发网络中对应的轮播渠道进行推流播放。
基于第一方面的一种可能的实现方式,根据所述轮播文件列表按照预设的预下载策略从内容提供源依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器的本地存储中,包括:
在未下载所述轮播文件列表中的首个待推流文件的前提下,将包括所述首个待推流文件的至少两个待推流文件依次预下载到所述本地存储中;
在任意媒体包对应的媒体帧被推流到所述直播平台的内容分发网络时,确定需要预下载的下一个待推流文件;
从所述内容提供源将确定的所述下一个待推流文件下载到所述本地存储中。
基于第一方面的一种可能的实现方式,所述方法还包括:
创建文件推流配置表项,其中,所述文件推流配置表项包括各待推流文件的推流进度标志位,初始化状态下,所述文件推流配置表项中包括所述首个待推流文件的N个待推流文件分别对应的推流进度标志位被置为第一进度标志,其中N大于或等于2;
在任意待推流文件被下载到所述本地存储时,将所述文件推流配置表项中该待推流文件的推流进度标志位置为第二进度标志;
当任意待推流文件的媒体包通过所述媒体流被推流到所述直播平台的内容分发网络时,将该待推流文件的推流进度标志位置为第三进度标志,并将前一次预下载的待推流文件的下一个待推流文件的推流进度标志位置为第一进度标志;
相应地,所述在任意媒体包对应的媒体帧被推流到所述直播平台的内容分发网络时,确定需要预下载的下一个待推流文件,包括:
将所述文件推流配置表项中推流进度标志位为第一进度标志的待推流文件确定为需要预下载的下一个待推流文件。
基于第一方面的一种可能的实现方式,所述方法还包括:
每隔预设时间,将所述文件推流配置表项中推流进度标志为第三进度标志的待推流文件从所述本地存储中进行删除,并将删除后的待推流文件对应的推流进度标志位置为第四进度标志。
基于第一方面的一种可能的实现方式,所述根据所述轮播文件列表按照预设的预下载策略从内容提供源依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器的本地存储中,还包括:
在从所述内容提供源下载待推流文件出现异常时,从预先确定的备用内容提供源下载所述待推流文件。
基于第一方面的一种可能的实现方式,在根据所述轮播文件列表按照预设的预下载策略从内容提供源依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器的本地存储中之前,所述方法还包括:
判断所述文件轮播任务是否为预设类型的文件轮播任务,若为预设类型的轮播任务,则执行所述根据所述轮播文件列表按照预设的预下载策略从内容提供源依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器的本地存储中的步骤;
若所述文件轮播任务不是预设类型的文件轮播任务,所述方法还包括:
从待推流文件对应的内容提供源依次拉取所述轮播文件列表中包括的各待推流文件;
将拉取的待推流文件转换为媒体流,并将所述媒体流推流到直播平台的内容分发网络进行播放。
基于第一方面的一种可能的实现方式,所述方法还包括:
在媒体流的推流过程中,检测该媒体流是否存在音频帧缺失的情况,在存在音频帧缺失时,使用预先设定的静音帧对缺失的音频帧进行补全。
第二方面,本申请实施例还提供一种文件轮播推流装置,应用于直播推流服务器,所述文件轮播推流装置包括:
任务管理器,用于对接收的文件轮播任务进行解析,获得所述文件轮播任务的任务信息,所述任务信息包括轮播文件列表,所述轮播文件列表包括多个待推流文件;
拉流器,用于根据所述轮播文件列表按照预设的预下载策略从内容提供源依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器的本地存储中;
推流器,用于依次从所述本地存储获取待推流文件,将获取的待推流文件转换为媒体流,并将所述媒体流推流到直播平台的内容分发网络进行播放。
第三方面,本申请实施例还提供一种一种直播推流服务器,包括机器可读存储介质以及一个或多个处理器,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被所述一个或多个处理器执行时,实现上述的方法。
基于本申请实施例的上述内容,相对于现有技术而言,本申请实施例提供的文件轮播推流方法、装置及直播推流服务器,通过针对待推流文件进行预下载、推流媒体包缓存的方案可以解决传统的通过实时文件拉流易出现的推流抖动、播放卡顿问题。进一步地,利用统一相同时间基、时间戳拼接实现了多文件统一输出流的方案,解决了播放换片卡顿、换片音视频不同步的问题。如此,提升了文件轮播推流的稳定性,使观众具有良好并流畅的观看体验,进而提升用户的使用体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是用于实现本实施例提供的文件轮播推流方法的一种文件轮播推流系统的示意图。
图2是本申请实施例提供的文件轮播推流方法的流程示意图。
图3是本申请实施例提供的基于推流配置表项对推流过程进行控制的示意图。
图4是图2中步骤S300的子步骤流程示意图。
图5是本实施例提供的文件轮播推流方法的另一种流程示意图。
图6是本申请实施例提供的用于实现上述文件轮播推流方法的直播推流服务器的示意图。
图7是本申请实施例提供的文件轮播推流装置的功能模块示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在对本申请实施例提供的相关技术方案进行详细介绍之前,为了更清楚地理解本申请实施例的相关技术方案,首先对本申请实施例涉及的有关技术术语进行说明。
首先,在对本申请提供的相关实施例进行示例性介绍之前,对本申请涉及的相关术语进行解释说明。
RTMP(Real Time Messaging Protocol,实时消息传输协议),是针对音视频及数据传输开发的实时消息传送协议,其基于TCP,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种实时数据通信的网络协议,一般用于Flash、AIR等平台与支持RTMP协议的流媒体以及交互服务器之间进行音视频等流媒体数据通信。
内容分发网络(Content Distribution Network,CDN),也称为内容传送网络,是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
时间戳,本申请中的时间戳是指音视频等流媒体的时间戳,其一般包括PTS(Presentation TimeStamp,显示时间戳)和DTS(Decoding Time Stamp,解码时间戳)。DTS用于指示解码对应的媒体帧(如音视频帧)的时间,PTS用于指示显示对应媒体帧的时间。
时间基,可以理解为媒体流的时间刻度,以帧率为例,如果每秒钟的帧率是100,那么对应的时间基(时间刻度)就是1/100,也就是说每隔1/100秒后,显示一个媒体帧。
基于前述背景技术所提及的技术问题,现有的网络直播平台可为广大用户提供各种类型的直播服务,例如基于真人现场互动的直播服务、基于虚拟数字形象的直播服务、基于在线内容(如音视频)的在线直播等,使得观众用户可以通过直播客户端观看相应的直播,并进行相应互动等。其中,基于在线内容的在线直播,例如基于在线音视频等媒体内容的视频直播,可以通过直播平台同时为广大的用户提供在线直播服务(如针对热点电影的在线直播),不同的用户在观看相同的视频直播内容时可以通过发送弹幕、互送礼品等互动方式进行互动,例如可以进行实时交互、相互分享吐槽等,进而提升在线直播的趣味性。
现有的基于在线内容的在线直播方案,较为典型的实现方式是通过将待直播内容对应的文件推流到直播平台的内容分发网络(CDN,Content Distribution Network)进行播放,使得观看直播的用户可以通过直播客户端或者直播网页直接访问所述内容分发网络对相应的直播内容进行观看。
发明人对上述文件推流的实现方式进行研究发现,现有的文件推流方案一般是针对多媒体节目单利用推流工具进行逐一推流,具体来说,针对当前要播放的文件进行拉取、解析、转封装推流,播放完毕后再获取节目单里的下一个文件进行播放。但是这种推流方案没有做异常处理,在实际推流过程中,往往会遇到很多的网络异常、文件异常等异常情况。例如,遇到网络波动或者文件异常则容易出现推流抖动、播放卡顿,甚至黑屏、跳集等,很影响观看体验,特别是在播放电影或电视剧发生卡顿跳集等情况,对观众来说是无法接受的。此外,传统文件推流方案在播完换片时由于片源之间的帧率、分辨率、时间戳等音视频参数发生了变化,往往需要重置推流器进行推流,由此会导致播放过程的不连续,发生换片卡顿的情况。
有鉴于此,本申请实施例创新性地提出了一种基于直播平台的文件轮播推流方案,具体可通过文件预下载、播放缓存、统一时间基、拼接时间戳等方案解决文件拉流易出现的推流抖动、播放卡顿、播放跳集、从头开始播放等问题,进而提升轮播推流的稳定性,提升用户的观看体验。
下面将结合附图对本申请实施例的具体实现方法进行示例性的描述。
首先,如图1所示,是本申请实施例提供的基于直播平台的文件轮播推流系统的架构示意图。本实施例中,所述文件轮播推流系统可以包括直播推流服务器100、内容提供源200、内容分发网络(CDN)300以及用户终端400。本实施例中,所述直播推流服务器100与所述内容提供源200通信连接,以从所述所述内容提供源200获取需要通过直播平台进行轮播推流的内容文件(如音视频多媒体文件),然后将获取的内容文件进行解析、转封装等处理后,再通过所述内容分发网络300进行推流,使得观看在线直播的用户可通过所述用户终端400访问所述内容分发网络300以观看相应的在线直播内容。
例如,作为一种示例,所述直播推流服务器100可以是,但不限于,计算机设备、服务器、云计算终端、服务器集群、数据中心等具有多媒体内容处理能力的设备。
所述内容提供源200可以是提供直播服务的直播平台所架设的具有大量在线直播内容(如影视剧内容、电影内容、短视频、历史直播视频、游戏视频等)的云服务平台,也可以是第三方服务机构(如提供在线音视频内容的电影网站、游戏平台、短视频平台等)提供的内容源下载中心,本实施例具体不进行限定。针对第三方服务机构的实现方式,所述直播平台可以通过取得第三方服务机构的授权之后从所述内容提供源200拉取需要进行直播的媒体内容向用户提供在线内容直播服务。所述用户终端400可以通过直播平台下载安装观看在线直播所需的相关应用或程序组件,例如,应用程序APP、Web网页、直播小程序、直播插件或组件等,但不限于此,并通过这些应用或程序组件进行注册后即可访问所述内容分发网络300观看相应的在线直播内容。本实施例中,所述用户终端400可以是,但不限于,智能手机、个人数字助理、平板电脑、个人计算机、笔记本电脑、虚拟现实终端设备、增强现实终端设备等。
可以理解,图1所示的文件轮播推流系统仅为一种可替代的示例,在其它可能的实施例中,所述文件轮播推流系统也可以仅包括图1所示组成部分的其中一部分或者还可以包括其它的组成部分。
下面基于图1所示的文件轮播推流系统,结合图2对本申请实施例提供的文件轮播推流方法进行说明。如图2所示,图2是本申请实施例提供的文件轮播推流方法的流程示意图。本实施例中,所述文件轮播推流方法可以由图1所示的直播推流服务器100执行。应当理解,本实施例提供的文件轮播推流方法所包含的其中部分步骤的顺序在实际实施时可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除,本实施例对此不进行具体限定。
下面结合对本实施例的文件轮播推流方法的各个步骤通过示例的方式进行详细介绍,详细地,如图2所示,所述方法可以包括下述的步骤S100-步骤S300所述的相关内容。
步骤S100,对接收的文件轮播任务进行解析,获得所述文件轮播任务的任务信息。
其中,在本实施例中,在接收到文件轮播任务时,可以首先创建一个文件轮播任务实例,并通过所述文件轮播任务实例对所述文件轮播任务进行解析,获得所述文件轮播任务的任务信息。本实施例中,所述任务信息可以包括,但不限于,轮播文件列表、推流地址、备用地址域名、当前要播放的文件索引、当前要播放的文件偏移时间等。例如,所述轮播文件列表可以包括用于执行当前文件轮播任务的轮播渠道(例如播放频道)所需播放的多个待推流文件以及各待推流文件的拉流地址。所述拉流地址可以是指所述内容提供源200提供的用于下载各待推流文件的URL地址,但不限于此。所述推流地址可以是指待推流文件通过解析、转码封装等处理之后所需推送的地址,例如可以是内容分发网络300中用于播放待推流文件的渠道地址或频道地址。
步骤S200,根据所述轮播文件列表按照预设的预下载策略从内容提供源200依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器100的本地存储中。
其中,在本申请实施例一种可能的实施方式中,所述轮播文件列表可以包括两个以上的待推流文件。所述预下载策略可以包括预下载的文件数量。例如,所述预下载的文件数量可以是指提前下载到所述本地存储中等待推流的文件的数量。一般而言,从内容提供源下载文件的速度会远快于文件推流的速度,因此,可以设置预下载的文件数量为1个或两个,优选可以设置为1个。
进一步地,本实施例中,在从所述内容提供源下载待推流文件出现异常时,可以从预先确定的备用内容提供源下载所述待推流文件,例如,所述备用内容提供源的地址可以是通过前述轮播信息中的备用地址域名而得到。例如,若出现下载中断之后重新尝试多次(如3次)下载后依然无法完成下载,或者在设定时间内(如30秒、60秒、90秒等)未完成下载,则可以尝试预先设定的备用内容提供源对所述待推流文件进行下载。所述备用内容提供源例如可以使另一个文件下载地址或另一个云服务器,本实施例对此不进行限定。
步骤S300,依次从所述本地存储中获取待推流文件,将获取的待推流文件转换为媒体流,并将所述媒体流推流到直播平台的内容分发网络进行播放。
在上述内容的基础上,针对步骤S200,以设置的预下载的文件数量为1个为例,在最初开始下载所述轮播文件列表中的待推流文件时,也即在所述轮播文件列表中的首个待推流文件未被下载的前提下,第一次可以将包括所述首个待推流文件的至少两个待推流文件依次下载到所述本地存储中。例如,在第一轮预下载的时候,可以依次首先下载所述待推流文件列表中的第一个待推流文件和第二个待推流文件到所述本地存储中,当第一个待推流文件被下载完成之后,即可立刻开始从所述本地存储中拉取第一个待推流文件进行推流,与此同时,第二个待推流文件在第一个待推流文件的推流过程中,也同步下载到所述本地存储中。由于文件下载速度会远大于推流速度,在第一个待推流文件被推流完成之前,第二个待推流文件已提前被预下载到所述本地存储中处于待推流状态。
此外,在当任意待推流文件推流完成时(如该待推流文件转换得到的媒体包中的各媒体帧被推流到所述直播平台的内容分发网络或被播放完毕时),可以确定需要预下载的下一个待推流文件,从所述内容提供源将确定的所述下一个待推流文件下载到所述本地存储中。
例如,当第一个待推流文件完成推流时,可以确定第三个待推流文件为需要预下载的下一个待推流文件,当第二个待推流文件完成推流时,可以确定第四个待推流文件为需要预下载的下一个待推流文件,依次类推,直到所有的待推流文件预下载完毕。同时,当一个待推流文件完成推流后,可以及时从所述本地存储中删除该完成推流的待推流文件,然后再下载所述下一个待推流文件,以节省本地存储空间,避免空间不够导致预下载异常的问题。如此,可以实现推流一个文件删除一个文件并预下载一个文件,在尽可能少的占用本地存储空间的情况下,可以通过本地预下载的方式,避免直接从内容提供源200拉流的方案因网络抖动等问题导致推流卡顿等问题。此外,相较于传统的直接从内容提供源进行文件拉流的方式,由于传统的拉流方式在不同文件进行切换的时候,需要重新建立新的文件下载链接(重新建链),势必会因为重新建链的过程而导致拉流迟钝或卡顿等问题。而本实施例中,通过提前预下载的方式,可以避免重新建链等导致的推流卡顿等异常。
进一步地,在本实施例中,为了方便管理待推流文件的预下载、推流、老化删除等过程,本申请实施例创新性的引入一种文件推流配置表项辅助实现上述过程的管理,使得待推流文件的预下载、推流、以及老化删除的过程能够有序进行并尽可能少的占用直播推流服务器100的本地存储空间。
详细地,本实施例中,可以创建一个文件推流配置表项。其中,所述文件推流配置表项可以包括各待推流文件的推流进度标志位,初始化状态下,所述文件推流配置表项中包括所述首个待推流文件的N个待推流文件(如前N个待推流文件)分别对应的推流进度标志位被置为第一进度标志。其中,N大于或等于2。
在此基础之上,在任意待推流文件被下载到所述本地存储时,所述直播推流服务器100可以将所述文件推流配置表项中该待推流文件的推流进度标志位置为第二进度标志。同时,当任意待推流文件的媒体包通过所述媒体流被推流到所述直播平台的内容分发网络时,所述直播推流服务器100可进一步将该待推流文件的推流进度标志位置为第三进度标志,并将前一次预下载的待推流文件的下一个待推流文件的推流进度标志位置为第一进度标志。
进一步地,为了尽可能的减少预下载的待推流文件对直播推流服务器100的本地存储空间的占用,同时不影响直播推流的进程。在本实施例中,所述直播推流服务器100可以每隔预设时间,将所述文件推流配置表项中推流进度标志位置为第三进度标志的待推流文件从所述本地存储中进行删除,并将删除后的待推流文件对应的推流进度标志位置为第四进度标志。
作为一种较佳的示例,例如图3所示,本实施例中,以一个包括A、B、C、D、E、F六个待推流文件的轮播推流任务为例,对本申请实施例中通过文件推流配置表项对推流过程进行控制管理的方案进行示例性说明。
首先,在第一时刻t1(在初始化状态下),所述文件推流配置表项中的第一个待推流文件(A)以及第二个待推流文件(B)分别对应的推流进度标志位被置为第一进度标志(如,00),其中,所述第一进度标志表示对应的待推流文件当前处于预下载状态。此时,基于该文件推流配置表项,所述直播推流服务器100可以根据该第一进度标志对相应的待推流文件执行预下载操作,例如开始依序对文件A和B执行文件预下载操作。
其次,在第二时刻t2(例如当文件A完成预下载时),所述文件A对应的推流进度标志位被置为第二进度标志(如,01),其中,所述第二进度标志表示对应的待推流文件当前处于待推流状态。此时,基于该文件推流配置表项,所述直播推流服务器100可以根据该第二进度标志开始对文件A进行推流操作,同时开始对文件B执行文件预下载操作。
接着,在第三时刻t3(例如当文件A完成推流时,同时文件B完成预下载),所述文件推流配置表项中的第三个待推流文件(C)对应的推流进度标志位被置为第一进度标志,同时文件B在预下载完成时,文件B对应的推流进度标志位被置为第二标志位。此时,基于该文件推流配置表项,所述直播推流服务器100可以根据该第一进度标志对文件C开始执行预下载操作,同时,将文件A对应的推流进度标志位置为第三进度标志(如,10),所述第三进度标志表示对应的待推流文件已完成推流。此时,基于该文件推流配置表项,所述直播推流服务器100可以开始对文件C执行文件预下载操作,并开始对文件B进行推流。进一步地,为了避免对直播推流服务器100本地存储空间的占用,此时可以将完成推流的文件A从所述本地存储中进行老化删除,完成老化删除后,可进一步将文件A对应的推流进度标志位置为第四进度标志。
然后,在第四时刻t4,(例如当文件B完成推流时,同时文件C完成预下载),所述文件推流配置表项中的第四个待推流文件(D)对应的推流进度标志位被置为第一进度标志,同时文件C在预下载完成时,文件C对应的推流进度标志位被置为第二进度标志。此时,基于该文件推流配置表项,所述直播推流服务器100可以根据该第一进度标志对文件D开始执行预下载操作,同时,将文件B对应的推流进度标志位置为第三进度标志。此时,基于该文件推流配置表项,所述直播推流服务器100可以开始对文件D执行文件预下载操作,并开始对文件C进行推流。进一步地,可以将完成推流的文件B从所述本地存储中进行老化删除,完成老化删除后,可进一步将文件B对应的推流进度标志位置为第四进度标志。
另外,在第五时刻t5(例如当文件C完成推流时,同时文件D完成预下载),所述文件推流配置表项中的第五个待推流文件(E)对应的推流进度标志位被置为第一进度标志,同时文件D在预下载完成时,文件D对应的推流进度标志位被置为第二进度标志。此时,基于该文件推流配置表项,所述直播推流服务器100可以根据该第一进度标志对文件E开始执行预下载操作,同时,将文件C对应的推流进度标志位置为第三进度标志。此时,基于该文件推流配置表项,所述直播推流服务器100可以开始对文件E执行文件预下载操作,并开始对文件D进行推流。进一步地,可以将完成推流的文件C从所述本地存储中进行老化删除,完成老化删除后,可进一步将文件C对应的推流进度标志位置为第四进度标志。
最后,在第六时刻t6(例如当文件D完成推流时,同时文件E完成预下载),所述文件推流配置表项中的第六个待推流文件(F)对应的推流进度标志位被置为第一进度标志,同时文件E在预下载完成时,文件E对应的推流进度标志位被置为第二进度标志。此时,基于该文件推流配置表项,所述直播推流服务器100可以根据该第一进度标志对文件F开始执行预下载操作,同时,将文件D对应的推流进度标志位置为第三进度标志。此时,基于该文件推流配置表项,所述直播推流服务器100可以开始对文件F执行文件预下载操作,并开始对文件E进行推流。进一步地,可以将完成推流的文件D从所述本地存储中进行老化删除,完成老化删除后,可进一步将文件D对应的推流进度标志位置为第四进度标志。
经过上述过程之后,在完成文件F的预下载,以及文件E的推流之后,即可对文件F进行推流,至此则完成了针对文件A、B、C、D、E、F的轮播推流任务。
应当说明的是,上述过程仅仅是对一种可能的文件轮播推流过程进行的示例性说明,在实际应用时,具体的推流过程也可以与上述不同或者进行等同替换,例如可以将每次预下载的文件数量由1个更改为2个,或者针对已完成推流的文件的老化过程,可以是每隔预设时间将所述文件推流配置表项中推流进度标志位被置为第三进度标志的待推流文件从所述本地存储中进行删除,并将删除后的待推流文件对应的推流进度标志位置为第四进度标志。
进一步地,在上述内容的基础上,针对步骤S300,在本实施例的一种可能的实施方式中,如图4所示,可以通过下述的子步骤S301-S304将获取的待推流文件转换为媒体流,并将所述媒体流推流到直播平台的内容分发网络进行播放,示例性介绍如下。
子步骤S301,将获取到的待推流文件转换成预设格式的媒体包。
例如,在一种可能的实施例中,可以将所述待推流文件转换成RTMP格式的媒体包,转换后的媒体包可以称为RTMP包。
子步骤S302,将所述媒体包的时间基进行统一校正,并对该媒体包的时间戳进行拼接。
本实施例中,考虑到不同的待推流文件(片源)可能具有不同参数(如音视频参数)。在一个文件推流完成切换另一个文件进行推流时,由于参数的不同,例如帧率、分辨率、时间戳等参数发生了变化,为了完成不同文件在同一媒体流的轮播推流,传统的推流方案需要对所述直播推流服务器100的推流参数进行调整,例如需要重置推流器后再进行推流,这种方式容易导致推流播放过程的不连续、发生换片卡顿等异常情况。尤其,针对时间戳参数的不统一,由于不同的文件使用的时间基和时间戳都是不一样的,如果不同的片源间直接推成音视频流的话会因为时间戳跳变,时间戳回退导致推流卡顿。
基于上述问题,本申请实施例中,在每个待推流文件进行推流之前,将不同的待推流文件的媒体包的时间基进行统一校正,并对该媒体包的时间戳进行拼接,以保证整个媒体流的时间戳(音视频流的时间戳)是单调递增的,进而避免因为时间基不统一以及时间戳回退等问题导致的推流卡顿问题。
其中,对时间基进行统一校正是指将各个待推流文件的媒体包的时间基统一为相同的时间基,例如统一为1/1000。将时间戳进行拼接是指将当前待推流的媒体包根据前一个已完成推流的文件的时间偏移对当前待推流的媒体包的时间戳进行调整,例如前一个已完成推流的文件的时间偏移为ts1,当前待推流的媒体包中的各媒体帧的初始时间戳为ts2,那么对该媒体包的时间戳进行拼接是指将该媒体包中的媒体帧的时间戳ts2加上前一个已完成推流的文件的时间偏移为ts1,进而使得当前待推流的媒体包拼接到媒体流后,媒体流的各媒体帧的时间戳为单调递增的,进而避免时间基不统一以及时间戳回退导致的推流卡顿问题。其中,首个待推流媒体包对应的前一个已完成推流的文件的时间偏移可以为设定的默认值,如0。
子步骤S303,将完成时间基矫正以及时间戳拼接后的各所述待推流文件对应的媒体包拼接到同一媒体流,并将所述媒体包缓存到预设的物理内存中。
本实施例中,将所述媒体包拼接到同一媒体流可以是指将相应的媒体包中的各媒体帧(如音视频帧)拼接到当前正在推流播放的媒体流或者待进行推流播放的媒体流中。例如,作为一种示例,所述媒体流可以是RTMP格式的媒体流。
子步骤S304,从所述物理内存依次拉取缓存的所述媒体流中的各媒体帧发送到所述内容分发网络中对应的轮播渠道进行推流播放。
本实施例中,所述物理内存可以是所述直播推流服务器100中预先设定的用于缓存待推流的媒体包的内存空间。
本申请实施例中,基于上述内容实现的文件轮播推流方法,通过预下载、推流媒体包缓存的方案可以解决传统的通过实时文件拉流易出现的推流抖动、播放卡顿问题。进一步地,利用统一相同时间基、时间戳拼接实现了多文件统一输出流的方案,解决了播放换片卡顿、换片音视频不同步的问题。如此,提升了文件轮播推流的稳定性,使观众具有良好并流畅的观看体验,进而提升用户的使用体验。
本实施例的上述方案适用于“边下边推”或“边下边播”的直播推流模式,例如图5所示,在本申请实施例中,在上述步骤S100之前,可基于步骤S10首先判断所述文件轮播任务是否为预设类型的文件轮播任务,若为预设类型的轮播任务,则进入步骤S100。其中,所述预设类型的文件轮播任务例如可以是上述的“边下边推”或“边下边播”这种类型的文件轮播任务。
若所述文件轮播任务不是预设类型的文件轮播任务(例如为实时拉流推流的文件轮播任务),则进入步骤S400,从待推流文件对应的内容提供源依次拉取所述轮播文件列表中包括的各待推流文件。然后,基于步骤S500,将拉取的待推流文件转换为媒体流,并将所述媒体流推流到直播平台的内容分发网络进行播放。
其中,在步骤S500中,在拉取待推流文件时,可实时记录当前拉取的待推流文件的文件地址和当前拉取到的时间偏移,当拉取待推流文件的过程出现拉流异常时,从当前文件当前拉流失败的时间点拉取文件,尽量做到断点续播,若尝试多次重新拉取后依然失败,则会尝试使用该文件的备用拉流域名进行拉取,尽量做到断点续播,如果遇到备用地址拉流依然多次拉取失败则请求任务实例获取下一个拉流文件地址开始拉流,并上报异常。基于此,利用断点续播的方案可以解决播放跳集、从头开始播放的轮播异常问题。
此外,在本申请实施例中,在文件推流的过程中,基于步骤S300以及步骤S500,在媒体流的推流过程中,所述直播推流服务器100可以进一步针对该媒体流进行检测,检测该媒体流是否存在音频帧缺失的情况,在存在音频帧缺失时,使用预先设定的静音帧对缺失的音频帧进行补全。例如,在一种可能的实施方式中,当检测到持续设定时间,例如1s或2s的音频帧缺失时,所述直播推流服务器100可以向该媒体流推送静音帧的方式实现音频帧补全。基于这种方式,可以避免媒体流推流过程中,因为音频帧的缺失,而为了在媒体流推流过程中保证音视频的同步,未等到音频帧的情况而导致的推流卡顿问题。
请参阅图6所示,图6是本申请实施例提供的用于实现上述文件轮播推流方法的直播推流服务器100的示意图。详细地,所述直播推流服务器100可以包括一个或多个处理器110、机器可读存储介质120以及文件轮播推流装置130。处理器110与机器可读存储介质120可经由系统总线通信连接。机器可读存储介质120存储有机器可执行指令,处理器110通过读取并执行机器可读存储介质120中机器可执行指令实现上文描述的文件轮播推流方法。
其中,所述机器可读存储介质120可以是,但不限于,随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable ProgrammableRead-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable ProgrammableRead-Only Memory,EEPROM)等。其中,机器可读存储介质120用于存储程序,所述处理器110在接收到执行指令后,执行所述程序。
所述处理器110可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是,但不限于,通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。
请参照图7,是所述文件轮播推流装置130的功能模块示意图。本实施例中,所述文件轮播推流装置130可以包括一个或多个在所述直播推流服务器100运行的软件功能模块,这些软件功能模块可以计算机程序的形式存储在所述机器可读存储介质120中,以使得这些软件功能模块在被所述处理器130调用并执行时,可以实现本申请实施例所述的文件轮播推流方法。
详细地,所述文件轮播推流装置130可以包括任务管理器131,拉流器132,以及推流器133。
所述任务管理器131用于对接收的文件轮播任务进行解析,获得所述文件轮播任务的任务信息。
其中,在本实施例中,所述任务管理器131在接收到文件轮播任务时,可以首先创建相应的文件轮播任务实例,并通过所述文件轮播任务实例对所述文件轮播任务进行解析,获得所述文件轮播任务的任务信息。本实施例中,所述任务信息可以包括,但不限于,轮播文件列表、推流地址、备用地址域名、当前要播放的文件索引、当前要播放的文件偏移时间、回调域名等。例如,所述轮播文件列表可以包括用于执行当前文件轮播任务的轮播渠道(例如播放频道)所需播放的各个待推流文件以及各待推流文件的拉流地址。所述拉流地址可以是指所述内容提供源200提供的用于下载各待推流文件的URL地址,但不限于此。所述推流地址可以是指待推流文件通过解析、转码封装等处理之后所需推送的地址,例如可以是内容分发网络300中用于播放待推流文件的渠道地址或频道地址。
其中,所述任务管理器131可以负责任务的接收和分发、任务实例的管理,机器负载监控等,创建的任务实例可以负责任务的解析,任务启动、停止、更新操作,任务换片,播放节目单管理,任务异常主备流切换,下载文件管理等功能。
本实施例中,所述任务管理器131用于执行上述方法实施例中的步骤S100,关于该任务管理器131的详细内容可以参考上述对该步骤S100的具体内容描述,此处不再一一赘述。
所述拉流器132用于根据所述轮播文件列表按照预设的预下载策略从待推流文件对应的内容提供源依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器100的本地存储中。
本实施例中,所述拉流器132用于执行上述方法实施例中的步骤S200,关于该拉流器132的详细内容可以参考上述对该步骤S200的具体内容描述,此处不再一一赘述。
所述推流器133用于依次从所述本地存储中获取待推流文件,将获取的待推流文件转换为媒体流,并将所述媒体流推流到直播平台的内容分发网络进行播放。
在本实施例的一种可能的实施方式中,所述推流器133可以进一步包括转封装模块1331以及缓存模块1332。所述转封装模块1331用于将获取到的待推流文件转换成预设格式的媒体包,将所述媒体包的时间基进行统一校正,并对该媒体包的时间戳进行拼接。
所述缓存模块1332用于将完成时间基矫正以及时间戳拼接后的各所述待推流文件对应的媒体包拼接到同一媒体流,并将所述媒体包缓存到预设的物理内存中。如此,所述拉流器133后续可以从所述物理内存依次拉取缓存的所述媒体流中的各媒体帧发送到所述内容分发网络中对应的轮播渠道进行推流播放。
本实施例中,所述推流器133用于执行上述方法实施例中的步骤S300,关于所述推流器133的详细内容可以参考上述对该步骤S300的具体内容描述,此处不再一一赘述。
综上所述,本申请实施例提供的文件轮播推流方法、装置及直播推流服务器,提供了一种能够保证直播平台直播推流稳定性、切片流畅度的创新性解决方案。具体地,本申请实施例的文件轮播方案通过针对待推流文件进行预下载、推流媒体包缓存的方案可以解决传统的通过实时文件拉流易出现的推流抖动、播放卡顿问题。进一步地,利用统一相同时间基、时间戳拼接实现了多文件统一输出流的方案,解决了播放换片卡顿、换片音视频不同步的问题。如此,提升了文件轮播推流的稳定性,使观众具有良好并流畅的观看体验,进而提升用户的使用体验。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种文件轮播推流方法,其特征在于,应用于直播推流服务器,所述方法包括:
对接收的文件轮播任务进行解析,获得所述文件轮播任务的任务信息,所述任务信息包括轮播文件列表,所述轮播文件列表包括多个待推流文件;
根据所述轮播文件列表按照预设的预下载策略从内容提供源依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器的本地存储中;
依次从所述本地存储获取待推流文件,将获取的待推流文件转换为媒体流,并将所述媒体流推流到直播平台的内容分发网络进行播放。
2.根据权利要求1所述的文件轮播推流方法,其特征在于,所述将获取的待推流文件转换为媒体流,并将所述媒体流推流到直播平台的内容分发网络进行播放,包括:
将获取到的待推流文件转换成预设格式的媒体包;
将所述媒体包的时间基进行统一校正,并对该媒体包的各媒体帧的时间戳进行拼接;
将完成时间基矫正以及时间戳拼接后的各所述待推流文件对应的媒体包拼接到同一媒体流,并将所述媒体包缓存到预设的物理内存中;
从所述物理内存依次拉取缓存的所述媒体流中的各媒体帧发送到所述内容分发网络中对应的轮播渠道进行推流播放。
3.根据权利要求2所述的文件轮播推流方法,其特征在于,根据所述轮播文件列表按照预设的预下载策略从内容提供源依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器的本地存储中,包括:
在未下载所述轮播文件列表中的首个待推流文件的前提下,将包括所述首个待推流文件的至少两个待推流文件依次预下载到所述本地存储中;
在任意媒体包对应的媒体帧被推流到所述直播平台的内容分发网络时,确定需要预下载的下一个待推流文件;
从所述内容提供源将确定的所述下一个待推流文件下载到所述本地存储中。
4.根据权利要求3所述的文件轮播推流方法,其特征在于,所述方法还包括:
创建文件推流配置表项,其中,所述文件推流配置表项包括各待推流文件的推流进度标志位,初始化状态下,所述文件推流配置表项中包括所述首个待推流文件的N个待推流文件分别对应的推流进度标志位被置为第一进度标志,其中N大于或等于2;
在任意待推流文件被下载到所述本地存储时,将所述文件推流配置表项中该待推流文件的推流进度标志位置为第二进度标志;
当任意待推流文件的媒体包通过所述媒体流被推流到所述直播平台的内容分发网络时,将该待推流文件的推流进度标志位置为第三进度标志,并将前一次预下载的待推流文件的下一个待推流文件的推流进度标志位置为第一进度标志;
相应地,所述在任意媒体包对应的媒体帧被推流到所述直播平台的内容分发网络时,确定需要预下载的下一个待推流文件,包括:
将所述文件推流配置表项中推流进度标志位为第一进度标志的待推流文件确定为需要预下载的下一个待推流文件。
5.根据权利要求4所述的文件轮播推流方法,其特征在于,所述方法还包括:
每隔预设时间,将所述文件推流配置表项中推流进度标志为第三进度标志的待推流文件从所述本地存储中进行删除,并将删除后的待推流文件对应的推流进度标志位置为第四进度标志。
6.根据权利要求1所述的文件轮播推流方法,其特征在于,所述根据所述轮播文件列表按照预设的预下载策略从内容提供源依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器的本地存储中,还包括:
在从所述内容提供源下载待推流文件出现异常时,从预先确定的备用内容提供源下载所述待推流文件。
7.根据权利要求1-6任意一项所述的文件轮播推流方法,其特征在于,在根据所述轮播文件列表按照预设的预下载策略从内容提供源依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器的本地存储中之前,所述方法还包括:
判断所述文件轮播任务是否为预设类型的文件轮播任务,若为预设类型的轮播任务,则执行所述根据所述轮播文件列表按照预设的预下载策略从内容提供源依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器的本地存储中的步骤;
若所述文件轮播任务不是预设类型的文件轮播任务,所述方法还包括:
从待推流文件对应的内容提供源依次拉取所述轮播文件列表中包括的各待推流文件;
将拉取的待推流文件转换为媒体流,并将所述媒体流推流到直播平台的内容分发网络进行播放。
8.根据权利要求1-6任意一项所述的文件轮播推流方法,其特征在于,所述方法还包括:
在媒体流的推流过程中,检测该媒体流是否存在音频帧缺失的情况,在存在音频帧缺失时,使用预先设定的静音帧对缺失的音频帧进行补全。
9.一种文件轮播推流装置,应用于直播推流服务器,其特征在于,所述文件轮播推流装置包括:
任务管理器,用于对接收的文件轮播任务进行解析,获得所述文件轮播任务的任务信息,所述任务信息包括轮播文件列表,所述轮播文件列表包括多个待推流文件;
拉流器,用于根据所述轮播文件列表按照预设的预下载策略从内容提供源依次下载所述轮播文件列表中包括的各待推流文件到所述直播推流服务器的本地存储中;
推流器,用于依次从所述本地存储获取待推流文件,将获取的待推流文件转换为媒体流,并将所述媒体流推流到直播平台的内容分发网络进行播放。
10.一种直播推流服务器,其特征在于,包括机器可读存储介质以及一个或多个处理器,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被所述一个或多个处理器执行时,实现权利要求1-8任意一项所述的方法。
CN202210002241.4A 2022-01-04 2022-01-04 文件轮播推流方法、装置及直播推流服务器 Active CN114339267B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210002241.4A CN114339267B (zh) 2022-01-04 2022-01-04 文件轮播推流方法、装置及直播推流服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210002241.4A CN114339267B (zh) 2022-01-04 2022-01-04 文件轮播推流方法、装置及直播推流服务器

Publications (2)

Publication Number Publication Date
CN114339267A true CN114339267A (zh) 2022-04-12
CN114339267B CN114339267B (zh) 2024-09-20

Family

ID=81023253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210002241.4A Active CN114339267B (zh) 2022-01-04 2022-01-04 文件轮播推流方法、装置及直播推流服务器

Country Status (1)

Country Link
CN (1) CN114339267B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116095349A (zh) * 2022-12-14 2023-05-09 杭州网易云音乐科技有限公司 推流方法、装置、介质和计算设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010068040A2 (ko) * 2008-12-09 2010-06-17 엘지전자 주식회사 비실시간 서비스 처리 방법 및 방송 수신기
CN104869436A (zh) * 2015-05-05 2015-08-26 成都视达科信息技术有限公司 虚拟轮播服务系统及方法
CN106791988A (zh) * 2016-11-23 2017-05-31 青岛海信电器股份有限公司 多媒体数据轮播方法和终端
CN108111871A (zh) * 2016-11-25 2018-06-01 深圳市优朋普乐传媒发展有限公司 一种轮播方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010068040A2 (ko) * 2008-12-09 2010-06-17 엘지전자 주식회사 비실시간 서비스 처리 방법 및 방송 수신기
CN104869436A (zh) * 2015-05-05 2015-08-26 成都视达科信息技术有限公司 虚拟轮播服务系统及方法
CN106791988A (zh) * 2016-11-23 2017-05-31 青岛海信电器股份有限公司 多媒体数据轮播方法和终端
CN108111871A (zh) * 2016-11-25 2018-06-01 深圳市优朋普乐传媒发展有限公司 一种轮播方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116095349A (zh) * 2022-12-14 2023-05-09 杭州网易云音乐科技有限公司 推流方法、装置、介质和计算设备

Also Published As

Publication number Publication date
CN114339267B (zh) 2024-09-20

Similar Documents

Publication Publication Date Title
US10911789B2 (en) Automatic failover for live video streaming
US10567812B2 (en) Method and apparatus for streaming multimedia data with access point positioning information
TWI716018B (zh) 動態縮減替換內容之播放以幫助對齊替換內容之結束與已替換內容之結束
US10114689B1 (en) Dynamic playlist generation
EP2647216B1 (en) A method of targeted ad insertion using http live streaming protocol
US10638180B1 (en) Media timeline management
CN110933449B (zh) 一种外部数据与视频画面的同步方法、系统及装置
US10149020B2 (en) Method for playing a media stream in a browser application
CN105721811A (zh) 直播视频的录制方法和系统
US10225319B2 (en) System and method of a link surfed http live streaming broadcasting system
CN111031385B (zh) 视频播放的方法及装置
CN111510789B (zh) 视频播放方法、系统、计算机设备及计算机可读存储介质
CN111510770B (zh) 切换清晰度的方法、装置、计算机设备及可读存储介质
US10708336B2 (en) System and method for announcing media changes
US20220060532A1 (en) Method for transmitting resources and electronic device
US11509946B1 (en) Methods and systems configured to manage video transcoder latencies
US20210320957A1 (en) Method of requesting video, computing device, and computer-program product
CN107690093B (zh) 一种视频播放方法及装置
CN115134622A (zh) 视频数据对齐方法、装置、设备及存储介质
CN113727199A (zh) 一种hls切片快速起播方法
CN114339267A (zh) 文件轮播推流方法、装置及直播推流服务器
US20230164398A1 (en) Video stream control
CN114245153A (zh) 切片方法、装置、设备及可读存储介质
CN111669605B (zh) 多媒体数据与其关联互动数据的同步方法和装置
US11968417B2 (en) Systems, methods, and apparatuses for buffer management

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