CN113630643B - 媒体流收录方法、装置及计算机存储介质、电子设备 - Google Patents

媒体流收录方法、装置及计算机存储介质、电子设备 Download PDF

Info

Publication number
CN113630643B
CN113630643B CN202010387830.XA CN202010387830A CN113630643B CN 113630643 B CN113630643 B CN 113630643B CN 202010387830 A CN202010387830 A CN 202010387830A CN 113630643 B CN113630643 B CN 113630643B
Authority
CN
China
Prior art keywords
stream
media stream
segment
input media
recording
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
CN202010387830.XA
Other languages
English (en)
Other versions
CN113630643A (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.)
China Central TV Station
Original Assignee
China Central TV Station
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 China Central TV Station filed Critical China Central TV Station
Priority to CN202010387830.XA priority Critical patent/CN113630643B/zh
Publication of CN113630643A publication Critical patent/CN113630643A/zh
Application granted granted Critical
Publication of CN113630643B publication Critical patent/CN113630643B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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

Abstract

媒体流收录方法、装置及计算机存储介质、电子设备,包括:获取输入媒体流;对输入媒体流进行解复用,得到数据帧和时间戳;利用所述输入媒体流中的主动流同步所述输入媒体流中的被动流,根据所述时间戳得到每个数据帧对应的本地时间;根据预设的收录分段列表中的收录分段的起止时间以及所述输入媒体流的每个数据帧对应的本地时间,确定分段文件并收录对应的媒体流。本申请中的方案,采用多码率收录,一次收录一次发布,无需再经过转码环节,在视频质量和发布效率方面优势明显。

Description

