CN109618208A - 一种直播流分布式切片同步方法及装置 - Google Patents

一种直播流分布式切片同步方法及装置 Download PDF

Info

Publication number
CN109618208A
CN109618208A CN201811589813.3A CN201811589813A CN109618208A CN 109618208 A CN109618208 A CN 109618208A CN 201811589813 A CN201811589813 A CN 201811589813A CN 109618208 A CN109618208 A CN 109618208A
Authority
CN
China
Prior art keywords
slice
sei
sliced
information
duration
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
Application number
CN201811589813.3A
Other languages
English (en)
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.)
Hunan Happly Sunshine Interactive Entertainment Media Co Ltd
Original Assignee
Hunan Happly Sunshine Interactive Entertainment Media 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 Hunan Happly Sunshine Interactive Entertainment Media Co Ltd filed Critical Hunan Happly Sunshine Interactive Entertainment Media Co Ltd
Priority to CN201811589813.3A priority Critical patent/CN109618208A/zh
Publication of CN109618208A publication Critical patent/CN109618208A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content 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

本发明公开了一种直播流分布式切片同步方法及装置,在视频内容的生成端或中心源站***带切片信息的SEI:将切片信息随同视频其他码流一同传输到达边缘节点;边缘节点解析码流,得到切片信息的准信信息后,完成切片。本发明有效解决了全网切片同步不一致的问题。在任何一台边缘节点切片,保证切出来的片内容和片文件名都是一致的。播放请求从一个边缘上切换到另外任何一个边缘或源站都是可行的,不影响播放流畅性。从边缘直接返回内容,有效减少了回源的带宽,同时对中心源站也起到了保护作用。

Description

