CN109246443B - 一种直播流切片同步方法及系统 - Google Patents
一种直播流切片同步方法及系统 Download PDFInfo
- Publication number
- CN109246443B CN109246443B CN201811434641.2A CN201811434641A CN109246443B CN 109246443 B CN109246443 B CN 109246443B CN 201811434641 A CN201811434641 A CN 201811434641A CN 109246443 B CN109246443 B CN 109246443B
- Authority
- CN
- China
- Prior art keywords
- slicing
- parameter
- slice
- dts
- serial number
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000001360 synchronised effect Effects 0.000 claims abstract description 13
- 238000004904 shortening Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种直播流切片同步方法,基于直播流切片同步系统,直播流切片同步系统包括多个切片服务器,各个切片服务器在一个组播组中,方法包括:各个切片服务器同步执行切片流程,进行同步切片,切片流程。在本申请中,通过以上方式可以实现各个切片服务器同步切片。
Description
技术领域
本申请涉及直播技术领域,特别涉及一种直播流切片同步方法及系统。
背景技术
现有直播技术,采用的流媒体传输协议主要包括FLV、DASH、HLS(HTTP LiveStreaming)等。其中,HLS协议因其的简洁性及针对HTTP协议的友好性,其已经成为直播上使用较为广泛的标准之一。
HLS直播时,需要将不断更新的m3u8文件及不断更替的切片传输到每个直播用户,以进行直播。为了能够可靠的提供切片,一般可以由多个切片服务器提供切片服务,具体可从多个切片服务器中选取出任意一个正常运行的切片服务器,提供切片,当该切片服务器故障时,可以任意切换到其他切片服务器提供切片。这种方式需要保证各个切片服务器的切片同步,但如何实现不同切片服务器之间的切片同步成为问题。
发明内容
为解决上述技术问题,本申请实施例提供一种直播流切片同步方法及系统,以达到实现各个切片服务器同步切片的目的,技术方案如下:
一种直播流切片同步方法,基于直播流切片同步系统,所述直播流切片同步系统包括多个切片服务器,各个所述切片服务器在一个组播组中,所述方法包括:
各个所述切片服务器同步执行切片流程,进行同步切片,所述切片流程,包括:
从切片参数同步节点中获取最新的切片参数;
从设定的组播地址中接收直播视频流,并在所述直播视频流中设定的关键帧位置,根据所述最新的切片参数,判断切片速度是否满足设定条件;
若是,按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数;
若否,调整切片速度,并将利用调整后的切片速度完成的切片的参数保存至所述切片参数同步节点。
优选的,所述在所述直播视频流中设定的关键帧位置,根据所述最新的切片参数,判断切片速度是否满足设定条件,包括:
确定所述关键帧位置对应的切片序号,作为本地切片序号;
从所述最新的切片参数中获取切片序号,并将获取到的切片序号加1的结果作为基准切片序号;
比较所述本地切片序号与所述基准切片序号的大小;
若所述本地切片序号与所述基准切片序号相同,则执行所述按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数的步骤;
若所述本地切片序号小于所述基准切片序号,则所述调整切片速度,包括:加快切片速度。
优选的,所述方法还包括:
若所述本地切片序号大于所述基准切片序号,则确定所述本地切片序号对应的解码时间戳DTS,作为本地切片开始的DTS;
从所述最新的切片参数中获取解码时间戳DTS,并将获取到的DTS与设定切片时长之和作为基准DTS;
比较所述本地切片开始的DTS与所述基准DTS的大小;
若所述本地切片开始的DTS与所述基准DTS相同,则执行所述按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数的步骤;
若所述本地切片开始的DTS小于所述基准DTS,则所述调整切片速度包括:减慢切片速度;
若所述本地切片开始的DTS大于所述基准DTS,则所述调整切片速度包括:加快切片速度。
优选的,所述加快切片速度,包括:
在下一次切片之前,判断是否存在携带的DTS与预估DTS相同的关键帧,所述预估DTS等于所述基准DTS与所述设定切片时长之和;
若是,将所述携带的DTS与预估DTS相同的关键帧的位置作为切片位置。
优选的,所述切片参数同步节点为切片参数同步集群中的任意一个正常运行的节点。
一种直播流切片同步系统,包括:多个切片服务器,各个所述切片服务器在一个组播组中;
各个所述切片服务器同步执行切片流程,进行同步切片,所述切片流程,包括:
从切片参数同步节点中获取最新的切片参数;
从设定的组播地址中接收直播视频流,并在所述直播视频流中设定的关键帧位置,根据所述最新的切片参数,判断切片速度是否满足设定条件;
若是,按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数;
若否,调整切片速度,并将利用调整后的切片速度完成的切片的参数保存至所述切片参数同步节点。
优选的,所述切片服务器具体用于执行的切片流程中在所述直播视频流中设定的关键帧位置,根据所述最新的切片参数,判断切片速度是否满足设定条件的过程,包括:
确定所述关键帧位置对应的切片序号,作为本地切片序号;
从所述最新的切片参数中获取切片序号,并将获取到的切片序号加1的结果作为基准切片序号;
比较所述本地切片序号与所述基准切片序号的大小;
若所述本地切片序号与所述基准切片序号相同,则执行所述按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数的步骤;
若所述本地切片序号小于所述基准切片序号,则所述调整切片速度,包括:加快切片速度。
优选的,所述切片服务器执行的切片流程还包括:
若所述本地切片序号大于所述基准切片序号,则确定所述本地切片序号对应的解码时间戳DTS,作为本地切片开始的DTS;
从所述最新的切片参数中获取解码时间戳DTS,并将获取到的DTS与设定切片时长之和作为基准DTS;
比较所述本地切片开始的DTS与所述基准DTS的大小;
若所述本地切片开始的DTS与所述基准DTS相同,则执行所述按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数的步骤;
若所述本地切片开始的DTS小于所述基准DTS,则所述调整切片速度包括:减慢切片速度;
若所述本地切片开始的DTS大于所述基准DTS,则所述调整切片速度包括:加快切片速度。
优选的,所述切片服务器执行的切片流程中加快切片速度的过程,包括:
在下一次切片之前,判断是否存在携带的DTS与预估DTS相同的关键帧,所述预估DTS等于所述基准DTS与所述设定切片时长之和;
若是,将所述携带的DTS与预估DTS相同的关键帧的位置作为切片位置。
优选的,所述切片参数同步节点为切片参数同步集群中的任意一个正常运行的节点。
与现有技术相比,本申请的有益效果为:
在本申请中,直播流切片同步系统中各个切片服务器在一个组播组中,可以保证各个切片服务器可以在相同的时间接收相同的直播视频流,从而保证各个切片服务器接收直播视频流的同步性,在此基础上,各个切片服务器同步执行切片流程,具体从切片参数同步节点中获取最新的切片参数,保证各个切片服务器获取的最新的切片参数相同,并从设定的组播地址中接收直播视频流,保证各个切片服务器接收到的直播视频流相同,在此基础上,根据相同的最新的切片参数,在相同的直播视频流中的关键帧位置,通过判断切片速度是否满足切片速度,来调整切片速度或决定是否切片,使得各个切片服务器的切片速度保持一致或在相同时间进行切片,实现同步切片。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的切片流程的一种流程图;
图2是本申请提供的切片流程的另一种流程图;
图3是本申请提供的切片流程的再一种流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种直播流切片同步方法,基于直播流切片同步系统,所述直播流切片同步系统包括多个切片服务器,各个所述切片服务器在一个组播组中,方法包括:各个所述切片服务器同步执行切片流程,进行同步切片,所述切片流程,包括:从切片参数同步节点中获取最新的切片参数;从设定的组播地址中接收直播视频流,并在所述直播视频流中的关键帧位置,根据所述最新的切片参数,判断切片速度是否满足设定条件;若是,按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数;若否,调整切片速度,并将调整后的切片速度对应的切片参数保存值所述切片参数同步节点。在本申请中,可以实现各个切片服务器的同步切片。
接下来对本申请实施例公开的直播流切片同步方法进行介绍,需要说明的是,直播流切片同步方法基于直播流切片同步系统,所述直播流切片同步系统包括多个切片服务器,各个所述切片服务器在一个组播组中,直播流切片同步方法可以包括:
各个所述切片服务器同步执行切片流程,进行同步切片。
各个所述切片服务器在一个组播组中,可以接收到相同的组播数据,组播数据为直播信源向特定组播地址组播的直播视频流。
需要说明的是,各个切片服务器同步执行的切片流程是相同的,以实现同步切片。
本实施例中,请参见图1,切片流程可以包括:
步骤S11、从切片参数同步节点中获取最新的切片参数。
切片参数同步节点用于存储最新的切片参数。最新的切片参数为切片服务器每次进行切片后,根据已完成的切片的参数进行更新后确定的参数。
优选的,最新的切片参数可以包括:最新的切片序号和/或最新DTS(解码时间戳,Decode Timestamp)。
最新的切片序号可以理解为:每次切片完成后,该完成的切片的序号。
最新DTS可以理解为:每次切片完成后,该完成的切片开始的DTS。
需要说明的是,可以仅设置一个切片参数同步节点来存储切片参数,也可以设置一个切片参数同步集群,切片参数同步集群中包括多个切片参数同步节点,各个切片参数同步节点均可以存储切片参数,具体可以选取其中任意一个正常运行的节点存储切片参数。
可以理解的是,设置一个切片参数同步集群,可以保证在某一个切片参数同步节点故障时,可以选择其他正常的切片参数同步节点存储切片参数,保证了切片参数存储的可靠性。
步骤S12、从设定的组播地址中接收直播视频流,并在所述直播视频流中设定的关键帧位置,根据所述最新的切片参数,判断切片速度是否满足设定条件。
直播信源可以向设定的组播地址组播直播视频流,各个切片服务器在同一个组播组中,则可以从设定的组播地址中接收直播视频流。
关键帧可以理解为:直播视频流中承载全量视频画面信息的视频帧。
设定的关键帧位置具体可以根据设定的切片时长确定。可以理解的是,每隔设定的切片时长,便需要进行切片,且切片的位置为某一个关键帧位置,因此可以在所述直播视频流中设定的关键帧位置,根据所述最新的切片参数,判断切片速度是否满足设定条件。
其中,切片的位置为关键帧位置,可以保证每个切片都能启播,并且在播放时不出现花屏等现象。
若是,则执行步骤S13;若否,则执行步骤S14。
步骤S13、按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数。
设定切片策略可以包括但不局限于:设定的切片时长。根据设定的切片时长可以确定需要进行切片的关键帧位置。
在确定了关键帧位置之后,在关键帧位置对直播视频流进行切片,并确定切片参数,作为目标切片参数。目标切片参数可以包括:目标切片的序号及目标切片的DTS。
由于各个切片服务器是同步执行切片流程,在同步确定切片参数,作为目标切片参数之后,每个切片服务器均支持将目标切片参数保存至切片参数同步节点的操作,但是为了避免切片参数同步节点中最新的切片参数重复更新造成的错误,可以仅允许多个切片服务器中的其中一个切片服务器来保存目标切片参数。因此各个切片服务器在确定目标切片参数之后,需要判断自身是否被允许保存目标切片参数,在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数。
仅允许多个切片服务器中的其中一个切片服务器来保存目标切片参数的实现方式,可以为:各个切片服务器共享一个分布式更新锁,在每次需要更新切片参数同步节点中切片参数时,由获得分布式更新锁的切片服务器保存目标切片参数至切片参数同步节点。
步骤S14、调整切片速度,并将利用调整后的切片速度完成的切片的参数保存至所述切片参数同步节点。
在步骤S12判断出切片速度不满足设定条件的基础上,调整切片速度。
可以理解的是,在某一个切片服务器的切片速度不满足设定条件时,调整切片速度可以保证各个切片服务器之间的切片速度的偏差在可接受范围内,保证切片同步。正常的情况下,调整切片速度可以保证各个切片服务器之间的切片速度完全一致。
在本申请中,直播流切片同步系统中各个切片服务器在一个组播组中,可以保证各个切片服务器可以在相同的时间接收相同的直播视频流,从而保证各个切片服务器接收直播视频流的同步性,在此基础上,各个切片服务器同步执行切片流程,具体从切片参数同步节点中获取最新的切片参数,保证各个切片服务器获取的最新的切片参数相同,并从设定的组播地址中接收直播视频流,保证各个切片服务器接收到的直播视频流相同,在此基础上,根据相同的最新的切片参数,在相同的直播视频流中的关键帧位置,通过判断切片速度是否满足切片速度,来调整切片速度或决定是否切片,使得各个切片服务器的切片速度保持一致或在相同时间进行切片,实现同步切片。
在本申请的另一个实施例中,介绍另外一种切片流程,请参见图2,可以包括:
步骤S21、从切片参数同步节点中获取最新的切片参数。
步骤S21与前述实施例中的步骤S11相同,步骤S21的详细过程可以参见步骤S11的相关介绍,在此不再赘述。
步骤S22、确定所述关键帧位置对应的切片序号,作为本地切片序号。
所述关键帧位置对应的切片序号,可以理解为:在所述关键帧位置完成的切片的序号。
步骤S23、从所述最新的切片参数中获取切片序号,并将获取到的切片序号加1的结果作为基准切片序号。
由于最新的切片参数为切片服务器上一次切片完成后,根据上一次完成的切片的参数更新得到的参数,因此可以将最新的切片参数中的切片序号加1的结果,作为基准切片序号。
步骤S24、比较所述本地切片序号与所述基准切片序号的大小。
若所述本地切片序号与所述基准切片序号相同,说明切片速度不快也不慢,则执行步骤S25;若所述本地切片序号小于所述基准切片序号,说明切片速度过慢,则执行步骤S26。
步骤S22-S23为前述实施例中步骤S12的一种具体实施方式。
步骤S25、按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数。
步骤S25与前述实施例中的步骤S13相同,步骤S25的详细过程可以参见步骤S13的相关介绍,在此不再赘述。
步骤S26、加快切片速度,并将利用加快后的切片速度完成的切片的参数保存至所述切片参数同步节点。
步骤S26为前述实施例中步骤S14的一种具体实施方式。
加快切片速度具体可以通过缩短设定的切片时长来实现,即缩短切片需要经历的时间间隔,提前进行切片。
在本申请的另一个实施例中,介绍另外一种切片流程,请参见图3,可以包括:
步骤S31、从切片参数同步节点中获取最新的切片参数。
步骤S32、确定所述关键帧位置对应的切片序号,作为本地切片序号。
步骤S33、从所述最新的切片参数中获取切片序号,并将获取到的切片序号加1的结果作为基准切片序号。
步骤S34、比较所述本地切片序号与所述基准切片序号的大小。
若所述本地切片序号与所述基准切片序号相同,则执行步骤S35;若所述本地切片序号小于所述基准切片序号,则执行步骤S36;若所述本地切片序号大于所述基准切片序号,则执行步骤S37。
步骤S35、按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数。
步骤S36、加快切片速度,并将利用加快后的切片速度完成的切片的参数保存至所述切片参数同步节点。
步骤S31-S36与前述实施例中的步骤S21-S26相同,步骤S31-S36的详细过程可以参见步骤S21-S26的相关介绍,在此不再赘述。
步骤S37、确定所述本地切片序号对应的解码时间戳DTS,作为本地切片开始的DTS。
确定所述本地切片序号对应的解码时间戳DTS的过程,可以包括:从所述本地切片序号对应的关键帧中获取DTS。
步骤S38、从所述最新的切片参数中获取解码时间戳DTS,并将获取到的DTS与设定切片时长之和作为基准DTS。
从最新的切片参数中获取的DTS即为最新DTS,最新DTS的相关介绍请参见前述实施例中步骤S11中最新DTS的相关介绍,在此不再赘述。
步骤S39、比较所述本地切片开始的DTS与所述基准DTS的大小。
若所述本地切片开始的DTS与所述基准DTS相同,说明切片速度不快不慢,则执行步骤S35;若所述本地切片开始的DTS小于所述基准DTS,说明切片速度过快,则可以减慢切片速度,当然也可以不对切片速度进行调整,因为其他切片速度慢的切片服务器在判断出切片速度慢的情况下,会加快切片速度;若所述本地切片开始的DTS大于所述基准DTS,说明切片速度过慢,则执行步骤S36。
优选的,加快切片速度除了通过缩短设定切片时长的方式来实现,还可以通过以下方式实现,具体为:
A11、在下一次切片之前,判断是否存在携带的DTS与预估DTS相同的关键帧,所述预估DTS等于所述基准DTS与所述设定切片时长之和。
在下一次切片之前,可以理解为:从当前完成的切片的时间开始,时间间隔小于设定切片时长时。
若是,执行步骤A12。
A12、将所述携带的DTS与预估DTS相同的关键帧的位置作为切片位置。
在步骤A11判断出在下一次切片之前,存在携带的DTS与预估DTS相同的关键帧的基础上,可以将所述携带的DTS与预估DTS相同的关键帧的位置作为切片位置,而不需要等到时间间隔等于设定切片时长时再进行切片,进一步加快了切片速度。
接下来对本申请提供的直播流切片同步系统进行介绍,下文介绍的直播流切片同步系统与上文介绍的直播流切片同步方法可相互对应参照。
直播流切片同步系统包括:多个切片服务器,各个所述切片服务器在一个组播组中。
各个所述切片服务器同步执行切片流程,进行同步切片,所述切片流程,包括:
从切片参数同步节点中获取最新的切片参数;
从设定的组播地址中接收直播视频流,并在所述直播视频流中设定的关键帧位置,根据所述最新的切片参数,判断切片速度是否满足设定条件;
若是,按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数;
若否,调整切片速度,并将利用调整后的切片速度完成的切片的参数保存至所述切片参数同步节点。
本实施例中,所述切片服务器具体用于执行的切片流程中在所述直播视频流中设定的关键帧位置,根据所述最新的切片参数,判断切片速度是否满足设定条件的过程,可以包括:
确定所述关键帧位置对应的切片序号,作为本地切片序号;
从所述最新的切片参数中获取切片序号,并将获取到的切片序号加1的结果作为基准切片序号;
比较所述本地切片序号与所述基准切片序号的大小;
若所述本地切片序号与所述基准切片序号相同,则执行所述按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数的步骤;
若所述本地切片序号小于所述基准切片序号,则所述调整切片速度,包括:加快切片速度。
本实施例中,所述切片服务器执行的切片流程还可以包括:
若所述本地切片序号大于所述基准切片序号,则确定所述本地切片序号对应的解码时间戳DTS,作为本地切片开始的DTS;
从所述最新的切片参数中获取解码时间戳DTS,并将获取到的DTS与设定切片时长之和作为基准DTS;
比较所述本地切片开始的DTS与所述基准DTS的大小;
若所述本地切片开始的DTS与所述基准DTS相同,则执行所述按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数的步骤;
若所述本地切片开始的DTS小于所述基准DTS,则所述调整切片速度包括:减慢切片速度;
若所述本地切片开始的DTS大于所述基准DTS,则所述调整切片速度包括:加快切片速度。
本实施例中,所述切片服务器执行的切片流程中加快切片速度的过程,可以包括:
在下一次切片之前,判断是否存在携带的DTS与预估DTS相同的关键帧,所述预估DTS等于所述基准DTS与所述设定切片时长之和;
若是,将所述携带的DTS与预估DTS相同的关键帧的位置作为切片位置。
本实施例中,所述切片参数同步节点可以为切片参数同步集群中的任意一个正常运行的节点。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种直播流切片同步方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种直播流切片同步方法,其特征在于,基于直播流切片同步系统,所述直播流切片同步系统包括多个切片服务器,各个所述切片服务器在一个组播组中,所述方法包括:
各个所述切片服务器同步执行切片流程,进行同步切片,所述切片流程,包括:
从切片参数同步节点中获取最新的切片参数;
从设定的组播地址中接收直播视频流,并在所述直播视频流中设定的关键帧位置,根据所述最新的切片参数,判断切片速度是否满足设定条件;
若是,按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数;
若否,调整切片速度,并将利用调整后的切片速度完成的切片的参数保存至所述切片参数同步节点;
其中,所述在所述直播视频流中设定的关键帧位置,根据所述最新的切片参数,判断切片速度是否满足设定条件,包括:
确定所述关键帧位置对应的切片序号,作为本地切片序号;
从所述最新的切片参数中获取切片序号,并将获取到的切片序号加1的结果作为基准切片序号;
比较所述本地切片序号与所述基准切片序号的大小;
若所述本地切片序号与所述基准切片序号相同,则执行所述按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数的步骤;
若所述本地切片序号小于所述基准切片序号,则所述调整切片速度,包括:加快切片速度。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述本地切片序号大于所述基准切片序号,则确定所述本地切片序号对应的解码时间戳DTS,作为本地切片开始的DTS;
从所述最新的切片参数中获取解码时间戳DTS,并将获取到的DTS与设定切片时长之和作为基准DTS;
比较所述本地切片开始的DTS与所述基准DTS的大小;
若所述本地切片开始的DTS与所述基准DTS相同,则执行所述按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数的步骤;
若所述本地切片开始的DTS小于所述基准DTS,则所述调整切片速度包括:减慢切片速度;
若所述本地切片开始的DTS大于所述基准DTS,则所述调整切片速度包括:加快切片速度。
3.根据权利要求2所述的方法,其特征在于,所述加快切片速度,包括:
在下一次切片之前,判断是否存在携带的DTS与预估DTS相同的关键帧,所述预估DTS等于所述基准DTS与所述设定切片时长之和;
若是,将所述携带的DTS与预估DTS相同的关键帧的位置作为切片位置。
4.根据权利要求1所述的方法,其特征在于,所述切片参数同步节点为切片参数同步集群中的任意一个正常运行的节点。
5.一种直播流切片同步系统,其特征在于,包括:多个切片服务器,各个所述切片服务器在一个组播组中;
各个所述切片服务器同步执行切片流程,进行同步切片,所述切片流程,包括:
从切片参数同步节点中获取最新的切片参数;
从设定的组播地址中接收直播视频流,并在所述直播视频流中设定的关键帧位置,根据所述最新的切片参数,判断切片速度是否满足设定条件;
若是,按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数;
若否,调整切片速度,并将利用调整后的切片速度完成的切片的参数保存至所述切片参数同步节点;
其中,所述切片服务器具体用于执行的切片流程中在所述直播视频流中设定的关键帧位置,根据所述最新的切片参数,判断切片速度是否满足设定条件的过程,包括:
确定所述关键帧位置对应的切片序号,作为本地切片序号;
从所述最新的切片参数中获取切片序号,并将获取到的切片序号加1的结果作为基准切片序号;
比较所述本地切片序号与所述基准切片序号的大小;
若所述本地切片序号与所述基准切片序号相同,则执行所述按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数的步骤;
若所述本地切片序号小于所述基准切片序号,则所述调整切片速度,包括:加快切片速度。
6.根据权利要求5所述的系统,其特征在于,所述切片服务器执行的切片流程还包括:
若所述本地切片序号大于所述基准切片序号,则确定所述本地切片序号对应的解码时间戳DTS,作为本地切片开始的DTS;
从所述最新的切片参数中获取解码时间戳DTS,并将获取到的DTS与设定切片时长之和作为基准DTS;
比较所述本地切片开始的DTS与所述基准DTS的大小;
若所述本地切片开始的DTS与所述基准DTS相同,则执行所述按照设定切片策略对所述直播视频流进行切片,并确定切片参数,作为目标切片参数,并在所述切片服务器被允许更新切片参数时,将所述目标切片参数保存至所述切片参数同步节点,以使所述切片参数同步节点根据所述目标切片参数更新所述最新的切片参数的步骤;
若所述本地切片开始的DTS小于所述基准DTS,则所述调整切片速度包括:减慢切片速度;
若所述本地切片开始的DTS大于所述基准DTS,则所述调整切片速度包括:加快切片速度。
7.根据权利要求6所述的系统,其特征在于,所述切片服务器执行的切片流程中加快切片速度的过程,包括:
在下一次切片之前,判断是否存在携带的DTS与预估DTS相同的关键帧,所述预估DTS等于所述基准DTS与所述设定切片时长之和;
若是,将所述携带的DTS与预估DTS相同的关键帧的位置作为切片位置。
8.根据权利要求5所述的系统,其特征在于,所述切片参数同步节点为切片参数同步集群中的任意一个正常运行的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811434641.2A CN109246443B (zh) | 2018-11-28 | 2018-11-28 | 一种直播流切片同步方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811434641.2A CN109246443B (zh) | 2018-11-28 | 2018-11-28 | 一种直播流切片同步方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109246443A CN109246443A (zh) | 2019-01-18 |
CN109246443B true CN109246443B (zh) | 2021-03-23 |
Family
ID=65074314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811434641.2A Active CN109246443B (zh) | 2018-11-28 | 2018-11-28 | 一种直播流切片同步方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109246443B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112911315B (zh) * | 2019-11-19 | 2024-07-19 | 南京中兴新软件有限责任公司 | 一种流媒体直播录制方法、网络设备及存储介质 |
CN111294612B (zh) * | 2020-01-22 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 一种多媒体数据处理方法、系统以及存储介质 |
CN112261418B (zh) * | 2020-09-18 | 2022-09-30 | 网宿科技股份有限公司 | 一种传输直播视频数据的方法和直播加速系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729909A (zh) * | 2008-10-23 | 2010-06-09 | 华为技术有限公司 | 一种流媒体业务的处理方法、装置及系统 |
CN101969551A (zh) * | 2010-09-26 | 2011-02-09 | 中兴通讯股份有限公司 | 一种交互式网络电视系统中的码流分片方法和系统 |
WO2013184374A1 (en) * | 2012-06-08 | 2013-12-12 | Apple Inc. | Techniques for adaptive video streaming |
US9054998B2 (en) * | 2013-02-06 | 2015-06-09 | Freescale Semiconductor, Inc. | System and method for maintaining packet order in an ordered data stream |
CN105592318A (zh) * | 2014-10-21 | 2016-05-18 | 中兴通讯股份有限公司 | 一种实现hls频道回看业务的系统、设备和方法 |
CN105847854A (zh) * | 2016-04-12 | 2016-08-10 | 乐视控股(北京)有限公司 | 直播方法和系统 |
CN107302727A (zh) * | 2016-04-15 | 2017-10-27 | 杭州海康威视数字技术股份有限公司 | 一种直播视频分片的下载方法、装置及系统 |
CN108353170A (zh) * | 2015-11-19 | 2018-07-31 | 高通股份有限公司 | 用于在显示流压缩(dsc)中固定点近似的系统和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8860779B2 (en) * | 2011-05-23 | 2014-10-14 | Broadcom Corporation | Two-way audio and video communication utilizing segment-based adaptive streaming techniques |
US9247182B2 (en) * | 2011-10-10 | 2016-01-26 | Eyeview, Inc. | Using cluster computing for generating personalized dynamic videos |
-
2018
- 2018-11-28 CN CN201811434641.2A patent/CN109246443B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729909A (zh) * | 2008-10-23 | 2010-06-09 | 华为技术有限公司 | 一种流媒体业务的处理方法、装置及系统 |
CN101969551A (zh) * | 2010-09-26 | 2011-02-09 | 中兴通讯股份有限公司 | 一种交互式网络电视系统中的码流分片方法和系统 |
WO2013184374A1 (en) * | 2012-06-08 | 2013-12-12 | Apple Inc. | Techniques for adaptive video streaming |
US9054998B2 (en) * | 2013-02-06 | 2015-06-09 | Freescale Semiconductor, Inc. | System and method for maintaining packet order in an ordered data stream |
CN105592318A (zh) * | 2014-10-21 | 2016-05-18 | 中兴通讯股份有限公司 | 一种实现hls频道回看业务的系统、设备和方法 |
CN108353170A (zh) * | 2015-11-19 | 2018-07-31 | 高通股份有限公司 | 用于在显示流压缩(dsc)中固定点近似的系统和方法 |
CN105847854A (zh) * | 2016-04-12 | 2016-08-10 | 乐视控股(北京)有限公司 | 直播方法和系统 |
CN107302727A (zh) * | 2016-04-15 | 2017-10-27 | 杭州海康威视数字技术股份有限公司 | 一种直播视频分片的下载方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109246443A (zh) | 2019-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7547573B2 (ja) | 置換コンテンツの最後を被置換コンテンツの最後と揃えるのに役立つ置換コンテンツ再生における動的短縮 | |
US11350139B2 (en) | Video live broadcast method and apparatus | |
CN109246443B (zh) | 一种直播流切片同步方法及系统 | |
CN109246462B (zh) | 一种视频流无缝切换方法及装置 | |
CN102170584B (zh) | 同步hs终端设备之间媒体播放的方法、装置和系统 | |
CN106470352B (zh) | 直播频道播放方法、装置及系统 | |
CN111447455A (zh) | 直播视频流回放处理方法、装置及计算设备 | |
WO2018232796A1 (zh) | 一种流媒体文件处理方法及直播系统 | |
KR102566550B1 (ko) | 복수의 커넥티드 장치 간 디지털 콘텐츠의 재생 동기화를 맞추는 방법 및 이를 이용한 장치 | |
CN113852824A (zh) | 视频转码方法、装置、电子设备和存储介质 | |
CN111418215A (zh) | 在媒体流的播出之间转变时转变帧的动态播出 | |
US20170353747A1 (en) | Quality of Media Synchronization | |
CN106791994A (zh) | 一种低延时快速开播方法及装置 | |
US20150095447A1 (en) | Serving method of cache server, cache server, and system | |
CN113727199A (zh) | 一种hls切片快速起播方法 | |
CN105721952A (zh) | 一种等时长切片的直播流网络传输方法及系统 | |
CN104581340B (zh) | 客户端、流媒体数据接收方法和流媒体数据传输系统 | |
US20170013037A1 (en) | Media fragment rotation method, client and system | |
US20240171797A1 (en) | Techniques for providing a content stream based on a delivered stream of content | |
CN101552796A (zh) | 一种时移操作方法和装置 | |
CN114172605A (zh) | 一种同步播放方法、系统及存储介质 | |
WO2019085243A1 (zh) | 一种音视频数据播放方法以及服务器和客户端 | |
WO2018188365A1 (zh) | 同步播放方法、装置和系统 | |
CN106303754A (zh) | 一种音频数据播放方法及装置 | |
CN106850273B (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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Tang Wentao Inventor after: Li Xingping Inventor after: Cao Wen Inventor after: Sheng Jibin Inventor after: Liu Wei Inventor before: Tang Wentao Inventor before: Li Xingping Inventor before: Cao Wen Inventor before: Sheng Jibin Inventor before: Liu Wei |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |