CN112188286B - 一种用于直播流的时间戳标定方法及系统 - Google Patents

一种用于直播流的时间戳标定方法及系统 Download PDF

Info

Publication number
CN112188286B
CN112188286B CN202011072533.2A CN202011072533A CN112188286B CN 112188286 B CN112188286 B CN 112188286B CN 202011072533 A CN202011072533 A CN 202011072533A CN 112188286 B CN112188286 B CN 112188286B
Authority
CN
China
Prior art keywords
time
calibration
timestamp
transcoding
utc
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
Application number
CN202011072533.2A
Other languages
English (en)
Other versions
CN112188286A (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.)
SHANGHAI WONDERTEK SOFTWARE CO Ltd
Original Assignee
SHANGHAI WONDERTEK SOFTWARE 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 SHANGHAI WONDERTEK SOFTWARE CO Ltd filed Critical SHANGHAI WONDERTEK SOFTWARE CO Ltd
Priority to CN202011072533.2A priority Critical patent/CN112188286B/zh
Publication of CN112188286A publication Critical patent/CN112188286A/zh
Application granted granted Critical
Publication of CN112188286B publication Critical patent/CN112188286B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明涉及视频转码的技术领域,提供了一种用于直播流的时间戳标定方法及系统,方法包括:建立直播转码任务,并选择使用时间戳标定功能,同时设定标定参数;当转码服务后台接收到直播转码任务后,启动转码进程的同时启动标定任务,根据所述时间戳插入频次确定直播流中需要标定的帧,进而根据所述是否保留源流UTC信息选择包括所述起始UTC时间、当前帧的UTC时间、实时北京UTC时间在内的任意一个对需要标定的帧进行时间戳标定。解决实时视频直播过程中,时效要求高,无法借助工具进行帧级别的定位及处理。且对于不同厂商的直播流难以进行帧级别标定与统一校准的问题。

Description

一种用于直播流的时间戳标定方法及系统
技术领域
本发明涉及视频转码的技术领域,尤其涉及针对于直播流的视频转码中时间戳标定的技术领域,具体的涉及一种用于直播流的时间戳标定方法及系统。以转码能力为核心,在直播转码时按视频帧级别在码流中插入实时UTC时间戳,旨在方便导播或相关人员能够根据统一的实时UTC时间戳,进行关键场景的实时提取或精准弹窗,也可用于校准不同厂商或不同业务的直播流。
背景技术
当前视频相关业务飞速发展,用户或视频平台对海量视频精准定位的需求日益明显,且很多视频平台为了营造良性环境会选择多家不同厂商,所以对接不同厂商的视频流去做业务联调也成为难点。为了满足这些要求,在视频流中进行帧级别的时间戳标定与校准是一种十分有效的方法。
一般用户或剪辑师等想要对视频帧级的时间戳标定定位,只能对视频文件借助一些工具进行帧级别定位及处理,但是对于实时直播过程中的转码,因为直播视频流是实时传输转码的,对时效上要求很高,通过一般的方法中借助工具进行帧级别的定位及处理将不适用于直播流转码过程中的定位。同时不同厂商的转码过程各有其特殊的算法及逻辑,导致转出的直播流很难联调一起定位同一帧去做处理。
发明内容
针对上述问题,本发明的目的在于提供一种用于直播流的时间戳标定方法及系统。解决实时视频直播过程中,时效要求高,无法借助工具进行帧级别的定位及处理。且对于不同厂商的直播流难以进行帧级别标定与统一校准的问题。
本发明的上述发明目的是通过以下技术方案得以实现的:
一种用于直播流的时间戳标定方法,包括以下步骤:
S1:建立直播转码任务,并选择使用时间戳标定功能,同时设定用于时间戳标定的包括UUID值,起始UTC时间、时间戳插入频次、是否保留源流U TC信息在内的标定参数;
S2:当转码服务后台接收到所述直播转码任务后,启动转码进程的同时启动标定任务,根据所述时间戳插入频次确定直播流中需要标定的帧,进而根据所述是否保留源流UTC信息选择包括所述起始UTC时间、当前帧的UTC时间、实时北京UTC时间在内的任意一个对需要标定的帧进行时间戳标定;
S3:当转码成功后,所述转码进程返回转码成功信息至所述转码服务后台,进而所述转码服务后台将标定成功信息返回。
进一步地,所述标定参数中,各参数具体作用如下:
所述UUID值,用于身份鉴别,只有符合预设身份的用户才能对直播流进行时间戳标定;
所述起始UTC时间,用于对时间戳进行校准,当选择不保留源流UTC信息时,使用所述起始UTC时间作为对直播流中的帧进行时间戳标定的开始时间时间,后根据输出流相邻帧时间间隔实时更新输出插入的UTC时间;
所述时间戳插入频次,用于设置包括在每帧都插入、只在I帧插入在内的选项;
所述是否保留源流UTC信息,用于判断是否需要包括源流UTC信息,当选择保留时,应用于输入流已经包含有之前插入的UTC时间戳,本次转码任务需保留输入流对应帧之前标定的时间戳的应用场景。
进一步地,所述时间戳标定,使用直播流对应的视频码流中定义的SEI类型的NAL单元,选用其中的未注册的用户数据类型的SEI,用于存储当前直播流的时间戳标定信息;
所述时间戳标定信息中定义了包括时间戳插入频次、是否保留源流UTC信息、直播流初始UTC信息在内的标定信息的json格式的字符串。
进一步地,所述时间戳标定信息中,还定义了用于身份鉴定的UUID唯一标识码,只有所述UUID唯一标识码符合预定的可以进行时间戳标定的用户时,才可以进行后续的标定工作,否则直接封装输出。
进一步地,转码的具体流程,包括以下步骤:
对输入的直播流进行解封装,后对解封装后的视频码流进行解码、编码;
取出所述标定参数,根据所述时间戳插入频次判断需要标定的帧;
对于需要标定的帧,判断是否保留源UTC信息;
若保留,则直接取出并插入当前帧保存的时间戳;
若不保留,则判断是否为首次插入,若为首次插入,则取所述标定参数中的所述起始UTC时间作为当前帧的时间戳,当所述起始UTC时间为无效值时,取实时北京UTC时间作为当前帧的时间戳,且保存当前系统时间作为基准时间;若不为首次插入,取首次插入时保存的时间戳,加上当前系统时间减去系统时间;
插入完成后,按照码流规范与当前帧一起封装写入到输入流中。
进一步地,在所述转码进程运行的过程中,对直播转码过程进行实时校准,动态修改所述标定参数。
进一步地,对直播转码过程进行实时校准,具体为:
在所述转码进程启动时,同时启动一个监听HTTP请求线程;
通过所述监听HTTP请求线程,所述转码服务后台在转码过程不中断的情况下,实时监听用于校准所述标定参数的HTTP请求;
在所述转码进行接收到校准的所述标定参数后,在对下一帧进行编码时生效。
一种与上述用于直播流的时间戳标定方法对应的系统,具体包括:
转码任务建立模块,用于建立直播转码任务,并选择使用时间戳标定功能,同时设定用于时间戳标定的包括UUID值,起始UTC时间、时间戳插入频次、是否保留源流UTC信息在内的标定参数;
标定任务执行模块,用于当转码服务后台接收到所述直播转码任务后,启动转码进程的同时启动标定任务,根据所述时间戳插入频次确定直播流中需要标定的帧,进而根据所述是否保留源流UTC信息选择包括所述起始UTC时间、当前帧的UTC时间、实时北京UTC时间在内的任意一个对需要标定的帧进行时间戳标定;
成功信息返回模块,用于当转码成功后,所述转码进程返回转码成功信息至所述转码服务后台,进而所述转码服务后台将标定成功信息返回。
一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集、所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由所述处理器加载并执行以实现上述的用于直播流的时间戳标定方法。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的用于直播流的时间戳标定方法。
与现有技术相比,本发明包括以下至少一种有益效果是:
(1)通过提供一种用于直播流的时间戳标定方法,包括步骤:S1:建立直播转码任务,并选择使用时间戳标定功能,同时设定用于时间戳标定的包括UUID值,起始UTC时间、时间戳插入频次、是否保留源流UTC信息在内的标定参数;S2:当转码服务后台接收到所述直播转码任务后,启动转码进程的同时启动标定任务,根据所述时间戳插入频次确定直播流中需要标定的帧,进而根据所述是否保留源流UTC信息选择包括所述起始UTC时间、当前帧的UTC时间、实时北京UTC时间在内的任意一个对需要标定的帧进行时间戳标定;S3:当转码成功后,所述转码进程返回转码成功信息至所述转码服务后台,进而所述转码服务后台将标定成功信息返回。
上述技术方案,能够实现直播转码时的直播流帧级时间戳标定。解决实时视频直播过程中,时效要求高,无法借助工具进行帧级别的定位及处理。且对于不同厂商的直播流难以进行帧级别标定与统一校准的问题。
(2)通过在所述转码进程运行的过程中,对直播转码过程进行实时校准,动态修改所述标定参数,具体包括:在所述转码进程启动时,同时启动一个监听HTTP请求线程;通过所述监听HTTP请求线程,所述转码服务后台在转码过程不中断的情况下,实时监听用于校准所述标定参数的HTTP请求;在所述转码进行接收到校准的所述标定参数后,在对下一帧进行编码时生效。
上述技术方案,能够实现对直播流的时间戳进行标定过程中的实时校准。
附图说明
图1为本发明一种用于直播流的时间戳标定方法的整体流程图;
图2为本发明的转码进程内部流程图;
图3为本发明的当保留源UTC时间时,转码进程内部流程图;
图4为本发明的一种用于直播流的时间戳标定系统的整体结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
传统直播转码流程为:输入视频直播流解封装、解码、编码、封装,然后输出视频流,不断循环此过程,实现对输入直播流实时输出,直到业务要求任务结束。传统转码流程中,输出流的一帧信息含的时间戳一般只表示为其在当前输出流中的时间戳,这样无法与其他流的时间产生关联,厂家要想对不同厂商同时出的流做校准是比较困难的。
针对以上传统直播转码流程中存在的问题,本发明的主要发明点如下:
使用视频码流中定义的SEI(补充增强信息)NALU中类型为user_data_unregistered(未注册的用户数据)的单元,在对直播流进行标定时,将含时间戳的信息以字符串形式插入其user_data_payload_byte(用户数据载荷)中。
需要说明的是,本发明中所有的定义,例如上述的SEI NALU,user_dat a_unregistered,user_data_payload_byte都来源于《ISO/IEC 14496-10:2014》标准。
视频直播流解封装后,解析出NALU数据,当解析到NAL头为SEI且SEI类型为未注册的用户数据时的NAL单元,将其包含的用户数据载荷存储到该帧的数据中,作为此帧的一部分进行后边的流程。
然后解码、编码,解编码过程中仍保留对应输入帧的未注册的用户数据载荷。到达封装步骤前,用户可选择保留源流中帧的时间信息,也可通过HT TP接口实时接收用户想要校准的初始UTC时间戳,若两者都不想用,默认可使用当前实时北京UTC时间作为初始时间戳插入到输出帧中。
若选择保留源流中帧的时间信息,则需取出保存的当前输出帧对应输入帧的未注册的用户数据载荷,写入输出流SEI NAL单元中,然后封装输出直播流;若选择插入新的UTC时间,则将保存的输入帧的未注册的用户数据载荷信息丢弃掉,获取用户想要校准的UTC时间或当前实时UTC时间转为字符串,写入输出流SEI NAL单元,封装输出。
第一实施例
如图1所示,本实施例提供了一种用于直播流的时间戳标定方法包括以下步骤:
S1:建立直播转码任务,并选择使用时间戳标定功能,同时设定用于时间戳标定的包括UUID值,起始UTC时间、时间戳插入频次、是否保留源流U TC信息在内的标定参数。
其中,所述标定参数中,各参数具体作用如下:
所述UUID值,用于身份鉴别,只有符合预设身份的用户才能对直播流进行时间戳标定。
所述起始UTC时间,用于对时间戳进行校准,当选择不保留源流UTC信息时,使用所述起始UTC时间作为对直播流中的帧进行时间戳标定的开始时间时间,后根据输出流相邻帧时间间隔实时更新输出插入的UTC时间。
所述时间戳插入频次,用于设置包括在每帧都插入、只在I帧插入在内的选项。
所述是否保留源流UTC信息,用于判断是否需要包括源流UTC信息,当选择保留时,应用于输入流已经包含有之前插入的UTC时间戳,本次转码任务需保留输入流对应帧之前标定的时间戳的应用场景。
S2:当转码服务后台接收到所述直播转码任务后,启动转码进程的同时启动标定任务,根据所述时间戳插入频次确定直播流中需要标定的帧,进而根据所述是否保留源流UTC信息选择包括所述起始UTC时间、当前帧的UTC时间、实时北京UTC时间在内的任意一个对需要标定的帧进行时间戳标定。
当进行时间戳标定,首先需要定义时间戳存储的空间,我们使用直播流对应的视频码流中定义的SEI类型的NAL单元,选用其中的未注册的用户数据类型的SEI,用于存储当前直播流的时间戳标定信息。
所述时间戳标定信息中定义了包括时间戳插入频次、是否保留源流UTC信息、直播流初始UTC信息在内的标定信息的json格式的字符串。所述时间戳标定信息中,还定义了用于身份鉴定的UUID唯一标识码,只有所述UUID唯一标识码符合预定的可以进行时间戳标定的用户时,才可以进行后续的标定工作,否则直接封装输出。
进一步地,如图2所示,在本步骤中转码的具体流程,包括以下步骤:
对输入的直播流进行解封装,后对解封装后的视频码流进行解码、编码;
判断UUID是否符合预期用户UUID,二者匹配则进行之后的处理,否则直接正常封装输出。
若UUID匹配,取出所述标定参数,根据所述时间戳插入频次判断需要标定的帧,如:直播流中包含I帧、P帧、B帧,插入频率为直插入I帧。
对于需要标定的帧,判断是否保留源UTC信息(UTC-SEI);
若保留,则直接取出并插入当前帧保存的时间戳(UTC-SEI),按照码流规范与当前帧一起封装写入到输出流;
若不保留,则判断是否为首次插入,若为首次插入,则取所述标定参数中的所述起始UTC时间作为当前帧的时间戳,当所述起始UTC时间为无效值时,取实时北京UTC时间作为当前帧的时间戳,且保存当前系统时间作为基准时间;若不为首次插入,取首次插入时保存的时间戳,加上当前系统时间减去系统时间;
插入完成后,按照码流规范与当前帧一起封装写入到输入流中。
S3:当转码成功后,所述转码进程返回转码成功信息至所述转码服务后台,进而所述转码服务后台将标定成功信息返回。
进一步地,在所述转码进程运行的过程中,对直播转码过程进行实时校准,动态修改所述标定参数。例如修改参数中的UTC时间,则下次输出流插入的UTC时间戳更新为此UTC时间,之后继续根据输出流帧时间间隔实时更新。对直播转码过程进行实时校准,具体为:
在所述转码进程启动时,同时启动一个监听HTTP请求线程;
通过所述监听HTTP请求线程,所述转码服务后台在转码过程不中断的情况下,实时监听用于校准所述标定参数的HTTP请求;
在所述转码进行接收到校准的所述标定参数后,在对下一帧进行编码时生效。
在通过本实施例的方法对直播流进行时间戳标定之后,导播或者播放器客户端等相关技术人员可在解码此输出流时渠道帧级对应的UTC时间,完成一些帧级的业务需求如帧级时刻弹窗、帧级精准画面截取、不同厂商流的帧级同步联调等。
第二实施例
如图3所示,本实施例提供在保留源流中存在的UTC-SEI时间时,用于多级任务下可只通过校准第一级任务实现多级任务所有输出流的校准的具体应用的实施例。
实现流程主要为:解封装后解析输入视频码流的UTC-SEI信息,将其与当前帧内部时间戳成对存放到容器1中。解码,由于参考帧的存在因此送入一帧解码可能不会立即解码成功返回,针对此情况,若解码返回解码后的帧存在,则从存放的容器1中按照帧内部时间戳查找匹配的UTC-SEI,存放到当前解码后的帧中。编码前,从当前需编码的帧中取出UTC-SEI,存放到容器2中,也是同解码类似编码时输入一帧可能不会立即返回一帧,因此编码后若帧存在,则从存放的容器2中按照帧内部时间戳查找匹配的UTC-SEI,存放到编码后的此帧中,继续进行图2中的插入、封装、输出流程。
第三实施例
如图4所示,本实施例提供了一种与第一实施例中用于直播流的时间戳标定方法对应的系统,具体包括:
转码任务建立模块1,用于建立直播转码任务,并选择使用时间戳标定功能,同时设定用于时间戳标定的包括UUID值,起始UTC时间、时间戳插入频次、是否保留源流UTC信息在内的标定参数;
标定任务执行模块2,用于当转码服务后台接收到所述直播转码任务后,启动转码进程的同时启动标定任务,根据所述时间戳插入频次确定直播流中需要标定的帧,进而根据所述是否保留源流UTC信息选择包括所述起始UTC时间、当前帧的UTC时间、实时北京UTC时间在内的任意一个对需要标定的帧进行时间戳标定;
成功信息返回模块3,用于当转码成功后,所述转码进程返回转码成功信息至所述转码服务后台,进而所述转码服务后台将标定成功信息返回。
需要说明的是,其他的细化步骤与第一实施例中相同,本实施例不再赘述。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第一实施例中的用于直播流的时间戳标定方法。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种用于直播流的时间戳标定方法,其特征在于,包括以下步骤:
S1:建立直播转码任务,并选择使用时间戳标定功能,同时设定用于时间戳标定的包括UUID值,起始UTC时间、时间戳插入频次、是否保留源流UTC信息在内的标定参数;
S2:当转码服务后台接收到所述直播转码任务后,启动转码进程的同时启动标定任务,根据所述时间戳插入频次确定直播流中需要标定的帧,进而根据所述是否保留源流UTC信息选择包括所述起始UTC时间、当前帧的UTC时间、实时北京UTC时间在内的任意一个对需要标定的帧进行时间戳标定;
S3:当转码成功后,所述转码进程返回转码成功信息至所述转码服务后台,进而所述转码服务后台将标定成功信息返回;
所述标定参数中,各参数具体作用如下:
所述UUID值,用于身份鉴别,只有符合预设身份的用户才能对直播流进行时间戳标定;
所述起始UTC时间,用于对时间戳进行校准,当选择不保留源流UTC信息时,使用所述起始UTC时间作为对直播流中的帧进行时间戳标定的开始时间时间,后根据输出流相邻帧时间间隔实时更新输出插入的UTC时间;
所述时间戳插入频次,用于设置包括在每帧都插入、只在I帧插入在内的选项;
所述是否保留源流UTC信息,用于判断是否需要包括源流UTC信息,当选择保留时,应用于输入流已经包含有之前插入的UTC时间戳,本次转码任务需保留输入流对应帧之前标定的时间戳的应用场景。
2.根据权利要求1所述的用于直播流的时间戳标定方法,其特征在于,还包括:
所述时间戳标定,使用直播流对应的视频码流中定义的SEI类型的NAL单元,选用其中的未注册的用户数据类型的SEI,用于存储当前直播流的时间戳标定信息;
所述时间戳标定信息中定义了包括时间戳插入频次、是否保留源流UTC信息、直播流初始UTC信息在内的标定信息的json格式的字符串。
3.根据权利要求2所述的用于直播流的时间戳标定方法,其特征在于,还包括:
所述时间戳标定信息中,还定义了用于身份鉴定的UUID唯一标识码,只有所述UUID唯一标识码符合预定的可以进行时间戳标定的用户时,才可以进行后续的标定工作,否则直接封装输出。
4.根据权利要求3所述的用于直播流的时间戳标定方法,其特征在于,还包括:转码的具体流程,包括以下步骤:
对输入的直播流进行解封装,后对解封装后的视频码流进行解码、编码;
取出所述标定参数,根据所述时间戳插入频次判断需要标定的帧;
对于需要标定的帧,判断是否保留源UTC信息;
若保留,则直接取出并插入当前帧保存的时间戳;
若不保留,则判断是否为首次插入,若为首次插入,则取所述标定参数中的所述起始UTC时间作为当前帧的时间戳,当所述起始UTC时间为无效值时,取实时北京UTC时间作为当前帧的时间戳,且保存当前系统时间作为基准时间;若不为首次插入,取首次插入时保存的时间戳,加上当前系统时间减去系统时间;
插入完成后,按照码流规范与当前帧一起封装写入到输入流中。
5.根据权利要求1所述的用于直播流的时间戳标定方法,其特征在于,还包括:
在所述转码进程运行的过程中,对直播转码过程进行实时校准,动态修改所述标定参数。
6.根据权利要求5所述的用于直播流的时间戳标定方法,其特征在于,对直播转码过程进行实时校准,具体为:
在所述转码进程启动时,同时启动一个监听HTTP请求线程;
通过所述监听HTTP请求线程,所述转码服务后台在转码过程不中断的情况下,实时监听用于校准所述标定参数的HTTP请求;
在所述转码进行接收到校准的所述标定参数后,在对下一帧进行编码时生效。
7.一种如权利要求1-6任一项所述的用于直播流的时间戳标定方法对应的系统,具体包括:
转码任务建立模块,用于建立直播转码任务,并选择使用时间戳标定功能,同时设定用于时间戳标定的包括UUID值,起始UTC时间、时间戳插入频次、是否保留源流UTC信息在内的标定参数;
标定任务执行模块,用于当转码服务后台接收到所述直播转码任务后,启动转码进程的同时启动标定任务,根据所述时间戳插入频次确定直播流中需要标定的帧,进而根据所述是否保留源流UTC信息选择包括所述起始UTC时间、当前帧的UTC时间、实时北京UTC时间在内的任意一个对需要标定的帧进行时间戳标定;
成功信息返回模块,用于当转码成功后,所述转码进程返回转码成功信息至所述转码服务后台,进而所述转码服务后台将标定成功信息返回;
所述标定参数中,各参数具体作用如下:
所述UUID值,用于身份鉴别,只有符合预设身份的用户才能对直播流进行时间戳标定;
所述起始UTC时间,用于对时间戳进行校准,当选择不保留源流UTC信息时,使用所述起始UTC时间作为对直播流中的帧进行时间戳标定的开始时间时间,后根据输出流相邻帧时间间隔实时更新输出插入的UTC时间;
所述时间戳插入频次,用于设置包括在每帧都插入、只在I帧插入在内的选项;
所述是否保留源流UTC信息,用于判断是否需要包括源流UTC信息,当选择保留时,应用于输入流已经包含有之前插入的UTC时间戳,本次转码任务需保留输入流对应帧之前标定的时间戳的应用场景。
8.一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集、所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由所述处理器加载并执行以实现如权利要求1-6任一项所述的用于直播流的时间戳标定方法。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的用于直播流的时间戳标定方法。
CN202011072533.2A 2020-10-09 2020-10-09 一种用于直播流的时间戳标定方法及系统 Active CN112188286B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011072533.2A CN112188286B (zh) 2020-10-09 2020-10-09 一种用于直播流的时间戳标定方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011072533.2A CN112188286B (zh) 2020-10-09 2020-10-09 一种用于直播流的时间戳标定方法及系统

Publications (2)

Publication Number Publication Date
CN112188286A CN112188286A (zh) 2021-01-05
CN112188286B true CN112188286B (zh) 2022-06-10

Family

ID=73948309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011072533.2A Active CN112188286B (zh) 2020-10-09 2020-10-09 一种用于直播流的时间戳标定方法及系统

Country Status (1)

Country Link
CN (1) CN112188286B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113163222A (zh) * 2021-03-31 2021-07-23 杭州奥点科技股份有限公司 一种视频帧同步方法、系统、设备及可读存储介质
CN113365128B (zh) * 2021-06-02 2023-04-28 佛山市青松科技股份有限公司 多led显示屏同步播放方法、系统及led显示设备
EP4364479A1 (en) * 2021-06-28 2024-05-08 Ofinno, LLC Timing resiliency service
CN114339290A (zh) * 2021-12-30 2022-04-12 杭州当虹科技股份有限公司 大屏管理子系统、大屏同步播放系统和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101989429A (zh) * 2009-07-31 2011-03-23 华为技术有限公司 转码方法、装置、设备以及系统
CN103457790A (zh) * 2013-08-16 2013-12-18 北京华为数字技术有限公司 一种时戳的标记方法及时戳的检测方法、装置和系统
CN104394485A (zh) * 2012-08-21 2015-03-04 华为技术有限公司 视频流的帧类型检测、帧大小检测方法及装置
CN104618798A (zh) * 2015-02-12 2015-05-13 北京清源新创科技有限公司 面向互联网视频直播的播放时刻控制方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1954054A1 (en) * 2007-02-02 2008-08-06 Thomson Licensing System and method for transporting interactive marks
US9191671B2 (en) * 2012-04-19 2015-11-17 Vid Scale, Inc. System and method for error-resilient video coding
US10720187B2 (en) * 2015-09-29 2020-07-21 International Business Machines Corporation Method and apparatus to extract key video frames from online education

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101989429A (zh) * 2009-07-31 2011-03-23 华为技术有限公司 转码方法、装置、设备以及系统
CN104394485A (zh) * 2012-08-21 2015-03-04 华为技术有限公司 视频流的帧类型检测、帧大小检测方法及装置
CN103457790A (zh) * 2013-08-16 2013-12-18 北京华为数字技术有限公司 一种时戳的标记方法及时戳的检测方法、装置和系统
CN104618798A (zh) * 2015-02-12 2015-05-13 北京清源新创科技有限公司 面向互联网视频直播的播放时刻控制方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"一种可实现高精度时间同步的数据传输方法";杨冯帆,常劲帆,王铮;《计算机工程》;20190718;全文 *