一种直播流分布式切片同步方法及装置
技术领域
本发明涉及视频直播领域,具体为一种直播流分布式切片同步方法及装置。
背景技术
现有直播***中,直播中心源站一般需要提供直播流热备,搭建源站集群。当边缘回源时,如果上层服务出现异常,需要及时切换到另外一个上层服务,来保证不间断的直播服务。HLS是一种基于切片的直播流,边缘如果从某一个源站取不到切片时,就会从另外一个源站上去取,所以要保证多个源站上的切片完全一样,才能保证在切换源站时播放不出现花屏,绿屏,画面切换等异常现象。
现有切片同步方法一般有下面3种:这里假设有A,B,C三台机器搭建中心源站集群:
1)A机器切片,其他机器B,C不切片,同步A机器上的切片到B,C两台机器上;
2)A,B,C机器通过某种通信同步机制(比如redis,数据库,消息队列等)来同步切片内容,保证A,B,C切片一致,这种方式也很难做到完全同步;
3)通过编码器发送RTMP ATC(绝对时间),A,B,C机器根据绝对时间来切片,保证切片一致,这种方案对编码器有要求,而且商业CDN传输过程中不能篡改时间戳;
上述3种方法主要解决在中心源站集群内的切片同步问题,无法跨多家商业CDN达到全网同步,边缘回源还是需要从中心源站拿HLS切片和m3u8文件。
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种直播流分布式切片同步方法及装置,解决全网切片同步不一致的问题。
为解决上述技术问题,本发明所采用的技术方案是:一种直播流分布式切片同步方法,包括以下步骤:
1)在视频内容的生成端或中心源站***带切片信息的SEI,即补充的增强信息:
2)将带切片信息的SEI随同视频其他码流一同传输到达边缘节点;
3)边缘节点解析码流,得到切片描述后,执行切片。
步骤1)的具体实现过程包括:
1)初始化切片大小为一个预设值,切片时长等于零,切片序列号等于1;
2)读取码流;
3)判断码流是否结束,如果结束,则跳到步骤12);若未结束,则进入步骤4);
4)解析视频帧,获得nal_unit_type,即NAL单元类型;
5)判断nal_unit_type是否是IDR,IDR表示即时解码刷新;若是IDR,则进入步骤6);否则,返回步骤2);
6)计算切片时长,其中切片时长计算方法为:切片时长=当前切片时长+当前视频帧解码时间戳与前一个视频帧解码时间戳的差值;
7)判断切片时长是否大于设置的切片大小,如果大于,则进入步骤8),否则跳到步骤11);
8)生成带切片描述的SEI;其中切片描述包含切片序列号和不连续状态标识;
9)切片序列号递增,步长为1,切片时长重新置零;
10)在IDR前***带切片描述的SEI;
11)继续接收码流,转到步骤2);
12)结束。
执行切片的具体实现过程包括:
1)边缘节点接收码流;
2)初始化切片序列号为零,不连续状态标识为真;
3)判断码流是否结束,若是,则结束,跳到步骤16);否则,进入步骤4);
4)解析视频帧,获得nal_unit_type;
5)判断nal_unit_type是否是IDR,若是,则进入步骤6);否则,进入步骤7);
6)判断切片是否创建,如果切片不存在则跳到步骤12);否则进入步骤14);
7)判断nal_unit_type是否是SEI,若不是,则跳到步骤14);
8)解析SEI,判断SEI是否带有切片描述,若是,则进入9);否则,进入步骤14);
9)解析切片描述,获取切片序列号和不连续状态标识;
10)丢弃带切片描述的SEI;
11)判断是否存在正在写的切片信息,若是,则关闭正在写的切片;
12)命名切片,其中命名规则为:流名_切片序列号_自定义字段.后缀名;
13)创建新切片;
14)向新切片写入帧数据,如果此时新切片没有创建,则丢弃掉写入的帧数据;
15)继续接收码流,跳转到步骤3);
16)结束。
相应地,本发明还提供了一种直播流分布式切片同步装置,包括:
***模块,用于在视频内容的生成端或中心源站***带切片描述的SEI;
传输模块,用于将切片信息随同视频其他码流一同传输到达边缘节点;
边缘节点,用于解析码流,得到切片信息的准信信息后,完成切片。
与现有技术相比,本发明所具有的有益效果为:本发明有效解决了全网切片同步不一致的问题。在任何一台边缘节点切片,保证切出来的片内容和片文件名都是一致的。播放请求从一个边缘上切换到另外任何一个边缘或源站都是可行的,不影响播放流畅性。从边缘直接返回内容,有效减少了回源的带宽,同时对中心源站也起到了保护作用。
附图说明
图1为本发明***带切片描述SEI的基本流程图;
图2为本发明边缘或接收端切片的基本流程图;
图3为本发明实施例流程图。
具体实施方式
直播视频编码目前主要采用H264和H265两种编码格式,H264规范
《ISO/IEC 14496-10:2014》和H265规范《ISO/IEC 23008-2:2015》都描述了SEI即补充增强信息(Supplemental Enhancement Information),它提供了向视频码流中加入额外信息的方法,是H.264/H.265视频压缩标准的特性之一。SEI描述类型在ISO/IEC 14496-10:2014》和《ISO/IEC 23008-2:2015》中Annex D Supplemental enhancementinformation章节描述。如图1所示,SEI payloadType等于5时(User data unregisteredSEI message)可以添加一些用户自定义描述,所以我们也可以在SEI加入切片信息(切片序列号)。
技术实现如下:
首先,我们在视频内容的生成端或传输过程(中心源站)***带切片描述的SEI,***流程如下,见图1:
1)在视频编码时或者在中心源站对已发布的流解析处理,假设切片时间大小segment_size为10秒钟;
2)初始化切片序列号sequence_number和切片时长segment_duration,sequence_number=1,segment_duration=0
3)检测流是否结束,如果结束,则退出整个***切片流程,跳到步骤16
4)解析视频帧
5)计算当前帧与前一帧解码时间戳差值dts_delta=dts-pre_dts,其中dts为当前帧解码时间戳,pre_dts为前一帧解码时间戳
6)计算切片时长segment_duration,segment_duration+=dts_delta,其中要求dts_delta大于零
7)获取视频帧的nal_unit_type,其中nal_unit_type在Rec.ITU-T H.264(01/2012)中Table 7-1中和Rec.ITU-T H.265v3(04/2015)中Table 7-1定义
8)检测nal_unit_type是否是IDR,如果不是则跳到步骤3
9)检测当前切片时长是否大于切片大小segment_size,如果小于,则跳到步骤3
10)检测dts_delta是否大于预设间隔阀值,如果大于,则设置切片不连续状态标识
11)计算切片序列号sequence_number,sequence_number+=1
12)产生SEI(sequence_number,不连续状态标识)
13)在IDR前***SEI
14)***SEI之后,当前的直播码流中就包含了切片信息,这些切片信息随同视频其他码流一同经过网络传输到达边缘节点;
15)重复步骤3至步骤13;
16)结束。
边缘接收直播流,解析视频帧,得到切片的准信信息后,执行切片。切片流程如下,见图2:
1)接收直播流
2)初始化切片索引号segment_number和不连续状态标识discontinuity,其中segment_number=0,discontinuity=true
3)检测流是否结束,如果结束,则退出整个流程,跳到步骤18
4)解析直播码流,如果是音频帧,则跳到步骤16
5)解析视频帧
6)获得nal_unit_type,其中nal_unit_type在Rec.ITU-T H.264(01/2012)中Table 7-1中和Rec.ITU-T H.265v3(04/2015)中Table 7-1定义
7)检测nal_unit_type是否是IDR,如果是IDR且是第一个GOP,则跳到步骤12
8)检测nal_unit_type是否是SEI,如果不是,则跳到步骤16
9)解析SEI信息,检测是否带切片描述,如果不是,则跳到步骤16
10)解析带切片描述的SEI,得到切片序列号sequece_number和不连续状态discontinuity
11)丢弃掉带切片描述的SEI
12)切片命名规则:流名_切片序列号_自定义字段.后缀名,例如:xxx_seqno_suffix.ts,其中xxx表示流名,seqno表示切片序列号sequence_number,suffix表示自定义字段,后缀名可以是ts,m4s等等
13)检测是否存在正在写入的切片,如果不存在,则跳到步骤15
14)关闭正在写入的切片
15)创建新切片,例如JYKTMPP360_seqno_hls.ts,其中JYKTMPP360表示流名,seqno表示切片序列号sequence_number,hls表示自定义字段,后缀名是ts。
16)向切片写入帧数据,如果此时切片没有创建,则丢弃写入的帧数据
17)重复步骤3至步骤15
18)结束
边缘此时扮演了源站的角色,实现了直播流的回源,分发,缓存和切片。观众向边缘请求HLS直播流,边缘直接返回切片内容。
本发明实施例实现过程如下,见图3:
1)选择在中心源站上对已发布的直播流做处理,***带切片描述的SEI;
2)中心源站有A,B,C三台机器搭建集群,对直播流做热备处理;
3)当中的任何一台机器接收到直播推流时,解析码流,每隔一个切片大小时长,在下一个GOP开始前位置***带切片描述的SEI,其中切片描述为:“切片序列号,不连续状态标识”;其中切片序列号为64位有符号整型,不连续状态标识如果为真,则填入切片描述里,如果为假,则缺失;GOP全称为Group of pictures,中文解释为画面组,一个GOP就是指两个IDR之间的一组连续的画面;
4)将当前直播流转推到另外2台机器中;
5)中心源站机器不切片,只当做直播流回源访问服务;
6)播放器向边缘请求HLS直播流;
7)边缘向中心源站回源rtmp;
8)边缘解析码流,获取带切片描述的SEI内容,按照切片描述规则执行切片;
9)边缘返回HLS流给播放器。
在具体实施中,我们在中心源站处解析所有推送过来的直播流,在适当的时机***带切片描述的SEI。当客户访问边缘节点时,触发边缘回源rtmp,同时在边缘节点上执行切片。以后其他客户访问这台边缘,边缘直接返回流数据和切片内容。

