CN113747248A - 基于直播流剪辑的快速合成方法、装置及*** - Google Patents
基于直播流剪辑的快速合成方法、装置及*** Download PDFInfo
- Publication number
- CN113747248A CN113747248A CN202010469247.3A CN202010469247A CN113747248A CN 113747248 A CN113747248 A CN 113747248A CN 202010469247 A CN202010469247 A CN 202010469247A CN 113747248 A CN113747248 A CN 113747248A
- Authority
- CN
- China
- Prior art keywords
- live
- live stream
- file
- synthesis
- parameter
- 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
Links
- 238000001308 synthesis method Methods 0.000 title claims abstract description 14
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 98
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 97
- 239000012634 fragment Substances 0.000 claims abstract description 96
- 238000000034 method Methods 0.000 claims description 41
- 230000002194 synthesizing effect Effects 0.000 claims description 19
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 10
- 241000023320 Luma <angiosperm> Species 0.000 claims description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008672 reprogramming Effects 0.000 description 3
- 101100476639 Caenorhabditis elegans gop-3 gene Proteins 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000011265 semifinished product Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47205—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
-
- 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/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
基于直播流剪辑的快速合成方法、装置及***,包括:收录直播流碎片文件;本地保存直播流碎片文件并将直播流碎片文件上传至云端;根据本地保存的直播流碎片文件完成直播文件的剪辑;所述直播文件包括所述直播流碎片文件;在剪辑完成后生成合成任务发送至云端;所述合成任务中包括有直播文件的出入点信息。本申请中的方案,采用空间换时间的方式,先碎片文件传输,然后再在云端合成,这样节省了传输时间,提高了整体的合成发布效率。
Description
技术领域
本申请涉及视频剪辑技术,具体地,涉及一种基于直播流剪辑的快速合成方法、装置及***。
背景技术
随着融合媒体的不断发展,传统电视台将台、网进行统一战略部署,甚至部分电视台提出先网后台的战略布局,这对传统电视台技术提出了新的要求,尤其是在直播节目制作和合成环节,传统模式的合成都是打包转码最终形成节目,整个过程非常耗时且效率非常低;而面向互联网的节目形态要求轻制作、快合成、重发布的过程,因此针对节目的快速合成显得尤为重要。
传统的非编合成都是采用高码文件对视音频进行全解码全编码的合成过程,整个过程由于采用了高码合成,能尽量少的损失质量,同时也能保证合成的帧精度。但显著的缺点就是:因为是全解码和全编码过程,尤其要出多码率的时候,合成效率非常低,资源消费非常严重,甚至还需要GPU(图形处理器,Graphics Processing Unit)等资源辅助。这样严重的限制了用户的使用。
现有技术中存在的问题:
传统电视台的节目合成效率非常低,无法满足互联网节目形态的需要。
发明内容
本申请实施例中提供了一种基于直播流剪辑的快速合成方法、装置及***,以解决上述技术问题。
根据本申请实施例的第一个方面,提供了一种基于直播流剪辑的快速合成方法,包括如下步骤:
收录直播流碎片文件;
本地保存直播流碎片文件并将直播流碎片文件上传至云端;
根据本地保存的直播流碎片文件完成直播文件的剪辑;所述直播文件包括所述直播流碎片文件;
在剪辑完成后生成合成任务发送至云端;所述合成任务中包括有直播文件的出入点信息。
根据本申请实施例的第二个方面,提供了一种基于直播流剪辑的快速合成方法,包括:
接收直播流碎片文件并保存;
接收对直播流碎片文件的合成任务;所述合成任务中包括有直播文件的出入点信息;所述直播文件包括直播流碎片文件;
按照所述合成任务对保存的直播流碎片文件进行合成。
根据本申请实施例的第三个方面,提供了一种基于直播流剪辑的快速合成装置,包括:
收录模块,用于收录直播流碎片文件;
本地保存模块,用于本地保存直播流碎片文件;
第一发送模块,用于将直播流碎片文件上传至云端;
剪辑模块,用于根据本地保存的直播流碎片文件完成直播文件的剪辑;所述直播文件包括所述直播流碎片文件;
任务生成模块,用于在剪辑完成后生成合成任务;所述合成任务中包括有直播文件的出入点信息;
第二发送模块,用于将所述合成任务发送至云端。
根据本申请实施例的第四个方面,提供了一种基于直播流剪辑的快速合成装置,包括:
第一接收模块,用于接收直播流碎片文件;
云端保存模块,用于保存所述直播流碎片文件;
第二接收模块,用于接收对直播文件的合成任务;所述合成任务中包括有直播文件的出入点信息;所述直播文件包括所述直播流碎片文件;
合成模块,用于按照所述合成任务对保存的直播流文件进行合成。
本申请实施例的第五个方面,提供了一种基于直播流剪辑的快速合成***,包括:
第一快速合成装置,所述第一快速合成装置为如第三个方面所述的基于直播流剪辑的快速合成装置;
以及,
多个第二快速合成装置,所述第二快速合成装置为如第四个方面所述的基于直播流剪辑的快速合成装置;
所述第二发送模块用于收到合成任务后进行资源调度,将所述合成任务发送到所述多个第二快速合成装置中相对空闲的装置中。
本申请实施例中提供的基于直播流剪辑的快速合成方法、装置及***,采用空间换时间的方式,先碎片文件传输,然后再在云端合成,这样节省了传输时间,提高了整体的合成发布效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例一中基于直播流剪辑的快速合成方法实施的流程示意图;
图2示出了本申请实施例二中基于直播流剪辑的快速合成装置的结构示意图;
图3示出了本申请实施例三中基于直播流剪辑的快速合成方法实施的流程示意图;
图4示出了本申请实施例四中基于直播流剪辑的快速合成装置的结构示意图;
图5示出了本申请实施例五中基于直播流剪辑的快速合成***的结构示意图;
图6示出了本申请实施例六中基于直播流剪辑的快速合成架构示意图;
图7示出了本申请实施例六中快速合成引擎的实现示意图;
图8示出了本申请实施例六中GOP的结构放大示意图;
图9示出了本申请实施例六中快速合成的过程示意图。
具体实施方式
在实现本申请的过程中,发明人发现:
传统的视频剪辑是基于素材的剪辑方式,而新媒体内容的剪辑绝大部分是基于半成品或直播流的剪辑方式,因此在视频的剪辑过程中,重点是打出入点,提取有价值的部分内容,而针对复杂的特技非常少。
部分互联网公司也开始进行相关节目的直播剪辑过程,采用的统一收录成HLS(基于HTT的流媒体网络传输协议,HTTP Live Streaming)的方式,按照GOP(图像组,Group ofpicture)单元进行统一存储,剪辑采用完整GOP单元的方式,针对多出入点进行GOP级别的COPY拼接合成过程。这种合成方式确实能保证合成的效率,但无法保证帧精度,一旦用户的入点和出点打在了GOP的中间,还是以完整GOP的方式截取内容,相当于多保存了内容。所以这种方式是GOP精度的合成方式,而不是帧精度的合成方式。同时也不支持多码率同步合成。这也给终端用户的使用带来了不便。
此外,无论是传统的合成引擎还是互联网公司的快速合成引擎,目前对H.265和杜比Atmos全景声处理都有一定的缺陷。即使传统的非编厂商用4K的合成引擎支持新媒体的快速制作合成,那将是极大的资源浪费。同时目前在行业里面传统的非编厂商以及互联网公司还没有一家合成引擎能处理杜比Atmos的快速合成处理。
针对现有技术存在的技术问题,本申请实施例中提供了一种快速合成方法,实现针对直播流剪辑的帧精度和快速发布。
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
图1示出了本申请实施例一中基于直播流剪辑的快速合成方法实施的流程示意图。
如图所示,所述基于直播流剪辑的快速合成方法包括:
步骤101、收录直播流碎片文件;
步骤102、本地保存直播流碎片文件并将直播流碎片文件上传至云端;
步骤103、根据本地保存的直播流碎片文件完成直播文件的剪辑;所述直播文件包括所述直播流碎片文件;
步骤104、在剪辑完成后生成合成任务发送至云端;所述合成任务中包括有直播文件的出入点信息。
具体实施时,根据直播剪辑的要求,直播收录的文件碎片可以是分钟级别,也可以是秒级别,本申请对此不做限制。
收录的碎片文件保存到本地后,同时上传一份到云端。编辑人员剪辑内容,完成整个直播文件的多对出入点的设定,剪辑完成后提交到云端,由云端的合成节点对云端的直播流碎片文件进行快速的合成处理,并将合成后的文件保存到云端的对象存储上,最终提供用户浏览播放。
现有技术通常是收录碎片文件,然后再DMA内网完成合成,合成完成的文件传输到云端。对于几个GB的大文件,传输时间就比较长,需要较多传文件到云端的时间。本申请实施例为了节省这个传输的时间,先将碎片文件传输到云端,待直播结束后再在云端合成大文件,提高了整体的合成处理效率。
本申请实施例中提供的基于直播流剪辑的快速合成方法,为本地端处理过程,采用空间换时间的方式,先碎片文件传输,然后再在云端合成,这样节省了传输时间,提高了整体的合成发布效率。
在一种实施方式中,在所述收录直播流碎片文件之前,进一步包括:
利用编码器按照直播编排的多码率需求将直播流进行一入多出的直播编码,得到多码率的直播流;
启动多码率直播收录任务。
实施例二
基于同一发明构思,本申请实施例提供了一种基于直播流剪辑的快速合成装置,该装置解决技术问题的原理与实施例一中一种基于直播流剪辑的快速合成方法相似,重复之处不再赘述。
图2示出了本申请实施例二中基于直播流剪辑的快速合成装置的结构示意图。
如图所示,所述基于直播流剪辑的快速合成装置包括:
收录模块201,用于收录直播流碎片文件;
本地保存模块202,用于本地保存直播流碎片文件;
第一发送模块203,用于将直播流碎片文件上传至云端;
剪辑模块204,用于根据本地保存的直播流碎片文件完成直播文件的剪辑;所述直播文件包括所述直播流碎片文件;
任务生成模块205,用于在剪辑完成后生成合成任务;所述合成任务中包括有直播文件的出入点信息;
第二发送模块206,用于将所述合成任务发送至云端。
本申请实施例中提供的基于直播流剪辑的快速合成装置,为本地端设备,采用空间换时间的方式,先碎片文件传输,然后再在云端合成,这样节省了传输时间,提高了整体的合成发布效率。
在一种实施方式中,进一步包括:
编码模块,用于在所述收录直播流碎片文件之前,利用编码器按照直播编排的多码率需求将直播流进行一入多出的直播编码,得到多码率的直播流;
收录启动模块,用于启动多码率直播收录任务。
实施例三
图3示出了本申请实施例三中基于直播流剪辑的快速合成方法实施的流程示意图。
如图所示,所述基于直播流剪辑的快速合成方法包括:
步骤301、接收直播流碎片文件并保存;
步骤302、接收对直播流碎片文件的合成任务;所述合成任务中包括有直播文件的出入点信息;所述直播文件包括直播流碎片文件;
步骤303、按照所述合成任务对保存的直播流碎片文件进行合成。
现有技术通常是收录碎片文件,然后再DMA内网完成合成,合成完成的文件传输到云端。对于几个GB的大文件,传输时间就比较长,需要较多传文件到云端的时间。本申请实施例为了节省这个传输的时间,云端先接收碎片文件,待直播结束后再按照接收到的合成任务利用之前接收到的碎片文件在云端合成大文件,提高了整体的合成处理效率。
本申请实施例中提供的基于直播流剪辑的快速合成方法,为云端处理过程,采用空间换时间的方式,先碎片文件传输,然后再在云端合成,这样节省了传输时间,提高了整体的合成发布效率。
发明人在发明过程中发现:
通常的音视频文件都是由一个个GOP为单元进行相关内容保存的,每个GOP单元由IPBBBPBBBPBBB(3个B帧例子)等不同形态的内容组成。每一个GOP都是以I帧开头,如果包含B帧的话就是以B帧结束。通常在视频文件里面GOP都是采用Close的类型,也就是说每一个GOP的数据拿出来后都可以独立进行解码,画面不会出现马赛克,也就是第一个I帧在解码图像的时候是不需要依赖其他的帧,而P帧是需要依赖它前面的帧进行参考,另外B帧是既依赖它前面的帧又依赖它后面的帧是双向参考。所以只要GOP不被破坏,GOP里面的数据就可以被完整的使用。
因此,本申请实施例还可以采用如下方式实施。
在一种实施方式中,所述对保存的直播流碎片文件进行合成,包括:
确定每个剪辑片段的入点;
当剪辑片段的入点打在GOP的P帧或B帧时,从所述入点所在GOP的起始I帧开始解码直至当前GOP结束,将解码得到的数据进行重新编码;
所述剪辑片段的其他GOP根据所述入点所在GOP进行复制拼接;
将多个剪辑片段合成编辑输出。
具体实施时,如果入点打在了GOP的中间(P帧或B帧),本申请实施例对该GOP进行完整的解码,再SEEK到入点的位置,开始编码后面部分的内容,让后和其他GOP进行COPY复制拼接。这样只有入点的GOP进行的重新编码处理,其他GOP直接COPY的方式,合成效率非常高。
本申请实施例实现了帧精度单GOP重编,整个快速合成过程是帧精度的,对第一个入点GOP进行了局部重编,其他GOP采用Copy方式,而目前互联网的快速合成引擎都是以GOP为单元进行处理的,一般GOP的长度是2秒,所以他们的精度是以秒为单元而不是以帧为单元的。
在一种实施方式中,所述对保存的直播流碎片文件进行合成,进一步包括:
当剪辑片段的入点打在GOP的I帧时,所述剪辑片段无需重新编码。
本申请实施例只对一个GOP中的部分视频帧进行重新编码,而非对全部帧进行编码,对于入点打在GOP的I帧的视频帧无需重新编码。
在一种实施方式中,在所述将解码得到的数据进行重新编码之前,包括:
从解码得到的网络抽象层NAL数据中解析获取到解码参数;
将所述解码参数与上一文件的解码参数比较;
若相符,则根据所述解码参数反向映射得到编码参数。
虽然只有入点的GOP进行重新编解码处理,但在H.264和H.265里面解码的参数和编码的参数差别非常大,想要将解码参数与编码参数建立对应关系是非常困难的,本申请的发明人经过多年的总结和试验,最终形成了解码参数和编码参数的映射关系。
在一种实施方式中,解码参数与编码参数的映射关系如下:
若该剪辑片段为H264格式,则解码参数与编码参数的映射关系如下:
序列参数集SPS(Sequence Parameter Set)或图像参数集PPS(PictureParameter Set)的解码参数chroma_format_idc对应于x264_param的色彩空间internalCsp参数;
SPS或PPS的解码参数bit_depth_luma_minus8对应于x264_param的位深i_bitdepth参数;
SPS或PPS的解码参数time_scale对应于x264_param的帧率i_fps_num参数;
SPS或PPS的解码参数pic_width_in_mbs_minus1对应于x264_param的分辨率的宽i_width参数;
SPS或PPS的解码参数pic_height_in_mbs_minus1对应于x264_param的分辨率的高i_height参数;
具体如下表所示:
SPS/PPS参数集 | x264_param参数 |
chroma_format_idc | internalCsp色彩空间 |
bit_depth_luma_minus8 | i_bitdepth位深 |
time_scale | i_fps_num帧率 |
pic_width_in_mbs_minus1 | i_width分辨率宽 |
pic_height_in_mbs_minus1 | i_height分辨率高 |
若该剪辑片段为H265格式,则解码参数与编码参数的映射关系如下:
视频参数集VPS(Video Parameter Set)、SPS或PPS的解码参数bit_depth_chroma对应于编码器的位深internalBitDepth参数;
VPS、SPS或PPS的解码参数width对应于编码器的分辨率的宽sourceWidth参数;
VPS、SPS或PPS的解码参数height对应于编码器的分辨率的高sourceHeight参数;
VPS、SPS或PPS的解码参数chroma_format_idc对应于编码器的色彩空间internalCsp参数;
VPS、SPS或PPS的解码参数fpsDenom对应于编码器的帧率分子vui_num_units_in_tick参数;
VPS、SPS或PPS的解码参数fpsNum对应于编码器的帧率分母vui_time_scale参数;
具体如下表所示:
VPS/SPS/PPS解析参数 | 编码器初始化参数 |
bit_depth_chroma | internalBitDepth位深8bit/10bit |
width | sourceWidth分辨率宽 |
height | sourceHeight分辨率高 |
chroma_format_idc | internalCsp色彩空间ID |
fpsDenom | vui_num_units_in_tick帧率分子 |
fpsNum | vui_time_scale帧率分母 |
本申请实施例中编码器的初始化参数从文件的VPS/SPS/PPS等NAL数据包中解析并反向映射出来。H264和H265的码流格式基本相同,h265相较于h264多了个VPS,具体如下:
VPS:Video Parameter Set视频参数集(h265)
SPS:Sequence Parameter Set序列参数集(h264/h265)
PPS:Picture Parameter Set图像参数集(h264/h265)
本申请实施例经过多年的积累、试验和总结,提出了解码参数和编码参数的映射关系,所有快速合成出来的文件都保证各终端播放器能正常播放。
实施例四
基于同一发明构思,本申请实施例提供了一种基于直播流剪辑的快速合成装置,该装置解决技术问题的原理与实施例三中一种基于直播流剪辑的快速合成方法相似,重复之处不再赘述。
图4示出了本申请实施例四中基于直播流剪辑的快速合成装置的结构示意图。
如图所示,所述基于直播流剪辑的快速合成装置包括:
第一接收模块401,用于接收直播流碎片文件;
云端保存模块402,用于保存所述直播流碎片文件;
第二接收模块403,用于接收对直播文件的合成任务;所述合成任务中包括有直播文件的出入点信息;所述直播文件包括所述直播流碎片文件;
合成模块404,用于按照所述合成任务对保存的直播流文件进行合成。
本申请实施例中提供的基于直播流剪辑的快速合成装置,为云端处理过程,采用空间换时间的方式,先碎片文件传输,然后再在云端合成,这样节省了传输时间,提高了整体的合成发布效率。
在一种实施方式中,所述合成模块,包括:
入点确定单元,用于确定每个剪辑片段的入点;
编码单元,用于当剪辑片段的入点打在GOP的P帧或B帧时,从所述入点所在GOP的起始I帧开始解码直至当前GOP结束,将解码得到的数据进行重新编码;
拼接单元,用于所述剪辑片段的其他GOP根据所述入点所在GOP进行复制拼接;
合成单元,用于将多个剪辑片段合成编辑输出。
在一种实施方式中,进一步包括:
解析模块,用于在所述将解码得到的数据进行重新编码之前,从解码得到的网络抽象层NAL数据中解析获取到解码参数;
映射模块,用于将所述解码参数与上一文件的解码参数比较;若相符,则根据所述解码参数反向映射得到编码参数。
实施例五
基于同一发明构思,本申请实施例提供了一种基于直播流剪辑的快速合成***。
图5示出了本申请实施例五中基于直播流剪辑的快速合成***的结构示意图。
如图所示,所述基于直播流剪辑的快速合成***包括:
第一快速合成装置,所述第一快速合成装置为如实施例二所述的基于直播流剪辑的快速合成装置;
以及,
多个第二快速合成装置,所述第二快速合成装置为如实施例四所述的基于直播流剪辑的快速合成装置;
所述第二发送模块用于收到合成任务后进行资源调度,将所述合成任务发送到所述多个第二快速合成装置中相对空闲的装置中。
本申请实施例中提供的基于直播流剪辑的快速合成***,采用空间换时间的方式,先本地端将碎片文件传输至云端,然后再在云端合成,这样节省了传输时间,提高了整体的合成发布效率。
实施例六
为了便于本申请的实施,本申请实施例以一具体实例进行说明。
图6示出了本申请实施例六中基于直播流剪辑的快速合成架构示意图。
整个过程从直播流开始,编辑人员在集成发布平台上编排了相关直播单后,直播任务将下发到编码器,根据直播编排需要的多码率需求,在编码器上会进行一入多出的直播编码,同时启动多码率直播收录任务,对多码率的直播流进行收录。收录的碎片文件保存到本地后,同时上传一份到云端。编辑人员通过集成发布平台的快遍界面,可以实时看到自动追加到时间线上收录下来的碎片文件,编辑人员剪辑内容,通过蓝区的选定,完成整个内容的多对出入点的设定,剪辑完成后提交剪辑的任务到合成***,合成***收到合成任务后,进行资源动态调度,将任务分配到尽量空闲的云端合成节点上,云端的合成节点针对云端的多码率素材进行快速的合成处理,并将合成后的文件保存到云端的对象存储上,最终提供用户浏览播放。
直播流剪辑合成是以快速剪辑一个或多个文件的多个片段,并合成为一个文件为目的。
合成功能选项:
1.一个文件多个片段或多个文件(每个文件多片段)合成编辑输出为一个文件。
2.一个文件多个片段或多个文件(每个文件多片段)合成输出多文件(以原始文件为单位)。
图7示出了本申请实施例六中快速合成引擎的实现示意图。
如图所示,该剪辑片段的入点打在了GOP3的中间,本申请实施例对GOP3进行完整的解码,再SEEK到入点的位置,开始编码后面部分的内容,然后和其他GOP进行COPY复制拼接。这样只有入点的GOP进行的重新编码处理,其他GOP直接COPY的方式。
图8示出了本申请实施例六中GOP的结构放大示意图。
如图所示,一个完整的GOP是可以完整解码并呈现画面的:
I帧:可以独立解码,即不需要参考其它的帧。
P/B帧:非独立解码帧,必须参考之前的I帧和其它的P/B帧。
本申请实施例中当快速剪辑的片段的入点打在I帧时,即GOP的起点,此片段所有的帧数据是不需要重新编码的。
当片段的入点打在P/B帧上时,则必须从入点所在GOP的起始I帧开始解码,从入点开始一直到GOP结束(出点不在当前GOP),将解码得到的YUV原始数据进行重新编码,并送入复用器(muxer)。由于后续的数据都是以I帧起始,无需编码,直接可以送入复用器(muxer)。
图9示出了本申请实施例六中快速合成的过程示意图。
首先,打开文件,进行demux解复用,获取VPS/SPS/PPS等NAL UNIT包,解析获取解码参数,与上以稳健的解码参数比较,判断两文件参数是否相符;
如果相符,则反向映射编码参数,利用编码参数初始化编码器;
如果不相符,则退出程序。
然后,seek寻找到segment当前片段GOP的入点,取帧,判断是否需要重编(具体判断过程即根据入点是否打在P/B帧),如果需要重编,则解码后进行编码;如果不需要重编,直接进行下一步骤;
接下来,复用mux写文件,判断是否到segment出点,即当前片段的GOP是否遍历完毕,如果到了当前GOP的出点,则进一步判断是否遍历完当前直播流文件的当前片段。
最后,在遍历完当前文件segment之后开始处理下一文件。在遍历完所有文件后退出程序。
本申请实施例提出了一种快速合成引擎。它通过处理多对出入点,并仅对破坏GOP的进行局部重新编码处理,其他GOP内容部分采用Copy的方式完成整个合成拼接。该合成支持AVI、WMV、MPG、MP5、RM、FLV等多种媒体容器格式,支持目前流行的H.265视频格式和4k的高码率视频,支持杜比Atoms的全景声音频编码格式。支持多码率帧同步的快速合成技术,最终达到帧精度的高速合成过程,快速合成引擎生成一小时的成品节目仅需要20秒左右。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种基于直播流剪辑的快速合成方法,其特征在于,包括:
收录直播流碎片文件;
本地保存直播流碎片文件并将直播流碎片文件上传至云端;
根据本地保存的直播流碎片文件完成直播文件的剪辑;所述直播文件包括所述直播流碎片文件;
在剪辑完成后生成合成任务发送至云端;所述合成任务中包括有直播文件的出入点信息。
2.根据权利要求1所述的方法,其特征在于,在所述收录直播流碎片文件之前,进一步包括:
利用编码器按照直播编排的多码率需求将直播流进行一入多出的直播编码,得到多码率的直播流;
启动多码率直播收录任务。
3.一种基于直播流剪辑的快速合成方法,其特征在于,包括:
接收直播流碎片文件并保存;
接收对直播流碎片文件的合成任务;所述合成任务中包括有直播文件的出入点信息;所述直播文件包括直播流碎片文件;
按照所述合成任务对保存的直播流碎片文件进行合成。
4.根据权利要求3所述的方法,其特征在于,所述对保存的直播流碎片文件进行合成,包括:
确定每个剪辑片段的入点;
当剪辑片段的入点打在GOP的P帧或B帧时,从所述入点所在GOP的起始I帧开始解码直至当前GOP结束,将解码得到的数据进行重新编码;
所述剪辑片段的其他GOP根据所述入点所在GOP进行复制拼接;
将多个剪辑片段合成编辑输出。
5.根据权利要求3所述的方法,其特征在于,所述对保存的直播流碎片文件进行合成,进一步包括:
当剪辑片段的入点打在GOP的I帧时,所述剪辑片段无需重新编码。
6.根据权利要求4所述的方法,其特征在于,在所述将解码得到的数据进行重新编码之前,包括:
从解码得到的网络抽象层NAL数据中解析获取到解码参数;
将所述解码参数与上一文件的解码参数比较;
若相符,则根据所述解码参数反向映射得到编码参数。
7.根据权利要求6所述的方法,其特征在于,解码参数与编码参数的映射关系如下:
若该剪辑片段为H264格式,则解码参数与编码参数的映射关系如下:
序列参数集SPS或图像参数集PPS的解码参数chroma_format_idc对应于x264_param的色彩空间internalCsp参数;
SPS或PPS的解码参数bit_depth_luma_minus8对应于x264_param的位深i_bitdepth参数;
SPS或PPS的解码参数time_scale对应于x264_param的帧率i_fps_num参数;
SPS或PPS的解码参数pic_width_in_mbs_minus1对应于x264_param的分辨率的宽i_width参数;
SPS或PPS的解码参数pic_height_in_mbs_minus1对应于x264_param的分辨率的高i_height参数;
若该剪辑片段为H265格式,则解码参数与编码参数的映射关系如下:
视频参数集VPS、SPS或PPS的解码参数bit_depth_chroma对应于编码器的位深internalBitDepth参数;
VPS、SPS或PPS的解码参数width对应于编码器的分辨率的宽sourceWidth参数;
VPS、SPS或PPS的解码参数height对应于编码器的分辨率的高sourceHeight参数;
VPS、SPS或PPS的解码参数chroma_format_idc对应于编码器的色彩空间internalCsp参数;
VPS、SPS或PPS的解码参数fpsDenom对应于编码器的帧率分子vui_num_units_in_tick参数;
VPS、SPS或PPS的解码参数fpsNum对应于编码器的帧率分母vui_time_scale参数。
8.一种基于直播流剪辑的快速合成装置,其特征在于,包括:
收录模块,用于收录直播流碎片文件;
本地保存模块,用于本地保存直播流碎片文件;
第一发送模块,用于将直播流碎片文件上传至云端;
剪辑模块,用于根据本地保存的直播流碎片文件完成直播文件的剪辑;所述直播文件包括所述直播流碎片文件;
任务生成模块,用于在剪辑完成后生成合成任务;所述合成任务中包括有直播文件的出入点信息;
第二发送模块,用于将所述合成任务发送至云端。
9.一种基于直播流剪辑的快速合成装置,其特征在于,包括:
第一接收模块,用于接收直播流碎片文件;
云端保存模块,用于保存所述直播流碎片文件;
第二接收模块,用于接收对直播文件的合成任务;所述合成任务中包括有直播文件的出入点信息;所述直播文件包括所述直播流碎片文件;
合成模块,用于按照所述合成任务对保存的直播流文件进行合成。
10.一种基于直播流剪辑的快速合成***,其特征在于,包括:
第一快速合成装置,所述第一快速合成装置为如权利要求8所述的基于直播流剪辑的快速合成装置;
以及,
多个第二快速合成装置,所述第二快速合成装置为如权利要求9所述的基于直播流剪辑的快速合成装置;
所述第二发送模块用于收到合成任务后进行资源调度,将所述合成任务发送到所述多个第二快速合成装置中相对空闲的装置中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010469247.3A CN113747248A (zh) | 2020-05-28 | 2020-05-28 | 基于直播流剪辑的快速合成方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010469247.3A CN113747248A (zh) | 2020-05-28 | 2020-05-28 | 基于直播流剪辑的快速合成方法、装置及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113747248A true CN113747248A (zh) | 2021-12-03 |
Family
ID=78724199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010469247.3A Pending CN113747248A (zh) | 2020-05-28 | 2020-05-28 | 基于直播流剪辑的快速合成方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113747248A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103531218A (zh) * | 2013-04-17 | 2014-01-22 | Tcl集团股份有限公司 | 一种在线多媒体文件编辑方法及*** |
CN106803992A (zh) * | 2017-02-14 | 2017-06-06 | 北京时间股份有限公司 | 视频剪辑方法及装置 |
CN106937129A (zh) * | 2015-12-31 | 2017-07-07 | 广州华多网络科技有限公司 | 一种在线视频直播实时剪辑方法和装置 |
CN107734354A (zh) * | 2017-10-19 | 2018-02-23 | 中视亚广(北京)文化传播有限公司 | 一种对直播流视频进行实时剪辑方法和装置 |
-
2020
- 2020-05-28 CN CN202010469247.3A patent/CN113747248A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103531218A (zh) * | 2013-04-17 | 2014-01-22 | Tcl集团股份有限公司 | 一种在线多媒体文件编辑方法及*** |
CN106937129A (zh) * | 2015-12-31 | 2017-07-07 | 广州华多网络科技有限公司 | 一种在线视频直播实时剪辑方法和装置 |
CN106803992A (zh) * | 2017-02-14 | 2017-06-06 | 北京时间股份有限公司 | 视频剪辑方法及装置 |
CN107734354A (zh) * | 2017-10-19 | 2018-02-23 | 中视亚广(北京)文化传播有限公司 | 一种对直播流视频进行实时剪辑方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3662129B2 (ja) | マルチメディア情報編集装置 | |
CN104602117B (zh) | 一种倍速播放视频的方法及装置 | |
US20170309310A1 (en) | Method and device for compressed-domain video editing | |
CN103024603B (zh) | 一种用于解决播放网络视频时短时停顿的装置及方法 | |
WO2017092340A1 (zh) | 一种视频压缩、播放方法以及装置 | |
CN102984465B (zh) | 一种适用于网络化智能化数字媒体的节目合成***及方法 | |
CN1264120A (zh) | 数字式记录重放装置 | |
JP5011017B2 (ja) | 画像復号化装置 | |
CN101859585A (zh) | 一种对视频素材进行帧精确剪辑的***和方法 | |
CN112653904B (zh) | 一种基于pts与dts修改的快速视频裁剪方法 | |
CN105791938A (zh) | 多媒体文件的拼接方法和装置 | |
JPH10271446A (ja) | オーディオビジュアル・セグメントを貼り合わせる方法および装置、オーディオビジュアル・セグメントを接合する方法、オーディオビジュアル・ファイルからセグメントをコピーする方法、オーディオビジュアル・ファイルからセグメントを切り取るための装置、ならびにコンピュータが読み取り可能な媒体 | |
US20090232470A1 (en) | Video contents editing apparatus, controller, and method | |
KR101142379B1 (ko) | 디지털 방송 재생 방법 및 장치, 디지털 방송 녹화 방법 | |
JP6269734B2 (ja) | 動画データ編集装置、動画データ編集方法、再生装置、及びプログラム | |
CN113747248A (zh) | 基于直播流剪辑的快速合成方法、装置及*** | |
JP2012138840A (ja) | ビデオサーバ及びシームレス再生方法 | |
CN113261283B (zh) | 视频处理方法、装置及计算机可读存储介质 | |
WO2024114519A1 (zh) | 点云封装与解封装方法、装置、介质及电子设备 | |
Kikuchi et al. | Development of full-featured 8K recorder | |
JP3880597B2 (ja) | マルチメディア情報編集装置 | |
JP2011234068A (ja) | 映像記録装置および映像復旧装置 | |
JP5066557B2 (ja) | 映像復号方法,映像復号装置および映像復号プログラム | |
JP3880596B2 (ja) | マルチメディア情報編集装置 | |
Takeuchi et al. | A program production system using ID and file-data over IP networks |
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 |