Also Published As

Publication number Publication date
CN112188286A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN112188286B (zh) 一种用于直播流的时间戳标定方法及系统
CN108200447B (zh) 直播数据传输方法、装置、电子设备、服务器及存储介质
CN107634930B (zh) 一种媒体数据的获取方法和装置
US20080172712A1 (en) Multimedia data transmitting apparatus, multimedia data receiving apparatus, multimedia data transmitting method, and multimedia data receiving method
US8774413B2 (en) Method and apparatus for processing entitlement control message packets
US11223856B2 (en) Method for processing streaming media data and server for processing streaming media
US10476928B2 (en) Network video playback method and apparatus
US20240054723A1 (en) Data processing method and apparatus, communication node and storage medium
US20240179100A1 (en) Transmission device, transmission method, reception device, and reception method
CN112565224B (zh) 一种视频处理方法及装置
US7693148B2 (en) Digital broadcast receiving apparatus and communication information transmitting method
US9936266B2 (en) Video encoding method and apparatus
EP4329306A1 (en) Methods and apparatuses for processing code stream, terminal device, and storage medium
CN108810575B (zh) 一种发送目标视频的方法和装置
RU2467506C2 (ru) Управление потоком расширенного медиа
CN114285836B (zh) 一种视频播放方法、装置及介质
CN100512403C (zh) 在以录制模式运行的系统中改变频道的方法和装置
WO2016090916A1 (zh) 码流传输方法和装置
KR20190008204A (ko) 수신 장치 및 데이터 처리 방법
WO2023078048A1 (zh) 视频比特流封装、解码、访问方法及装置
JP2006033812A (ja) 補助プログラムを管理する方法及び対応する受信器とシステム
CN112243159A (zh) 基于dvb的数据处理、读取方法及服务器、终端以及系统
CN115048242B (zh) 适用于嵌入式的媒体文件录制错误的修复方法及相关设备
CN113747171B (zh) 一种自恢复的视频解码方法
US11805293B2 (en) Device and method for transmitting and receiving signal in multimedia system

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