Claims (4)

1.一种直播流分布式切片同步方法,其特征在于,包括以下步骤:
1)在视频内容的生成端或中心源站***带切片信息的SEI,即补充的增强信息:
2)将带切片信息的SEI随同视频其他码流一同传输到达边缘节点;
3)边缘节点解析码流,得到切片描述后,执行切片。
2.根据权利要求1所述的直播流分布式切片同步方法,其特征在于,步骤1)的具体实现过程包括:
1)初始化切片大小为一个预设值,切片时长等于零,切片序列号等于1;
2)读取码流;
3)判断码流是否结束,如果结束,则跳到步骤12);若未结束,则进入步骤4);
4)解析视频帧,获得nal_unit_type,即NAL单元类型;
5)判断nal_unit_type是否是IDR,IDR表示即时解码刷新;若是IDR,则进入步骤6);否则,返回步骤2);
6)计算切片时长,其中切片时长计算方法为:切片时长=当前切片时长+当前视频帧解码时间戳与前一个视频帧解码时间戳的差值;
7)判断切片时长是否大于设置的切片大小,如果大于,则进入步骤8),否则跳到步骤11);
8)生成带切片描述的SEI;其中切片描述包含切片序列号和不连续状态标识;
9)切片序列号递增,步长为1,切片时长重新置零;
10)在IDR前***带切片描述的SEI;
11)继续接收码流,转到步骤2);
12)结束。
3.根据权利要求2所述的直播流分布式切片同步方法,其特征在于,执行切片的具体实现过程包括:
1)边缘节点接收码流;
2)初始化切片序列号为零,不连续状态标识为真;
3)判断码流是否结束,若是,则结束,跳到步骤16);否则,进入步骤4);
4)解析视频帧,获得nal_unit_type;
5)判断nal_unit_type是否是IDR,若是,则进入步骤6);否则,进入步骤7);
6)判断切片是否创建,如果切片不存在则跳到步骤12);否则进入步骤14);
7)判断nal_unit_type是否是SEI,若不是,则跳到步骤14);
8)解析SEI,判断SEI是否带有切片描述,若是,则进入9);否则,进入步骤14);
9)解析切片描述,获取切片序列号和不连续状态标识;
10)丢弃带切片描述的SEI;
11)判断是否存在正在写的切片信息,若是,则关闭正在写的切片;
12)命名切片,其中命名规则为:流名_切片序列号_自定义字段.后缀名;
13)创建新切片;
14)向新切片写入帧数据,如果此时新切片没有创建,则丢弃掉写入的帧数据;
15)继续接收码流,跳转到步骤3);
16)结束。
4.一种直播流分布式切片同步装置,其特征在于,包括:
***模块,用于在视频内容的生成端或中心源站***带切片描述的SEI;
传输模块,用于将切片信息随同视频其他码流一同传输到达边缘节点;
边缘节点,用于解析码流,得到切片信息的准信信息后,完成切片。
CN201811589813.3A 2018-12-25 2018-12-25 一种直播流分布式切片同步方法及装置 Pending CN109618208A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811589813.3A CN109618208A (zh) 2018-12-25 2018-12-25 一种直播流分布式切片同步方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811589813.3A CN109618208A (zh) 2018-12-25 2018-12-25 一种直播流分布式切片同步方法及装置