媒体流收录方法、装置及计算机存储介质、电子设备
技术领域
本申请涉及帧同步收录技术,具体地,涉及一种媒体流收录方法、装置及计算机存储介质、电子设备。
背景技术
随着互联网的快速发展,节目的形态从原来的以录播为主体,逐渐过渡为直播结合录播的方式。而针对直播的收录技术也就相应的诞生,通常用户希望直播完成后,或在直播的过程中进行直播内容的相关剪辑处理,并且要求直播完成后能快速高效的发布到互联网上。这就需要解决效率、多码率输出、质量等问题。
电视台的收录系统一般都是基于SDI方式,支持通过SDI输入,输出生产本地文件,支持输出多码率,但是由于采用的是全编码压缩方式,对物理机的资源消耗非常严重,单台设备能收录的路数非常有限,甚至很多厂商为了解决资源问题需要用GPU辅助,这样在资源消耗和成本造价上比较高,同时无法在云资源部署应用。
随着IP网络化发展,相关网络IP协议的收录系统也就出现了,它们支持RTMP/UDP/HLS等多种协议,但基本都不进行编码处理,只进行封装处理,因此大部分厂商都不支持多码率帧同步的收录方式,一般都是采用单码率收录,在发布环节再转码输出多码率,这样不仅质量损失严重,同时效率相对低下。
现有技术中存在的问题:
目前基于IP的收录系统质量损失严重且效率低下。
发明内容
本申请实施例中提供了一种媒体流收录方法、装置及计算机存储介质、电子设备,以解决上述技术问题。
根据本申请实施例的第一个方面,提供了一种媒体流收录方法,包括如下步骤:
获取输入媒体流;
对输入媒体流进行解复用,得到数据帧和时间戳;
利用所述输入媒体流中的主动流同步所述输入媒体流中的被动流,根据所述时间戳得到每个数据帧对应的本地时间;
根据预设的收录分段列表中的收录分段的起止时间以及所述输入媒体流的每个数据帧对应的本地时间,确定分段文件并收录对应的媒体流。
根据本申请实施例的第二个方面,提供了一种媒体流收录装置,包括:
获取模块,用于获取输入媒体流;
解复用模块,用于对输入媒体流进行解复用,得到数据帧和时间戳;
同步模块,用于利用所述输入媒体流中的主动流同步所述输入媒体流中的被动流,根据所述时间戳得到每个数据帧对应的本地时间;
分段模块,用于根据预设的收录分段列表中的收录分段的起止时间以及所述输入媒体流的每个数据帧对应的本地时间,确定分段文件;
收录模块,用于根据确定的分段文件收录对应的媒体流。
根据本申请实施例的第三个方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述媒体流收录方法的步骤。
根据本申请实施例的第四个方面,提供了一种电子设备,包括存储器、以及一个或多个处理器,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如上所述的媒体流收录方法。
采用本申请实施例中提供的媒体流收录方法、装置及计算机存储介质、电子设备,采用了多码率帧同步收录技术设计,实现针对直播流快速收录、快速剪辑、快速合成以及快速发布的过程,本申请实施例所提供的基于IP的多码率收录,采用多码率收录,一次收录一次发布,无需再经过转码环节,在视频质量和发布效率方面优势明显。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了理想场景下多码率收录的节目分段示意图;
图2示出了实际场景下多码率收录的节目分段示意图;
图3示出了本申请实施例一中媒体流收录方法实施的流程示意图;
图4示出了本申请实施例二中媒体流收录装置的结构示意图;
图5示出了本申请实施例四中电子设备的结构示意图;
图6示出了本申请实施例五中新媒体集成发布平台的架构示意图;
图7示出了本申请实施例五中解复用过程示意图;
图8示出了本申请实施例五中节目分段确定示意图;
图9示出了本申请实施例五中多码率收录分段文件存储示意图。
具体实施方式
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
多码率收录是目前收录应用的重要场景,需要在同一个收录任务中,将多个不同码率的实时媒体流进行分段收录保存。要求输入的实时媒体流,图像组(GOP,group ofpictures)结构一致,时间戳一致。
图1示出了理想场景下多码率收录的节目分段示意图。
如图所示,三个实时媒体流,码率分别为450k、850k、2m,在节目1的起始时间和结束时间范围内收录的是节目1的数据帧,在节目2的起始时间和结束时间范围内收录的是节目2的数据帧,在节目3的起始时间和结束时间范围内收录的是节目3的数据帧。
图2示出了实际场景下多码率收录的节目分段示意图。
如图所示,三个实时媒体流,码率分别为450k、850k、2m,在分段1的起始时间和结束时间范围内收录的并不完全是节目1的数据帧且缺失节目1的部分数据帧,在分段2的起始时间和结束时间范围内收录的并不完全是节目2的数据帧且缺失节目2的部分数据帧,在分段3的起始时间和结束时间范围内收录的并不完全是节目3的数据帧且缺失节目3的部分数据帧。
对比图1和图2可以看出,三个实时媒体流因为网络发送接收不同、程序处理过程差异等原因,不能够按照本地时间对节目1、节目2、节目3进行分段处理,否则就会造成生成的分段文件多帧或少帧。
本申请实施例提出了如下解决方案。
实施例一
图3示出了本申请实施例一中媒体流收录方法实施的流程示意图。
如图所示,所述媒体流收录方法包括:
步骤301、获取输入媒体流;
步骤302、对输入媒体流进行解复用,得到数据帧和时间戳;
步骤303、利用所述输入媒体流中的主动流同步所述输入媒体流中的被动流,根据所述时间戳得到每个数据帧对应的本地时间;
步骤304、根据预设的收录分段列表中的收录分段的起止时间以及所述输入媒体流的每个数据帧对应的本地时间,确定分段文件并收录对应的媒体流。
本申请实施例中所述输入媒体流包括多个流,所述多个流可以包括主动流和被动流,主动流为发出同步的媒体流,其他被同步的媒体流称为被动流,每个流包括若干数据帧。
具体实施时,可将第一个解析得到的I帧的媒体流作为主动流,如果主动流超过预设时间没有流,则将其他被动流切换作为主动流。
在一种实施方式中,同一媒体流的码率相同。
在一种实施方式中,每个媒体流分别对应为一个节目。
在一种实施方式中,主动流为一个,被动流为一个或多个。
每个数据帧对应有时间戳。
本申请实施例中可以预先设置收录分段列表,所述收录分段列表中可以包括多个收录分段,每个收录分段包括起始时间和终止时间的一段数据。
在一种实施方式中,每个收录分段分别对应一个节目。
采用本申请实施例中提供的媒体流收录方法,采用了多码率帧同步收录技术设计,实现针对直播流快速收录、快速剪辑、快速合成以及快速发布的过程,本申请实施例所提供的基于IP的多码率收录,采用多码率收录,一次收录一次发布,无需再经过转码环节,在视频质量和发布效率方面优势明显。
在一种实施方式中,所述利用所述输入媒体流中的主动流同步所述输入媒体流中的被动流,根据所述时间戳得到每个数据帧对应的本地时间,包括:
针对所述输入媒体流中的主动流的图像组GOP的关键帧计算所述关键帧的时间戳和本地时间之间的差值;
对所述输入媒体流中的主动流的每帧数据根据所述差值和每帧数据的时间戳反向计算每帧数据的本地时间;以及,对所述输入媒体流中的被动流的每帧数据根据所述差值和每帧数据的时间戳反向计算每帧数据的本地时间。
具体实施时,本申请实施例针对CloseGOP情况,媒体流(主动流或被动流)为由连续画面、经过压缩生成的数据包构成,每个数据包具有不同的DTS(Decode Time Stamp)。连续数据包又被切分成GOP序列,每个GOP可独立编码、不依赖其他GOP,每个GOP中包括有关键帧。不同GOP中的关键帧对应不同的没有压缩的画面,压缩后的数据不同、DTS也不同。
下面以一具体计算实例进行说明:
假设主动流的某个GOP为:a1 a2 a3 a4 a5 a6 a7 a8 a9 a10,对应的DTS依次为:dts1 dts2 dts3 dts4 dts5 dts6 dts7 dts8 dts9 dts10;
当程序解析出dts1这个关键帧的时候,假设本地时间为local1,那么此时主动流时间戳和本地时间差则为delta=dts1-local1;
同时,被动流对应的GOP为:b1 b2 b3 b4 b5 b6 b7 b8 b9 b10,被动流具有和主动流对应GOP完全一样的dts,但程序在解析被动流的时候,本地时间不一定和主动流解析对应GOP中同样dts帧对应的本地时间一致,本申请实施例可以通过之前计算得到的delta以及被动流的dts推算得到对应的本地时间,例如:对应的被动流的dts1的本地时间为local1(被动流)=dts1(被动流)-delta。
在一种实施方式中,进一步包括:
在获取的输入媒体流是主动流时,更新所述输入媒体流中的主动流的图像组GOP的关键帧的时间戳和本地时间之间的差值。
在一种实施方式中,所述根据预设的收录分段列表中的收录分段的起止时间以及所述输入媒体流的每个数据帧对应的本地时间,确定分段文件,包括:
任意流检测到关键帧对应的本地时间大于等于预设的收录分段列表中的分段的起始时间时开启新的分段文件,同时更新该分段对应的起始时间为该关键帧对应的本地时间,设置该分段为当前收录分段;其他流检测到关键帧对应的本地时间大于等于当前收录分段的起始时间时开启新的分段文件;
任意流检测到关键帧对应的本地时间大于等于当前收录分段的结束时间时关闭分段文件,同时更新当前分段的时间为关键帧对应的本地时间,设置当前分段状态中该流对应的结束标志;其他流检测到关键帧对应的本地时间大于等于当前收录分段的结束时间时关闭分段文件,设置当前分段状态中该流对应的结束标志。
具体实施时,可以利用当前主动流每个关键帧的DTS反算得到该主动流时间戳对应的本地时间,根据这个本地时间在任务列表中的分段,确定是否开启新的任务分段。
在一种实施方式中,所述输入媒体流包括多个不同码率的流。
具体实施时,所述输入媒体流包括多个流,每个流之间的码率可以不同,例如:所述输入媒体流包括媒体流1、媒体流2,所述媒体流1和2的码率不同;又如:所述输入媒体流包括媒体流1、媒体流2、媒体流3,所述媒体流1和媒体流3的码率相同、媒体流2的码率与媒体流1、2不同,或者,媒体流1、2、3的码率各不相同。
实施例二
基于同一发明构思,本申请实施例提供了一种媒体流收录装置,该装置解决技术问题的原理与一种媒体流收录方法相似,重复之处不再赘述。
图4示出了本申请实施例二中媒体流收录装置的结构示意图。
如图所示,所述媒体流收录装置包括:
获取模块401,用于获取输入媒体流;
解复用模块402,用于对输入媒体流进行解复用,得到数据帧和时间戳;
同步模块403,用于利用所述输入媒体流中的主动流同步所述输入媒体流中的被动流,根据所述时间戳得到每个数据帧对应的本地时间;
分段模块404,用于根据预设的收录分段列表中的收录分段的起止时间以及所述输入媒体流的每个数据帧对应的本地时间,确定分段文件;
收录模块405,用于根据确定的分段文件收录对应的媒体流。
采用本申请实施例中提供的媒体流收录装置,采用了多码率帧同步收录技术设计,实现针对直播流快速收录、快速剪辑、快速合成以及快速发布的过程,本申请实施例所提供的基于IP的多码率收录,采用多码率收录,一次收录一次发布,无需再经过转码环节,在视频质量和发布效率方面优势明显。
在一种实施方式中,所述同步模块,包括:
第一计算单元,用于针对所述输入媒体流中的主动流的图像组GOP的关键帧计算所述关键帧的时间戳和本地时间之间的差值;
第二计算单元,用于对所述输入媒体流中的主动流的每帧数据根据所述差值和每帧数据的时间戳反向计算每帧数据的本地时间;以及,对所述输入媒体流中的被动流的每帧数据根据所述差值和每帧数据的时间戳反向计算每帧数据的本地时间。
在一种实施方式中,所述同步模块,进一步包括:
更新单元,用于在获取的输入媒体流是主动流时,更新所述输入媒体流中的主动流的图像组GOP的关键帧的时间戳和本地时间之间的差值。
在一种实施方式中,所述分段模块,包括:
起始时间确定单元,用于任意流检测到关键帧对应的本地时间大于等于预设的收录分段列表中的分段的起始时间时开启新的分段文件,同时更新该分段对应的起始时间为该关键帧对应的本地时间,设置该分段为当前收录分段;其他流检测到关键帧对应的本地时间大于等于当前收录分段的起始时间时开启新的分段文件;
结束时间确定单元,用于任意流检测到关键帧对应的本地时间大于等于当前收录分段的结束时间时关闭分段文件,同时更新当前分段的时间为关键帧对应的本地时间,设置当前分段状态中该流对应的结束标志;其他流检测到关键帧对应的本地时间大于等于当前收录分段的结束时间时关闭分段文件,设置当前分段状态中该流对应的结束标志。
在一种实施方式中,所述输入媒体流包括多个不同码率的流。
实施例三
基于同一发明构思,本申请实施例还提供一种计算机存储介质,下面进行说明。
所述计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如实施例一所述方法的步骤。
采用本申请实施例中提供的计算机存储介质,采用了多码率帧同步收录技术设计,实现针对直播流快速收录、快速剪辑、快速合成以及快速发布的过程,本申请实施例所提供的基于IP的多码率收录,采用多码率收录,一次收录一次发布,无需再经过转码环节,在视频质量和发布效率方面优势明显。
实施例四
基于同一发明构思,本申请实施例还提供一种电子设备,下面进行说明。
图5示出了本申请实施例四中电子设备的结构示意图。
如图所示,所述电子设备包括存储器501、以及一个或多个处理器502,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如实施例一所述的方法。
采用本申请实施例中提供的电子设备,采用了多码率帧同步收录技术设计,实现针对直播流快速收录、快速剪辑、快速合成以及快速发布的过程,本申请实施例所提供的基于IP的多码率收录,采用多码率收录,一次收录一次发布,无需再经过转码环节,在视频质量和发布效率方面优势明显。
实施例五
为了便于本申请的实施,本申请实施例以一具体实例进行说明。
图6示出了本申请实施例五中新媒体集成发布平台的架构示意图。
如图所示,多码率帧同步收录是整个新媒体集成发布平台里面非常重要的环节,它是直播流转向点播文件的重要环节,从信号源,到直播管理的直播单生成多码率直播编码任务,到多码率的帧同步的直播收录任务,实现直播流落地成文件的过程,同时实现多码率的直播流帧同步收录成碎片文件,收录落地的文件碎片化时长可通过用户自定义指定,是分钟级别也可以是秒级别。
本申请实施例的多码率收录过程包括:
1、对输入实时媒体流进行解复用
图7示出了本申请实施例五中解复用过程示意图。
针对不同格式的媒体流使用不同的解复用模块,例如:MpegFormat对TSOverUdp或者HLS媒体流进行解复用,RtmpFormat对Rtmp媒体流进行解复用,解复用后得到音视频数据帧和Dts时间戳。
2、使用某个媒体流去同步其他的媒体流
图8示出了本申请实施例五中节目分段确定示意图。
收录软件针对每个节目设置收录分段。每个收录任务对应多个收录分段,组成收录分段列表。分段列表按照分段的起始时间和结束时间进行排序。各个收录分段的起始时间和结束之间组成的区间不重叠。对应某个收录分段,多个流共享同一个起始时间和结束时间。
主动流,针对GOP的关键帧,计算DTS时间戳和本地时间之间的差值,记为Delta。
主动流,对每一帧数据,依据主动流计算并不断更新的Delta,依据DTS时间戳,反向计算出本地时间,记为Local`;
被动流,对每一帧数据,依据主动流计算并不断更新的Delta,依据DTS时间戳,反向计算出本地时间,记为Local`。
主动流和被动流都通过Local`来决定是否在关键帧分段。
3、确定多个流节目分段的起始时间和结束时间,保存Mp4文件
图9示出了本申请实施例五中多码率收录分段文件存储示意图。
任何流先检测到关键帧对应的Local`大于或等于分段列表中某个分段的起始时间,开启新的分段文件,同时更新该分段对应的起始时间为该关键帧对应的Local`,并设置该分段为当前收录分段。其余流,检测关键帧对应的Local`是否大于等于当前收录分段的起始时间。如果大于当前收录分段的起始时间,开启新的分段文件。
同理,对于收录分段的结束时间,任何流检测到关键帧对应的Local`大于等于当前收录分段的结束时间,关闭分段文件,同时更新当前分段的时间为关键帧对应的Local`,并设置当前分段状态中该流对应的结束标志。其余流,检测关键帧对应的Local`是否大于等于当前收录分段的结束时间。如果大于等于当前收录的结束时间,关闭分段文件,并设置当前分段状态中该流对应的结束标志。如果当前分段所有流对应的结束标志都已经被设置,则结束当前收录分段的收录,并设置当前收录文段为空。
本申请具有以下优点:
1、多码率收录高效发布:目前国内外的IP收录系统都支持不同协议包括RTMP/HLS/UDP等协议的收录,但都是针对单码率进行收录,单码率收录完成后,再在发布环节进行多码率转码,这样整体的发布效率相对比较低。而新媒体集成发布平台的IP收录系统,是采用多码率收录,一次收录一次发布,无需再经过转码环节,在视频质量和发布效率方面有优势明显。
2、多码率帧同步处理,新媒体集成发布平台的多码率收录系统,采用的多个码率的流同时输入,多码流之间建立时间同步时钟,结合收录服务器的本地时钟以及TS流的时间戳形成全局时间标识,各个码流建立全局统一的时间戳timeline标准,针对不同的流突发情况进行统一处理,包括丢包、乱序、时间戳反转及时间戳突变进行统一处理,保证多码率落地文件的内容和时间戳的一致性。
3、视频质量高,因为采用的是原始的视频收录,并且是基于源进行的多码率编码,所以质量无损失。而目前流行的IP收录系统,针对的是单码流的收录,然后在发布环节进行多码率转码,相当于进行了二次转码的过程,视频质量损失严重,尤其针对体育赛事类运动剧烈的画面节目,质量损失更加严重。
4、新技术支持,支持杜比Atmos的收录,并且支持H.264和H.265的帧同步收录处理。而目前流行的IP收录系统,都不支持此项技术。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种媒体流收录方法,其特征在于,包括:
获取输入媒体流,其中,所述输入媒体流包括多个流,所述多个流包括主动流和被动流,每个流包括若干数据帧;
对输入媒体流进行解复用,得到数据帧和时间戳;
利用所述输入媒体流中的主动流同步所述输入媒体流中的被动流,根据所述时间戳得到每个数据帧对应的本地时间;
根据预设的收录分段列表中的收录分段的起止时间以及所述输入媒体流的每个数据帧对应的本地时间,确定分段文件并收录对应的媒体流;
其中,所述利用所述输入媒体流中的主动流同步所述输入媒体流中的被动流,根据所述时间戳得到每个数据帧对应的本地时间,包括:
针对所述输入媒体流中的主动流的图像组GOP的关键帧计算所述关键帧的时间戳和本地时间之间的差值;
对所述输入媒体流中的主动流的每帧数据根据所述差值和每帧数据的时间戳反向计算每帧数据的本地时间;以及,对所述输入媒体流中的被动流的每帧数据根据所述差值和每帧数据的时间戳反向计算每帧数据的本地时间。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
在获取的输入媒体流是主动流时,更新所述输入媒体流中的主动流的图像组GOP的关键帧的时间戳和本地时间之间的差值。
3.根据权利要求1所述的方法,其特征在于,所述根据预设的收录分段列表中的收录分段的起止时间以及所述输入媒体流的每个数据帧对应的本地时间,确定分段文件,包括:
任意流检测到关键帧对应的本地时间大于等于预设的收录分段列表中的分段的起始时间时开启新的分段文件,同时更新该分段对应的起始时间为该关键帧对应的本地时间,设置该分段为当前收录分段;其他流检测到关键帧对应的本地时间大于等于当前收录分段的起始时间时开启新的分段文件;
任意流检测到关键帧对应的本地时间大于等于当前收录分段的结束时间时关闭分段文件,同时更新当前分段的时间为关键帧对应的本地时间,设置当前分段状态中该流对应的结束标志;其他流检测到关键帧对应的本地时间大于等于当前收录分段的结束时间时关闭分段文件,设置当前分段状态中该流对应的结束标志。
4.根据权利要求1所述的方法,其特征在于,所述输入媒体流包括多个不同码率的流。
5.一种媒体流收录装置,其特征在于,包括:
获取模块,用于获取输入媒体流,其中,所述输入媒体流包括多个流,所述多个流包括主动流和被动流,每个流包括若干数据帧;
解复用模块,用于对输入媒体流进行解复用,得到数据帧和时间戳;
同步模块,用于利用所述输入媒体流中的主动流同步所述输入媒体流中的被动流,根据所述时间戳得到每个数据帧对应的本地时间;
分段模块,用于根据预设的收录分段列表中的收录分段的起止时间以及所述输入媒体流的每个数据帧对应的本地时间,确定分段文件;
收录模块,用于根据确定的分段文件收录对应的媒体流;
其中,所述同步模块,包括:
第一计算单元,用于针对所述输入媒体流中的主动流的图像组GOP的关键帧计算所述关键帧的时间戳和本地时间之间的差值;
第二计算单元,用于对所述输入媒体流中的主动流的每帧数据根据所述差值和每帧数据的时间戳反向计算每帧数据的本地时间;以及,对所述输入媒体流中的被动流的每帧数据根据所述差值和每帧数据的时间戳反向计算每帧数据的本地时间。
6.根据权利要求5所述的装置,其特征在于,所述同步模块,进一步包括:
更新单元,用于在获取的输入媒体流是主动流时,更新所述输入媒体流中的主动流的图像组GOP的关键帧的时间戳和本地时间之间的差值。
7.根据权利要求5所述的装置,其特征在于,所述分段模块,包括:
起始时间确定单元,用于任意流检测到关键帧对应的本地时间大于等于预设的收录分段列表中的分段的起始时间时开启新的分段文件,同时更新该分段对应的起始时间为该关键帧对应的本地时间,设置该分段为当前收录分段;其他流检测到关键帧对应的本地时间大于等于当前收录分段的起始时间时开启新的分段文件;
结束时间确定单元,用于任意流检测到关键帧对应的本地时间大于等于当前收录分段的结束时间时关闭分段文件,同时更新当前分段的时间为关键帧对应的本地时间,设置当前分段状态中该流对应的结束标志;其他流检测到关键帧对应的本地时间大于等于当前收录分段的结束时间时关闭分段文件,设置当前分段状态中该流对应的结束标志。
8.根据权利要求5所述的装置,其特征在于,所述输入媒体流包括多个不同码率的流。
9.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一所述方法的步骤。
10.一种电子设备,其特征在于,包括存储器、以及一个或多个处理器,所述存储器用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行时,实现如权利要求1至4任一所述的方法。
CN202010387830.XA 2020-05-09 2020-05-09 媒体流收录方法、装置及计算机存储介质、电子设备 Active CN113630643B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010387830.XA CN113630643B (zh) 2020-05-09 2020-05-09 媒体流收录方法、装置及计算机存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010387830.XA CN113630643B (zh) 2020-05-09 2020-05-09 媒体流收录方法、装置及计算机存储介质、电子设备

Publications (2)

Publication Number Publication Date
CN113630643A CN113630643A (zh) 2021-11-09
CN113630643B true CN113630643B (zh) 2023-10-20

Family

ID=78377508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010387830.XA Active CN113630643B (zh) 2020-05-09 2020-05-09 媒体流收录方法、装置及计算机存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN113630643B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005027068A1 (en) * 2003-09-12 2005-03-24 Canon Kabushiki Kaisha Streaming non-continuous video data
CN1985321A (zh) * 2004-02-27 2007-06-20 学校法人大洋学园 存储多媒体数据的存储介质以及再现该多媒体数据的方法和设备
CN101198069A (zh) * 2007-12-29 2008-06-11 惠州华阳通用电子有限公司 一种地面广播数字电视接收装置、音视频同步方法及系统
CN101753200A (zh) * 2008-11-27 2010-06-23 索尼株式会社 通信设备、通信方法、程序和通信系统
CN102215429A (zh) * 2010-04-01 2011-10-12 安凯(广州)微电子技术有限公司 一种用于移动电视的录制方法
CN104704732A (zh) * 2012-05-18 2015-06-10 弗罗纽斯国际有限公司 用于调节电流源的方法以及用于此的电流源和过程调节器
CN106911941A (zh) * 2017-03-02 2017-06-30 上海幻电信息科技有限公司 一种自适应视频切片方法
CN108122558A (zh) * 2017-12-22 2018-06-05 深圳国微技术有限公司 一种latm aac音频流的实时转容实现方法及装置
CN108347625A (zh) * 2018-03-09 2018-07-31 北京数码视讯软件技术发展有限公司 一种ts流媒体定位的方法和装置
CN109729391A (zh) * 2018-12-18 2019-05-07 北京华夏电通科技有限公司 一种多路媒体流的发送方法及系统
AU2019229391A1 (en) * 2018-09-12 2020-03-26 Zuma Beach Ip Pty Ltd Method and system for generating interactive media content
CN110941594A (zh) * 2019-12-16 2020-03-31 北京奇艺世纪科技有限公司 一种视频文件的拆分方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7630902B2 (en) * 2004-09-17 2009-12-08 Digital Rise Technology Co., Ltd. Apparatus and methods for digital audio coding using codebook application ranges
US20090119706A1 (en) * 2005-12-16 2009-05-07 Stepframe Media, Inc. Generation and Delivery of Stepped-Frame Content Via MPEG Transport Streams
US20090262238A1 (en) * 2005-12-16 2009-10-22 Stepframe Media, Inc. Generation And Delivery of Stepped-Frame Content Via MPEG Transport Streams
KR101369745B1 (ko) * 2007-04-11 2014-03-07 삼성전자주식회사 비동기화된 비트스트림들의 다중화 및 역다중화 방법 및장치

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005027068A1 (en) * 2003-09-12 2005-03-24 Canon Kabushiki Kaisha Streaming non-continuous video data
CN1985321A (zh) * 2004-02-27 2007-06-20 学校法人大洋学园 存储多媒体数据的存储介质以及再现该多媒体数据的方法和设备
CN101198069A (zh) * 2007-12-29 2008-06-11 惠州华阳通用电子有限公司 一种地面广播数字电视接收装置、音视频同步方法及系统
CN101753200A (zh) * 2008-11-27 2010-06-23 索尼株式会社 通信设备、通信方法、程序和通信系统
CN102215429A (zh) * 2010-04-01 2011-10-12 安凯(广州)微电子技术有限公司 一种用于移动电视的录制方法
CN104704732A (zh) * 2012-05-18 2015-06-10 弗罗纽斯国际有限公司 用于调节电流源的方法以及用于此的电流源和过程调节器
CN106911941A (zh) * 2017-03-02 2017-06-30 上海幻电信息科技有限公司 一种自适应视频切片方法
CN108122558A (zh) * 2017-12-22 2018-06-05 深圳国微技术有限公司 一种latm aac音频流的实时转容实现方法及装置
CN108347625A (zh) * 2018-03-09 2018-07-31 北京数码视讯软件技术发展有限公司 一种ts流媒体定位的方法和装置
AU2019229391A1 (en) * 2018-09-12 2020-03-26 Zuma Beach Ip Pty Ltd Method and system for generating interactive media content
CN109729391A (zh) * 2018-12-18 2019-05-07 北京华夏电通科技有限公司 一种多路媒体流的发送方法及系统
CN110941594A (zh) * 2019-12-16 2020-03-31 北京奇艺世纪科技有限公司 一种视频文件的拆分方法、装置、电子设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Meaningful automatic video demultiplexing with unknown number of cameras, contrast changes, and motion;J.L. Lisani;IEEE Conference on Advanced Video and Signal Based Surveillance;全文 *
一种实时TS流视频信息快速浏览方法的研究与实现;李煌 刘振中 田娅;《信息工程大学学报》;第12卷(第6期);全文 *
数字音视频码流的分割及合并技术研究;翁超;中国优秀硕士学位论文全文数据库;全文 *

Also Published As

Publication number Publication date
CN113630643A (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
CN100364339C (zh) 执行代码转换前后保持定时参数的代码转换系统
US9286940B1 (en) Video editing with connected high-resolution video camera and video cloud server
CN106993239B (zh) 直播过程中的信息显示方法
TWI544791B (zh) 經由寬頻網路所接收第二節目內容之解碼方法及解碼器裝置
JP3666625B2 (ja) データ記録方法およびデータ記録装置
US20150181003A1 (en) Method and apparatus for transmitting and receiving packets in hybrid transmission service of mmt
CN107005729A (zh) 用于多媒体和文件传输的传输接口
KR100482287B1 (ko) 디지털 데이터 방송을 위한 동기화 스트림 데이터 삽입장치 및 그 방법
WO2008061416A1 (fr) Procédé et système permettant d'accepter des données media de divers formats de codage
CN105359449B (zh) 发送方法、接收方法、发送装置以及接收装置
KR980010748A (ko) 피다중화 데이터 생성장치, 인코딩된 데이터 재생 장치, 클럭 변환 장치, 인코딩된 데이터 기록 매체, 인코딩된 데이터 전송 매체, 피다중화 데이터 생성 방법, 인코딩된 데이터 재생 방법 및 클럭 변환 방법
CN105898500A (zh) 网络视频播放方法及装置
CN113259738B (zh) 音视频同步的方法、装置、电子设备及存储介质
CN112954433B (zh) 视频处理方法、装置、电子设备及存储介质
CN109618208A (zh) 一种直播流分布式切片同步方法及装置
CN114040255A (zh) 直播字幕生成方法、系统、设备及存储介质
CN112087642B (zh) 云导播播放方法、云导播服务器及远程管理终端
JP2008079114A (ja) 同期再生システム
US10231007B2 (en) Transmission device, transmitting method, reception device, and receiving method
CN110087116B (zh) 多码率直播视频流剪辑方法、装置、终端及存储介质
CN109040818A (zh) 直播时的音视频同步方法、存储介质、电子设备及系统
CN112235600B (zh) 视频数据及视频业务请求的处理方法、装置及系统
CN113630643B (zh) 媒体流收录方法、装置及计算机存储介质、电子设备
US20140047309A1 (en) Apparatus and method for synchronizing content with data
JP5137975B2 (ja) グローバルシーン時間を使用する探索および同期

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