Publications (1)

Publication Number Publication Date
CN109618208A true CN109618208A (zh) 2019-04-12

Family

ID=66011413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811589813.3A Pending CN109618208A (zh) 2018-12-25 2018-12-25 一种直播流分布式切片同步方法及装置

Country Status (1)

Country Link
CN (1) CN109618208A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958466A (zh) * 2019-12-17 2020-04-03 杭州当虹科技股份有限公司 一种基于rtmp传输的sdi信号同步回传方法
CN111193936A (zh) * 2019-12-27 2020-05-22 腾讯科技(深圳)有限公司 视频流传输方法、装置、电子设备及计算机可读存储介质
CN113542815A (zh) * 2021-09-17 2021-10-22 广州易方信息科技股份有限公司 视频直播同步方法及***
CN114071790A (zh) * 2021-12-16 2022-02-18 中国联合网络通信集团有限公司 通信方法、装置、设备及存储介质
CN114302254A (zh) * 2021-12-28 2022-04-08 天翼云科技有限公司 直播视频转码切片的方法及装置、存储介质及电子设备
WO2023241057A1 (zh) * 2022-06-13 2023-12-21 京东科技信息技术有限公司 数据处理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105744290A (zh) * 2016-01-27 2016-07-06 观止云(北京)信息技术有限公司 一种hls热备的方法
CN108055594A (zh) * 2017-11-14 2018-05-18 北京百度网讯科技有限公司 边缘切片的实现方法、装置、计算机设备及存储介质
US20180241793A1 (en) * 2017-02-17 2018-08-23 Disney Enterprises, Inc. Virtual slicer appliance
CN108495151A (zh) * 2018-03-22 2018-09-04 深圳牛视科技有限公司 一种m3u8格式视频直播***和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105744290A (zh) * 2016-01-27 2016-07-06 观止云(北京)信息技术有限公司 一种hls热备的方法
US20180241793A1 (en) * 2017-02-17 2018-08-23 Disney Enterprises, Inc. Virtual slicer appliance
CN108055594A (zh) * 2017-11-14 2018-05-18 北京百度网讯科技有限公司 边缘切片的实现方法、装置、计算机设备及存储介质
CN108495151A (zh) * 2018-03-22 2018-09-04 深圳牛视科技有限公司 一种m3u8格式视频直播***和方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958466A (zh) * 2019-12-17 2020-04-03 杭州当虹科技股份有限公司 一种基于rtmp传输的sdi信号同步回传方法
CN111193936A (zh) * 2019-12-27 2020-05-22 腾讯科技(深圳)有限公司 视频流传输方法、装置、电子设备及计算机可读存储介质
CN111193936B (zh) * 2019-12-27 2021-11-12 腾讯科技(深圳)有限公司 视频流传输方法、装置、电子设备及计算机可读存储介质
CN113542815A (zh) * 2021-09-17 2021-10-22 广州易方信息科技股份有限公司 视频直播同步方法及***
CN113542815B (zh) * 2021-09-17 2022-03-08 广州易方信息科技股份有限公司 视频直播同步方法及***
CN114071790A (zh) * 2021-12-16 2022-02-18 中国联合网络通信集团有限公司 通信方法、装置、设备及存储介质
CN114071790B (zh) * 2021-12-16 2023-05-12 中国联合网络通信集团有限公司 通信方法、装置、设备及存储介质
CN114302254A (zh) * 2021-12-28 2022-04-08 天翼云科技有限公司 直播视频转码切片的方法及装置、存储介质及电子设备
WO2023241057A1 (zh) * 2022-06-13 2023-12-21 京东科技信息技术有限公司 数据处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN109618208A (zh) 一种直播流分布式切片同步方法及装置
KR101558116B1 (ko) 코딩된 멀티미디어 데이터의 네트워크 스트리밍 동안의 표현들 사이의 전환
KR101594351B1 (ko) 다수의 소스들로부터의 멀티미디어 데이터의 스트리밍
KR101442999B1 (ko) 코딩된 비디오 데이터의 네트워크 스트리밍을 위한 매니페스트 파일 업데이트들
EP2594073B1 (en) Video switching for streaming video data
CA2939250C (en) Processing continuous multi-period content
KR101453239B1 (ko) 인코딩된 비디오 데이터의 스트리밍
US9843844B2 (en) Network streaming of media data
EP3095247B1 (en) Robust live operation of dash
US20070174880A1 (en) Method, apparatus, and system of fast channel hopping between encoded video streams
KR20170116027A (ko) 저 레이턴시 비디오 스트리밍
KR100837720B1 (ko) 디지털 멀티미디어 방송에서 비디오 서비스와 동기화된 데이터 서비스를 제공하는 방법 및 그 장치와 데이터 서비스의 실행 방법
EP2754302A1 (en) Network streaming of coded video data
CN108494792A (zh) 一种flash播放器播放hls视频流的转换***及其工作方法
KR20130056829A (ko) 3dtv 방송을 위한 송수신 장치 및 그 제어 방법

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190412

RJ01 Rejection of invention patent application after publication