CN113630618B - 视频处理方法、装置及*** - Google Patents

视频处理方法、装置及*** Download PDF

Info

Publication number
CN113630618B
CN113630618B CN202110901970.9A CN202110901970A CN113630618B CN 113630618 B CN113630618 B CN 113630618B CN 202110901970 A CN202110901970 A CN 202110901970A CN 113630618 B CN113630618 B CN 113630618B
Authority
CN
China
Prior art keywords
video
information
service
file
attribute information
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
CN202110901970.9A
Other languages
English (en)
Other versions
CN113630618A (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 Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology 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 Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202110901970.9A priority Critical patent/CN113630618B/zh
Publication of CN113630618A publication Critical patent/CN113630618A/zh
Application granted granted Critical
Publication of CN113630618B publication Critical patent/CN113630618B/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23109Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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
    • 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/4332Content storage operation, e.g. storage operation in response to a pause request, caching operations by placing content in organized collections, e.g. local EPG data repository
    • 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
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本申请提供视频处理方法、装置及***,其中所述视频处理方法包括:响应于主播的录制开启指令,获取分发服务器推送的所述主播在直播过程中产生的推流文件;基于所述推流文件创建分片视频,并确定所述分片视频的视频属性信息;将所述分片视频和所述视频属性信息存储至业务存储空间;在所述主播关闭直播的情况下,基于所述业务存储空间中的所述分片视频和所述视频属性信息创建录播业务视频并发布。

Description

视频处理方法、装置及***
技术领域
本申请涉及计算机技术领域,特别涉及视频处理方法、装置及***。
背景技术
随着互联网技术的发展,越来越多的业务开始线上化,随着业务的丰富程度变高,能够为用户带来的服务类型也变的越来越多。通常情况下,在业务用户通过业务平台发起业务后,其他用户即可通过线上参与的方式参与到业务当中。业务平台为了能够向业务运行过程中未参与业务的用户或者已经参与的用户提供可回溯功能,通常会在业务关闭后,重新采集业务运行过程中涉及到的视频流,之后基于视频流创建录播视频,供这部分用户在业务关闭后依旧可以了解业务涉及到的内容。然而,现有技术中业务平台在获取到视频流后,需要对视频流进行下载转码,这一过程会消耗较多的时间,并且业务运行过程中涉及到的相关通知及用户的交互信息无法回溯。
发明内容
有鉴于此,本申请实施例提供了一种视频处理方法。本申请同时涉及一种视频处理装置,一种视频处理***,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的可回溯视频的创建时间周期长的问题。
根据本申请实施例的第一方面,提供了一种视频处理方法,包括:
响应于主播的录制开启指令,获取分发服务器推送的所述主播在直播过程中产生的推流文件;
基于所述推流文件创建分片视频,并确定所述分片视频的视频属性信息;
将所述分片视频和所述视频属性信息存储至业务存储空间;
在所述主播关闭直播的情况下,基于所述业务存储空间中的所述分片视频和所述视频属性信息创建录播业务视频并发布。
根据本申请实施例的第二方面,提供了一种视频处理装置,包括:
获取模块,被配置为响应于主播的录制开启指令,获取分发服务器推送的所述主播在直播过程中产生的推流文件;
确定模块,被配置为基于所述推流文件创建分片视频,并确定所述分片视频的视频属性信息;
存储模块,被配置为将所述分片视频和所述视频属性信息存储至业务存储空间;
创建模块,被配置为在所述主播关闭直播的情况下,基于所述业务存储空间中的所述分片视频和所述视频属性信息创建录播业务视频并发布。
根据本申请实施例的第三方面,提供了一种视频处理***,包括:
主播端,录制端,业务端以及内容分发网络;
所述主播端,被配置为采集主播在直播过程中产生的推流文件,并将所述推流文件发送至所述内容分发网络;
所述内容分发网络,被配置为在确定所述主播开启录制功能的情况下,将所述推流文件推送至所述录制段;
所述录制端,被配置为基于所述推流文件创建分片视频,并确定所述分片视频的视频属性信息;将所述分片视频和所述视频属性信息存储至业务存储空间;在所述主播关闭直播的情况下,将所述业务存储空间中的所述分片视频和所述视频属性信息发送至所述业务端;
所述业务端,被配置为基于所述分片视频和所述视频属性信息创建录播业务视频并发布。
根据本申请实施例的第四方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述视频处理方法的步骤。
根据本申请实施例的第五方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述视频处理方法的步骤。
本申请提供的视频处理方法,响应于主播的录制开启请求,获取分发服务器推送的主播在直播过程中产生的推流文件,此时可以直接基于推流文件创建当前阶段对应的分片视频,并确定分片视频的视频属性信息,之后将视频属性信息和分片视频存储到业务存储空间,通过不断的周期性循环,即可实现直播边进行边记录的目的;当主播关闭直播时,即可直接从业务存储空间中提取全部分片视频和视频属性信息,以创建录播业务视频进行发布,实现了无需等待较长的时间即可生成录播业务视频,不仅可以及时进行视频发布,还能够使得错过直播的用户或者有回溯需求的用户及时观看到该视频,实现直播业务的运行阶段与录播业务视频发布阶段快速对接,从而提高用户的参与体验。
附图说明
图1是本申请一实施例提供的一种视频处理方法的示意图;
图2是本申请一实施例提供的一种视频处理方法的流程图;
图3是本申请一实施例提供的一种回放录播业务视频的示意图;
图4是本申请一实施例提供的一种视频处理装置的结构示意图;
图5是本申请一实施例提供的一种视频处理***的结构示意图;
图6是本申请一实施例提供的一种应用于直播场景中的视频处理***的流程示意图
图7是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请中,提供了一种视频处理方法,本申请同时涉及一种视频处理装置,一种视频处理***,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
实际应用中,随着直播业务的发展,直播成为了用户重要的休闲娱乐项目之一,观众可以通过直播观看游戏比赛、体育比赛或人文知识等;直播平台为了能够为观众提供更加优质的直播观看体验,通常会在主播下播后,生成该主播下播前的直播视频作为录播视频,以供观众重新浏览;但是生成录播视频的过程不仅需要进行视频的下载转码,还需要消耗较长的时间进行录播视频的创建,这使得观众无法快速的看到录播视频,直播阶段和录播阶段对接周期较长,很大程度上会影响用户的参与体验。
有鉴于此,参见图1所示的示意图,在直播场景下,为了能够实现快速的生成录播视频,将在主播直播的过程中,通过录制集群获取直播CDN(Content Delivery Network,内容分发网络)分发的推流文件,同时获取直播过程中涉及到的虚拟礼物信息、弹幕信息、分钟数据索引信息等,并对推流文件中的视频流拆分成小的分片视频,每个分片视频创建完成后将结合上述数据存储到Redis,并以此循环,直至主播下播。当主播下播后,无需进行视频的下载和转码,可以直接从Redis中提取直播视频、虚拟礼物信息、弹幕信息、分钟数据索引信息等,并基于视频分片信息、弹幕分片信息以及索引分片信息生成弹幕索引信息和录播视频进行发布,实现在主播下播后消耗较短的时间即可完成录播视频的创建和发布,实现快速的完成直播阶段和录播阶段的衔接,提高用户的体验。
本申请提供的视频处理方法,响应于主播的录制开启请求,获取分发服务器推送的主播在直播过程中产生的推流文件,此时可以直接基于推流文件创建当前阶段对应的分片视频,并确定分片视频的视频属性信息,之后将视频属性信息和分片视频存储到业务存储空间,通过不断的周期性循环,即可实现直播边进行边记录的目的;当主播关闭直播时,即可直接从业务存储空间中提取全部分片视频和视频属性信息,以创建录播业务视频进行发布,实现了无需等待较长的时间即可生成录播业务视频,不仅可以及时进行视频发布,还能够使得错过直播的用户或者有回溯需求的用户及时观看到该视频,实现直播业务的运行阶段与录播业务视频发布阶段快速对接,从而提高用户的参与体验。
图2示出了根据本申请一实施例提供的一种视频处理方法的流程图,具体包括以下步骤:
步骤S202,响应于主播的录制开启指令,获取分发服务器推送的所述主播在直播过程中产生的推流文件。
具体的,推流文件具体是指主播所开启的直播在运行过程中所产生的推流文件,该文件支持着直播运行;相应的,分发服务器具体是指对接主播端的CDN,即内容分发网络节点,由于内容分发网络是进行资源调度、负载均衡等工作的节点,因此内容分发网络将不断接收主播端推送的推流文件;在主播开启直播录制功能的情况下,内容分发网络将向服务端推送直播过程中产生的推流文件。
基于此,为了能够在直播关闭后,快速的生成录播业务视频,以实现直播的运行阶段和直播关闭后生成录播业务视频的阶段快速衔接,可以在直播处于运行状态的情况下,直接获取分发服务端推送的推流文件,实现直播边运行边创建录播业务视频的目的,从而节省创建录播业务视频的时间。
进一步的,在获取直播业务过程中产生的推流文件时,可以基于主播的请求实现,本实施例中,具体实现方式如下所述:
接收所述主播针对直播业务提交的直播开启请求;在所述直播开启请求中包含所述录制开启指令的情况下,获取所述分发服务器推送的所述主播在直播过程中产生的所述推流文件。
具体的,直播开启请求具体是指主播在直播平台具有开启直播需求时提交的请求,当接收到直播开启请求后将开启直播并运行,如在直播场景中,当直播平台服务端接收到主播提交的直播开启请求后,直播平台服务端将根据直播开启请求开启该主播的直播服务。相应的,录制开启指令具体是指在直播开启后对直播内容进行录制的指令。
基于此,在接收到主播针对直播业务提交直播开启请求后,说明此时主播需要开启直播,以供其他用户可以参与到直播中;服务端也将根据直播开启请求开启直播。在直播开启请求中包含录制开启指令的情况下,说明主播需要在直播关闭后创建录播业务视频,则此时可以根据录制指令开启录制服务,即采集主播开启的直播业务在运行过程中产生的推流文件。
实际应用中,当直播业务在运行过程中产生推流文件后,会将推流文件发送到内容分发网络(CDN)进行负载均衡和调度等操作,并且推流文件将会随着直播业务的运行不断产生,因此采集推流文件时,可以基于内容分发网络实现,也就是说,当产生推流文件并发送至内容分发网络后,即可根据录制指令从内容分发网络提取该推流文件进行后续的视频处理所使用,且这个过程将随着直播业务的运行所进行,实现直播业务边运行边进行推流文件的采集,方便后续快速完成录播业务视频的创建。
综上,通过向主播提供录制请求提交接口,不仅可以根据主播需求选择性开/关后续的创建录播业务视频的操作,还能够为主播提供更加灵活的选择,从而进一步提高了主播的参与体验。
步骤S204,基于所述推流文件创建分片视频,并确定所述分片视频的视频属性信息。
具体的,在上述获取到推流文件的基础上,进一步的,为了能够实现后续快速的完成录播业务视频的创建,此时可以基于推流文件创建分片视频。也就是说,为了方便存储以及创建录播业务视频,此时将根据获取到的推流文件所涉及到的视频流拆分为时长较短的分片视频,之后在每个分片视频创建完成后,确定每个分片视频对应的视频属性信息,其中,视频属性信息具体是指每个分片视频所具备的属性对应的信息,包括但不限于每个分片视频的开始时间信息,时长信息,文件大小信息等。
进一步的,在创建分片视频的过程中,考虑到推流文件是不断产生的,相应的,如果需要创建出分片视频,则需要整合推流文件涉及到的视频流,采用预设的处理策略完成,本实施例中,具体实现方式如下所述:
对所述推流文件进行解析,获得所述主播对应的视频流;按照预设的分片策略对所述视频流进行分片处理,根据分片处理结果生成所述分片视频。
具体的,视频流具体是指推流文件涉及到的视频流,如在直播场景中,视频流即为推流文件中包含的主播直播内容的视频片段;相应的,预设的分片策略具体是指创建分片视频的策略,由于直播业务是长时间运行的,因此为了能够提高后续创建录制业务视频的效率,可以基于视频流创建出多个分片视频,即按照预设的分片策略对视频流进行分片,以获得分片视频。
基于此,在根据推流文件创建分片视频的过程中,由于推流文件是在直播业务运行过程中不断产生的,而分片视频是设定长短的一段视频,因此在获取到推流文件后,可以在推流文件涉及到的视频流对应的长度达到设定长短的情况下,完成一个分片视频的创建,以此类推即可得到直播业务从开启到关闭涉及到的全部推流文件涉及到的视频流拆分出的多个分片视频,并且可以每得到一个分片视频后就进行后续的处理,实现连续对每个分片视频进行后续处理,有效的减少了后续创建录播业务视频的时间,提高了录播业务视频的发布效率。
具体实施时,由于推流文件涉及到的视频流的长度可能较短,如果直接进行分片处理则会产生大量的分片视频,此时则会增加资源处理压力;有鉴于此,本实施例提供的分片策略可以将解析得到的视频流进行拼接处理,之后再按照分片长度进行切分,也就是说,先组成时长较长的视频流,再进行分片处理,以根据切分结果获得多个分片视频方便后续进行处理。
综上,通过采用预设的分片策略对解析得到的视频流进行分片处理,不仅可以保证各个分片视频具有相近似的属性,还能够为后续创建录播业务视频打下基础,实现采用分片的方式提高后续创建录播业务视频的效率。
更进一步的,由于直播平台会同时向多个主播提供开启直播业务的服务,因此在基于所述主播对应的推流文件创建完成分片视频后,为了方便后续能够生成该主播开启的直播业务对应的录播业务视频,则还需要确定分片视频的视频属性信息,以将分片视频和视频属性信息同时进行存储,以在生成录播业务视频时,确定创建的录播业务视频的针对对象,本实施例中,具体实现方式如下所述:
对所述分片视频进行解析,获得所述分片视频的起始时间信息、视频时长信息、视频空间占用信息以及视频顺序索引信息;根据所述直播属性信息在所述业务存储空间中的存储位置确定存储空间标识;基于所述起始时间信息、所述视频时长信息、所述视频空间占用信息、所述视频顺序索引信息以及所述存储空间标识创建所述分片视频的所述视频属性信息。
具体的,起始时间信息具体是指每个分片视频的开始时间信息;视频时长信息具体是指每个分片视频的播放时长信息;视频空间占用信息具体是指每个分片视频的文件大小信息;视频顺序索引信息具体是指各个分片视频之间前后顺序对应的信息,视频顺序索引信息方便后续创建录播业务视频时,避免分片视频混乱而使得录播业务视频播放顺序出现问题。相应的,直播属性信息具体是指直播业务相关的信息,包括但不限于直播业务本次执行对应的唯一标识,直播业务对应的唯一标识以及时间戳信息等。需要说明的是,直播属性信息将在直播业务创建时生成,并且会预先存储到业务存储空间,后续生成的分片视频以及视频属性信息只要与主播所关联,都将合并写入到相同存储位置的业务存储空间,从而方便后续管理和使用。
基于此,在根据推流文件创建出分片视频后,为了能够在后续成功的创建出录播业务视频,此时可以对每个分片视频进行解析,获得每个分片视频的起始时间信息、视频时长信息、视频空间占用信息以及视频索引信息,同时还要根据直播属性信息在业务存储空间中的存储位置确定存储空间标识,之后整合起始时间信息、视频时长信息、视频空间占用信息、视频索引信息以及存储空间标识生成每个分片视频对应的视频属性信息,以方便创建录播业务视频时所使用。
综上所述,通过解析分片视频获得各个分片视频的视频属性信息,不仅可以方便后续针对性进行录播业务视频的创建,还能够保证创建录播业务视频的成功性,从而保证可以在较短的时间内完成录播业务视频的发布处理。
步骤S206,将所述分片视频和所述视频属性信息存储至业务存储空间。
具体的,在上述确定分片视频以及分片视频的视频属性信息之后,由于直播业务还处于运行状态,因此可以临时将分片视频及其对应的视频属性信息存储到直播业务对应的业务存储空间,以方便在直播业务结束后可以直接从业务存储空间中提取视频属性信息和分片视频进行录播业务视频的创建;其中,业务存储空间可以采用存储单元Redis实现,或者根据实际应用场景选择其他存储***实现,本实施例在此不作任何限定。
举例说明,用户甲在B平台对应的APP中提交了直播L游戏的直播开启请求,当确定直播开启请求中携带有用户甲提交的录制直播内容的录制指令的情况下,此时说明用户甲需要对接下来的直播内容进行录制,为了能够在用户甲直播结束后可以快速的生成录播视频(针对直播L游戏的直播内容生成的历史视频),将在直播开启后不断的从直播CDN处采集用户甲的客户端发送到直播CDN的推流文件,此时将基于推流文件创建以30min为一片的分片视频,创建时由于推流文件涉及到的视频流长度较短,可以基于不断接收到的推流文件按照顺序进行视频流的拼接,当拼接后的视频达到30min时,就将其划分为一个分片视频,以此类推,直至用户甲的直播结束停止分片视频的创建。
在创建完成每个分片视频时,为了提高创建录播视频的效率,此时可以确定每个分片视频的属性信息,以方便后续结合分片视频进行存储。基于此,在得到一个分片视频后,即可进行该分片视频的视频属性信息的确定,通过解析该分片视频,获得分片视频的Start time(开始时间)为ST1,Duration(回放的时间长度)为D1,File Size(视频文件的大小)为FS1,index(分片视频的顺序索引)为I1;同时确定存储该分片视频的Bucket(存储空间标识)为B1,之后整合上述参数即可确定该分片视频对应的视频属性信息,以此类推,每个分片视频都采用相同的策略进行处理,以方便后续存储和创建录播视频。更进一步的,在完成分片视频的创建及其对应的视频属性信息的确定之后,可以将分片视频及其对应的视频属性信息按照存储空间标识B1写入存储单元Redis,实现将对应用户甲本次直播的相关信息都存储在一起,方便后续创建录播视频。
步骤S208,在所述主播关闭直播的情况下,基于所述业务存储空间中的所述分片视频和所述视频属性信息创建录播业务视频并发布。
具体的,在直播业务处于执行状态的情况下,不断的重复上述过程即可将直播业务运行过程中涉及到的分片视频都进行存储;在直播业务关闭的情况下,说明主播主动停止的直播业务,则此时为了能够及时向该主播的观众提供录播业务视频,可以直接从业务存储空间中提取分片视频及其对应的视频属性信息,并结合分片视频和视频属性信息创建出对应主播发起本次的直播业务的录播业务视频,并针对录播业务视频进行发布即可。其中录播业务视频具体是指直播业务在运行的过程中所对应的视频内容;如在直播场景下,主播下播后,已经直播结束的内容所生成的视频即为录播业务视频。
实际应用中,在对录播业务视频进行发布时,由于该视频是针对主播发起的直播业务所创建的,因此为了能够方便用户观看,可以将录播业务视频发布在直播业务运行的载体中,且该载体所能够参与的直播业务和录播业务视频都是与主播相关的;如在直播场景中,录播业务视频将发布在主播的直播间,供观看直播的用户回看。
具体实施时,在直播业务关闭的情况下,此时正在创建的最后一片的分片视频可能并未创建完成,即不满足分片策略,若舍弃掉该分片视频将无法保证后续创建的录播业务视频的完整性,因此在直播业务关闭的情况下,最后一片的分片视频可以直接基于结束时间完成分片处理,以及该分片视频的视频属性信息的确定,以用于后续创建录播业务视频。
进一步的,由于需要发布的录播业务视频不仅与主播相关,还与主播发起的直播业务相关,考虑到服务端可能同时针对不同的主播创建多个录播业务视频,因此在创建录播业务视频时还可以结合直播属性信息完成,本实施例中,具体实现方式如步骤S2082至步骤S2084:
步骤S2082,根据所述直播开启请求中携带的主播信息生成直播属性信息,并将所述直播属性信息存储至所述业务存储空间。
具体的,主播信息具体是指能够识别主播的信息,该信息可以是主播对应的唯一标识,或者主播的密码,再或者主播的身份信息等,本实施例在此不作任何限定;相应的,直播属性信息具体是指在创建直播业务时所需要生成并使用的信息,通过直播属性信息可以方便对录播业务视频进行与直播业务和主播绑定,并且存储至业务存储空间的直播属性信息将与分片视频和视频属性信息存储到相同的位置,即三者具有相同的存储标识,方便创建录播业务视频所提取和使用。
进一步的,基于主播信息创建直播属性信息的过程如下所述:
对所述直播开启请求进行解析,获得所述主播信息;基于所述主播信息生成时间戳以及直播标识,并读取所述主播信息对应的直播地址标识;对所述时间戳、所述直播标识以及所述直播地址标识进行整合,生成所述直播属性信息。
具体的,时间戳具体是指直播业务开启的时间,直播标识具体是指本次直播业务对应的唯一标识,直播地址标识具体是指主播发起直播业务对应的持久性标识。如在直播场景中,时间戳具体是指用户开始直播的时间,直播标识具体是指本次开播的唯一标识,直播地址标识具体是指用户的直播间ID。
基于此,在接收到主播针对直播业务提交的直播开启请求的情况下,此时可以基于直播开启请求确定主播信息;由于本次开启直播业务是新一轮的直播业务,因此将基于主播信息创建本次开启的直播业务对应的时间戳以及直播标识,同时由于直播平台已经存储有主播对应的相关信息,并且直播地址标识是唯一分配的,因此可以直接读取到直播地址标识,之后通过对时间戳、直播标识以及直播地址标识进行整合,即可得到主播发起本次的直播业务对应的直播属性信息,方便后续针对性创建录播业务视频。
进一步的,在得到直播属性信息后,可以先将直播属性信息存储到业务存储空间,在后续存储分片视频以及视频属性信息时,由于直播属性信息是针对本次的直播业务生成的,且分片视频及其对应的视频属性信息也是与本次的直播业务相关,因此可以直接将分片视频及其对应的视频属性信息存储到直播属性信息对应的存储位置,方便后续统一调用使用。
综上,通过结合时间戳、直播标识以及直播地址标识组成直播属性信息,可以实现针对性创建主播关联的录播业务视频,并且能够建立内在的信息与视频的关系,保证在发布录播业务视频时也可以保持这种针对性。
步骤S2084,基于所述业务存储空间中的所述分片视频、所述视频属性信息和所述直播属性信息创建所述录播业务视频并发布。
具体的,在上述完成直播属性信息、分片视频及其对应的视频属性信息存储业务存储空间后,若直播业务关闭,则此时即可直接从业务存储空间中提取与直播业务相关的分片视频及其对应视频属性信息以及直播属性信息,结合三针创建录播业务视频进行发布即可。
实际应用中,直播业务的关闭是基于主播的控制决定的,当主播提交关闭请求后,则即刻关闭直播业务,并触发创建录播业务视频的处理操作,实现在直播业务关闭的瞬间就响应创建和发布录播业务视频的操作,减少时间的消耗。
进一步的,在创建并发布录播业务视频的过程中,考虑到直播平台会对接更多的主播,且不同的主播会发起不同的直播业务,因此在发布时也将选择所述主播对应的接口进行发布,本实施例中,具体实现方式如下所述:
在所述业务存储空间中提取所述主播对应的所述分片视频、所述视频属性信息以及所述直播属性信息;根据所述分片视频、所述视频属性信息以及所述直播属性信息创建所述录播业务视频;基于所述直播属性信息确定所述主播对应的发布接口,并调用所述发布接口发布所述录播业务视频。
具体的,发布接口具体是指主播对应的接口,且发布接口与直播地址标识相对应,以此保证发布的录播业务视频是直播业务所关联的。基于此,在直播业务关闭的情况下,说明主播针对直播业务提交的关闭请求,此时为了能够及时的创建出录播业务视频并发布,可以在业务存储空间中提取主播对应的分片视频、视频属性信息及直播属性信息,之后基于分片视频和视频属性信息以及直播属性信息创建录播业务视频,实现通过直播属性信息和视频属性信息限定录播业务视频是针对主播发起的已经关闭的直播业务所创建的;之后为了能够保证录播业务视频发布在于主播关联的发布地址,可以基于主播发起直播业务时的直播属性信息确定对应主播的唯一发布接口,之后调用该发布接口完成录播业务视频的发布处理即可。
沿用上例,在用户甲开启直播的时候,由于直播平台会同时向不同的用户提供直播服务,因此为了能够方便其他用户观看不同的用户的直播内容,将针对不同的主播设置不同的直播间;基于此,在用户直播开始时,基于用户甲的ID_1确定其对应的Room ID(房间ID)为ID_123456;本次直播的tiemstamp(时间戳)为TS1;本次直播的live Key(直播的唯一标识)为LK1;在得到上述直播信息后,会将直播信息按照存储空间标识B1写入存储单元Redis。
进一步的,当用户甲提交直播关闭请求的情况下,为了能够快速的生成录播视频,将在存储单元Redis中的存储空间标识B1对应的存储位置提取用户甲的本次直播对应的分片视频及其对应的视频属性信息以及直播信息,获得分片视频分别为分片视频1,分片视频2……分片视频n;分片视频1对应的视频属性信息为Start time为ST1,Duration为D1,FileSize为FS1,index为I1;分片视频2对应的视频属性信息为Start time为ST2,Duration为D2,File Size为FS2,index为I2;……;分片视频n对应的视频属性信息为Start time为STn,Duration为Dn,File Size为FSn,index为In。
更进一步的,在得到相应的信息后,即可基于各个分片视频及其对应的视频属性信息拼接出录播视频,拼接顺序将按照分片视频的顺序索引完成,且拼接后得到的录播视频的长度为分片视频1至分片视频n加在一起的总时长,文件大小也为分片视频1至分片视频n加在一起的总大小;在获得录播视频后,为了能够更快使得其他用户也观看到用户甲之前的直播内容,此时可以基于直播信息生成用户甲对应的录播视频回放入口,即在用户甲的直播间发布该段录播视频,使得其他用户在用户甲未直播的时间进入其对应的直播间后,可以观看到用户甲的录播视频,发布录播视频后用户甲未开播的情况下,用户甲的直播间展示内容如图3中(a)所示。
综上,通过结合直播属性信息、分片视频及其对应的视频属性信息创建录播业务视频,不仅可以保证录播业务视频的发布是具有针对性的,还能够方便其他用户浏览观看,从而进一步提高了用户参与体验。
此外,在创建录播业务视频时,考虑到录播业务视频过程可能不方便其他用户观看,同时若加载全部录播业务视频将会消耗较多的网络资源,因此创建时可以分段创建,本实施例中,具体实现方式如下所述:
根据所述分片视频、所述视频属性信息以及所述直播属性信息创建初始录播业务视频;在所述初始录播业务视频的播放时长大于预设时长阈值的情况下,将所述初始录播业务视频切分为至少两个中间录播业务视频;将所述至少两个中间录播业务视频作为所述录播业务视频。
具体的,初始录播业务视频具体是指结合分片视频及其对应的视频属性信息以及直播属性信息创建出的待发布的录播业务视频;相应的,至少两个中间录播业务视频具体是指对初始录播业务视频进行切分处理后获得的每段录播业务视频。
基于此,在基于分片视频、视频属性信息以及直播属性信息创建得到初始录播业务视频后,为了方便其他用户浏览录播业务视频,此时可以判断初始录播业务视频的播放时长是否大于预设时长阈值,若否,说明初始录播业务视频的播放时长并不是很长,可以直接将初始录播业务视频作为录播业务视频进行发布。
若是,说明初始录播业务视频的播放时长过长,若直接进行发布可能不方便其他用户观看,则此时可以对初始录播业务视频进行切分处理,获得两个或两个以上的中间录播业务视频,之后将得到的全部中间录播业务视频作为录播业务视频进行发布即可。
实际应用中,在将至少两个中间录播业务视频作为录播业务视频的情况下,若对其进行发布,则需要发布多个中间录播业务视频,而为了能够方便用户观看,可以在每个中间录播业务视频中增加相应的阶段标识,从而使得用户了解各个中间录播业务视频之间的先后播放顺序。同时切分后的中间录播业务视频的播放时长可以根据实际应用场景设定,本实施例在此不作任何限定,只需要方便用户观看即可。
综上,通过采用播放时长判断的方式选择性创建录播业务视频,不仅可以控制录播业务视频的播放时长,还能够避免播放时长过长而造成用户观看不便捷的问题,进而提高用户的观看体验。
实际应用中,考虑到其他用户观看录播业务视频时,不仅仅需要观看视频内容,还可能存在观看直播业务在运行的过程中其他参与用户的交互信息,从而提高观看体验。基于此,考虑到参与用户的这种需求,在创建分片视频的过程中,同时还可以记录相应的弹幕信息和虚拟物品信息,本实施例中,具体实现方式如下所述:
获取所述分片视频对应的弹幕文件及虚拟物品文件,并建立所述弹幕文件和所述虚拟物品文件与所述分片视频的关联关系;基于所述关联关系将所述弹幕文件和所述虚拟物品文件存储至所述业务存储空间。
具体的,弹幕文件具体是指每个分片视频的弹幕信息对应的文件,该文件中存储有分片视频的时间长度内涉及到的全部弹幕以及相应的时间戳,方便播放录播业务视频时,可以向参与用户展示相应的弹幕;相应的,虚拟物品文件具体是指每个分片视频的虚拟物品对应的文件,该文件中存储有分片视频的时间长度内涉及到的其他参与用户向主播赠送的虚拟礼物以及相应的时间戳,方便播放录播业务视频时,可以向参与用户展示相应的虚拟礼物赠送情况。
具体实施时,由于直播业务在执行过程中会连续创建多个分片视频,而每个分片视频都将对应有弹幕文件和虚拟物品文件,为了方便后续创建录播业务视频使用,可以预先建立每个分片视频及其对应的弹幕文件和虚拟文件的关联关系,从而可以在播放录播业务视频时所使用。
基于此,在创建分片视频的过程中,可以同时获取分片视频的弹幕文件以及虚拟物品文件,之后建立弹幕文件和虚拟物品文件与分片视频的关联关系,实现将每个分片视频与其对应的弹幕和虚拟物品进行关联,之后再基于关联关系将弹幕文件和虚拟物品文件也写入业务存储空间即可,方便在录播业务视频创建发布后,可以在用户具有观看弹幕和/或虚拟物品需求时,调用这部分弹幕文件和/或虚拟物品文件生成相应的弹幕和/或虚拟物品,在用户观看录播业务视频时,结合时间戳在设定的时间向用户一同展示。
进一步的,当有参与用户具备观看需求的情况下,为了能够方便向用户展示录播业务视频以及相应的弹幕和虚拟物品,可以在向参与用户发送视频时,同时结合相应的弹幕文件和虚拟物品文件也进行发送,本实施例中,具体实现方式如下所述:
在接收到所述主播的观众针对所述录播业务视频提交观看请求的情况下,在所述业务存储空间中提取所述弹幕文件和所述虚拟物品文件;基于所述录播业务视频、所述弹幕文件和所述虚拟物品文件生成录播视频包并发送至所述观众。
实际应用中,当录播业务视频发布之后,其他参与用户即可在直播业务关闭之后,在相应的直播地址查看到录播业务视频,此时若接收到参与直播业务的参与用户针对录播业务视频提交观看请求的情况下,为了能够提高参与用户的参与体验,可以在业务存储空间中直接提取弹幕文件和虚拟物品文件,并结合录播业务视频、弹幕文件和虚拟物品文件生成录播视频包,发送至参与用户,使得参与用户可以在观看录播业务视频时,同时了解直播业务在运行过程中其他用户发送的弹幕和虚拟物品,提高参与用户的参与体验。
沿用上例,在用户甲直播的过程中,观众发送了大量的弹幕和虚拟礼物,在创建每个分片视频时,也将每个分片视频的时间区间对应的弹幕文件和虚拟礼物文件存储到存储单元Redis。当接收到用户乙观看用户甲的本次直播的录播视频的情况下,此时可以从存储单元Redis中提取弹幕文件和虚拟礼物文件,并结合录播视频创建录播视频包发送至用户乙的客户端,用户乙在观看该录播视频时,可以同时观看到其他用户的在直播过程中发送的弹幕和虚拟礼物,用户乙观看到的录播内容如图3中的(b)所示。
综上,通过结合弹幕文件和虚拟礼物文件创建录播视频包,可以方便参与用户了解直播业务运行过程中其他参与用户的参与程度,有效的提高了用户的观看体验。
此外,录播业务视频在被发布后,可能会同时被多个其他参与用户所观看,为了能够提高观看录播业务视频的用户的参与体验,可以在观看录播业务视频的界面提供弹幕发送接口以及虚拟物品发送接口,也就是说,用户可以在观看录播业务视频时,也发送弹幕和赠送虚拟礼物,从而更加方便用户参与到业务当中,提高用户的参与体验。
本申请提供的视频处理方法,响应于主播的录制开启请求,获取分发服务器推送的主播在直播过程中产生的推流文件,此时可以直接基于推流文件创建当前阶段对应的分片视频,并确定分片视频的视频属性信息,之后将视频属性信息和分片视频存储到业务存储空间,通过不断的周期性循环,即可实现直播边进行边记录的目的;当主播关闭直播时,即可直接从业务存储空间中提取全部分片视频和视频属性信息,以创建录播业务视频进行发布,实现了无需等待较长的时间即可生成录播业务视频,不仅可以及时进行视频发布,还能够使得错过直播的用户或者有回溯需求的用户及时观看到该视频,实现直播业务的运行阶段与录播业务视频发布阶段快速对接,从而提高用户的参与体验。
与上述方法实施例相对应,本申请还提供了视频处理装置实施例,图4示出了本申请一实施例提供的一种视频处理装置的结构示意图。如图4所示,该装置包括:
获取模块402,被配置为响应于主播的录制开启指令,获取分发服务器推送的所述主播在直播过程中产生的推流文件;
确定模块404,被配置为基于所述推流文件创建分片视频,并确定所述分片视频的视频属性信息;
存储模块406,被配置为将所述分片视频和所述视频属性信息存储至业务存储空间;
创建模块408,被配置为在所述主播关闭直播的情况下,基于所述业务存储空间中的所述分片视频和所述视频属性信息创建录播业务视频并发布。
一个可选的实施例中,所述获取模块402进一步被配置为:
接收所述主播针对直播业务提交的直播开启请求;在所述直播开启请求中包含所述录制开启指令的情况下,获取所述分发服务器推送的所述主播在直播过程中产生的所述推流文件。
一个可选的实施例中,所述视频处理装置,还包括:
信息存储模块,被配置为根据所述直播开启请求中携带的主播信息生成直播属性信息,并将所述直播属性信息存储至所述业务存储空间;
相应的,所述创建模块408进一步被配置为:基于所述业务存储空间中的所述分片视频、所述视频属性信息和所述直播属性信息创建所述录播业务视频并发布。
一个可选的实施例中,所述信息存储模块进一步被配置为:
对所述直播开启请求进行解析,获得所述主播信息;基于所述主播信息生成时间戳以及直播标识,并读取所述主播信息对应的直播地址标识;对所述时间戳、所述直播标识以及所述直播地址标识进行整合,生成所述直播属性信息。
一个可选的实施例中,所述确定模块404进一步被配置为:
对所述推流文件进行解析,获得所述主播对应的视频流;按照预设的分片策略对所述视频流进行分片处理,根据分片处理结果生成所述分片视频。
一个可选的实施例中,所述确定模块404进一步被配置为:
对所述分片视频进行解析,获得所述分片视频的起始时间信息、视频时长信息、视频空间占用信息以及视频顺序索引信息;根据所述直播属性信息在所述业务存储空间中的存储位置确定存储空间标识;基于所述起始时间信息、所述视频时长信息、所述视频空间占用信息、所述视频顺序索引信息以及所述存储空间标识创建所述分片视频的所述视频属性信息。
一个可选的实施例中,所述信息存储模块进一步被配置为:
在所述业务存储空间中提取所述主播对应的所述分片视频、所述视频属性信息以及所述直播属性信息;根据所述分片视频、所述视频属性信息以及所述直播属性信息创建所述录播业务视频;基于所述直播属性信息确定所述主播对应的发布接口,并调用所述发布接口发布所述录播业务视频。
一个可选的实施例中,所述信息存储模块进一步被配置为:
根据所述分片视频、所述视频属性信息以及所述直播属性信息创建初始录播业务视频;在所述初始录播业务视频的播放时长大于预设时长阈值的情况下,将所述初始录播业务视频切分为至少两个中间录播业务视频;将所述至少两个中间录播业务视频作为所述录播业务视频。
一个可选的实施例中,所述视频处理装置,还包括:
建立模块,被配置为获取所述分片视频对应的弹幕文件及虚拟物品文件,并建立所述弹幕文件和所述虚拟物品文件与所述分片视频的关联关系;基于所述关联关系将所述弹幕文件和所述虚拟物品文件存储至所述业务存储空间。
一个可选的实施例中,所述视频处理装置,还包括:
发送模块,被配置为在接收到所述主播的观众针对所述录播业务视频提交观看请求的情况下,在所述业务存储空间中提取所述弹幕文件和所述虚拟物品文件;基于所述录播业务视频、所述弹幕文件和所述虚拟物品文件生成录播视频包并发送至所述观众。
本申请提供的视频处理装置,响应于主播的录制开启请求,获取分发服务器推送的主播在直播过程中产生的推流文件,此时可以直接基于推流文件创建当前阶段对应的分片视频,并确定分片视频的视频属性信息,之后将视频属性信息和分片视频存储到业务存储空间,通过不断的周期性循环,即可实现直播边进行边记录的目的;当主播关闭直播时,即可直接从业务存储空间中提取全部分片视频和视频属性信息,以创建录播业务视频进行发布,实现了无需等待较长的时间即可生成录播业务视频,不仅可以及时进行视频发布,还能够使得错过直播的用户或者有回溯需求的用户及时观看到该视频,实现直播业务的运行阶段与录播业务视频发布阶段快速对接,从而提高用户的参与体验。
上述为本实施例的一种视频处理装置的示意性方案。需要说明的是,该视频处理装置的技术方案与上述的视频处理方法的技术方案属于同一构思,视频处理装置的技术方案未详细描述的细节内容,均可以参见上述视频处理方法的技术方案的描述。
与上述方法实施例相对应,本申请还提供了视频处理***实施例,图5示出了本申请一实施例提供的一种视频处理***的结构示意图。如图5所示,该***500包括:
主播端510,录制端520,业务端530以及内容分发网络540;
所述主播端510,被配置为采集主播在直播过程中产生的推流文件,并将所述推流文件发送至所述内容分发网络540;
所述内容分发网络540,被配置为在确定所述主播开启录制功能的情况下,将所述推流文件推送至所述录制段520;
所述录制端520,被配置为基于所述推流文件创建分片视频,并确定所述分片视频的视频属性信息;将所述分片视频和所述视频属性信息存储至业务存储空间;在所述主播关闭直播的情况下,将所述业务存储空间中的所述分片视频和所述视频属性信息发送至所述业务端530;
所述业务端530,被配置为基于所述分片视频和所述视频属性信息创建录播业务视频并发布。
具体的,主播端510具体是指主播所持有的终端设备,录制端520具体是指提供分片视频创建的集群,用于对接业务端530支持录播业务视频的创建;相应的,业务端530具体是指进行录播业务视频创建和发布的一端。
可选地,所述内容分发网络540,被配置为判断是否接收到所述主播针对直播提交的录制指令;若是,将所述推流文件发送至所述录制端。
具体的,内容分发网络540具体是指对接主播端510的CDN,由于内容分发网络是进行资源调度、负载均衡等工作的节点,因此内容分发网络将不断接收主播端510采用RTMP推流方式推送的推流文件,因此可以在内容分发网络处进行是否录制视频的判断,若需要进行录制,则直接将推流文件推送到录制端520进行处理即可。
可选地,所述业务端530,还被配置为根据所述直播开启请求中携带的主播信息生成直播属性信息,并将所述直播属性信息存储至所述业务存储空间;相应的,所述基于所述业务存储空间中的所述分片视频和所述视频属性信息创建录播业务视频并发布,包括:基于所述业务存储空间中的所述分片视频、所述视频属性信息和所述直播属性信息创建所述录播业务视频并发布。
可选地,所述业务端530,还被配置对所述直播开启请求进行解析,获得所述主播信息;基于所述主播信息生成时间戳以及直播标识,并读取所述主播信息对应的直播地址标识;对所述时间戳、所述直播标识以及所述直播地址标识进行整合,生成所述直播属性信息。
可选地,所述录制端520,还被配置为对所述推流文件进行解析,获得所述主播对应的视频流;按照预设的分片策略对所述视频流进行分片处理,根据分片处理结果生成所述分片视频。
可选地,所述录制端520,还被配置为对所述分片视频进行解析,获得所述分片视频的起始时间信息、视频时长信息、视频空间占用信息以及视频顺序索引信息;根据所述直播属性信息在所述业务存储空间中的存储位置确定存储空间标识;基于所述起始时间信息、所述视频时长信息、所述视频空间占用信息、所述视频顺序索引信息以及所述存储空间标识创建所述分片视频的所述视频属性信息。
可选地,所述业务端530,还被配置为在所述业务存储空间中提取所述主播对应的所述分片视频、所述视频属性信息以及所述直播属性信息;根据所述分片视频、所述视频属性信息以及所述直播属性信息创建所述录播业务视频;基于所述直播属性信息确定所述主播对应的发布接口,并调用所述发布接口发布所述录播业务视频。
可选地,所述业务端530,还被配置为根据所述分片视频、所述视频属性信息以及所述直播属性信息创建初始录播业务视频;在所述初始录播业务视频的播放时长大于预设时长阈值的情况下,将所述初始录播业务视频切分为至少两个中间录播业务视频;将所述至少两个中间录播业务视频作为所述录播业务视频。
可选地,所述业务端530,还被配置为获取所述分片视频对应的弹幕文件及虚拟物品文件,并建立所述弹幕文件和所述虚拟物品文件与所述分片视频的关联关系;基于所述关联关系将所述弹幕文件和所述虚拟物品文件存储至所述业务存储空间。
可选地,所述业务端530,还被配置为在接收到所述主播的观众针对所述录播业务视频提交观看请求的情况下,在所述业务存储空间中提取所述弹幕文件和所述虚拟物品文件;基于所述录播业务视频、所述弹幕文件和所述虚拟物品文件生成录播视频包并发送至所述观众。
本申请提供的视频处理***,实现了无需等待较长的时间即可生成录播业务视频,不仅可以及时进行视频发布,还能够使得错过直播的用户或者有回溯需求的用户及时观看到该视频,实现直播业务的运行阶段与录播业务视频发布阶段快速对接,从而提高用户的参与体验。
上述为本实施例的一种视频处理***的示意性方案。需要说明的是,该视频处理***的技术方案与上述的视频处理方法的技术方案属于同一构思,视频处理***的技术方案未详细描述的细节内容,均可以参见上述视频处理方法的技术方案的描述。
下述结合附图6,以本申请提供的视频处理***在直播场景中的应用为例,对所述视频处理***进行进一步说明。其中,图6示出了本申请一实施例提供的一种应用于直播场景中的视频处理***的流程示意图,具体包括以下步骤:
步骤S602,直播集群接收用户通过用户端提交的直播开启请求。
步骤S604,直播集群根据直播开启请求中携带的用户开播信息生成直播信息。
其中,直播信息包括用户开播的直播间ID,时间戳以及本次直播的唯一标识,同时直播集群会将直播信息投递到DataBus,方便后续进行录制使用。
步骤S606,录制集群基于轮询机制,每个固定周期在直播集群拉取直播信息,并存储到存储单元Redis。
具体的,为了能够保证后续针对本次的直播进行有效的录制,录制集群将定期拉取直播信息,以保证后续录制时可以将属于该用户的分片视频都存储在同一存储位置,方便进行使用和管理。
步骤S608,用户通过用户端开始直播,用户端采集推流文件,并通过RTMP将推流文件发送至直播CDN。
步骤S610,直播CDN在确定用户开启录制功能的情况下,将推流文件发送至录制集群。
步骤S612,录制集群接收推流文件,并基于推流文件创建分片视频,同时确定分片视频对应的视频属性信息。
具体的,视频属性信息包括分片视频在存储单元Redis中的存储位置对应的存储空间标识,分片视频的开始时间,回放的时间长度,录制文件的大小以及分片视频的顺序索引。
步骤S614,录制集群将分片视频及其对应的视频属性信息存储到存储单元Redis。
步骤S616,录制集群在确定用户关闭直播的情况下,在存储单元Redis中读取分片视频及其对应的视频属性信息以及直播信息,并发送至直播集群。
步骤S618,直播集群基于分片视频及其对应的视频属性信息以及直播信息创建录播视频。
步骤S620,直播集群读取用户直播过程中相关的弹幕、虚拟礼物及直播视频,并通过用户对应的回放接口发布。
具体的,在进行录播视频发布时,考虑到观看用户可能需要连接其他用户的参与程度,此时可以读取用户直播过程中涉及到的弹幕和虚拟礼物一同联合录播视频发布,实现其他用户也可以观看到直播过程中的弹幕内容以及虚拟礼物赠送情况。
综上所述,实现了无需等待较长的时间即可生成录播业务视频,不仅可以及时进行视频发布,还能够使得错过直播的用户或者有回溯需求的用户及时观看到该视频,实现直播业务的运行阶段与录播业务视频发布阶段快速对接,从而提高用户的参与体验。
图7示出了根据本申请一实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
其中,处理器720执行所述指令时实现所述的视频处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的视频处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述视频处理方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述视频处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的视频处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述视频处理方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (14)

1.一种视频处理方法,其特征在于,包括:
响应于主播针对直播业务提交的直播开启请求中携带的录制开启指令,获取分发服务器推送的所述主播在直播过程中产生的推流文件;
基于所述推流文件创建分片视频,并确定所述分片视频的弹幕文件和虚拟物品文件;
对所述分片视频进行解析,获得所述分片视频的起始时间信息、视频时长信息、视频空间占用信息以及视频顺序索引信息,其中,所述视频顺序索引信息为各分片视频之间前后顺序对应的信息;
根据所述直播开启请求中携带的主播信息生成直播属性信息;
基于所述直播属性信息、所述起始时间信息、所述视频时长信息、所述视频空间占用信息、所述视频顺序索引信息创建所述分片视频的视频属性信息;
将所述分片视频、所述视频属性信息、所述弹幕文件和所述虚拟物品文件存储至业务存储空间,其中,所述弹幕文件和所述虚拟物品文件与所述分片视频具有关联关系;
在所述主播关闭直播的情况下,基于所述业务存储空间中的所述分片视频和所述视频属性信息创建录播业务视频并发布,其中,所述弹幕文件和所述虚拟物品文件用于在所述录播业务视频播放时向用户展示弹幕和虚拟物品。
2.根据权利要求1所述的视频处理方法,其特征在于,所述基于所述业务存储空间中的所述分片视频和所述视频属性信息创建录播业务视频并发布步骤执行之前,还包括:
将所述直播属性信息存储至所述业务存储空间;
相应的,所述基于所述业务存储空间中的所述分片视频和所述视频属性信息创建录播业务视频并发布,包括:
基于所述业务存储空间中的所述分片视频、所述视频属性信息和所述直播属性信息创建所述录播业务视频并发布。
3.根据权利要求2所述的视频处理方法,其特征在于,所述根据所述直播开启请求中携带的主播信息生成直播属性信息,包括:
对所述直播开启请求进行解析,获得所述主播信息;
基于所述主播信息生成时间戳以及主播标识,并读取所述主播信息对应的直播地址标识;
对所述时间戳、所述主播标识以及所述直播地址标识进行整合,生成所述直播属性信息。
4.根据权利要求1所述的视频处理方法,其特征在于,所述基于所述推流文件创建分片视频,包括:
对所述推流文件进行解析,获得所述主播对应的视频流;
按照预设的分片策略对所述视频流进行分片处理,根据分片处理结果生成所述分片视频。
5.根据权利要求1所述的视频处理方法,其特征在于,所述基于所述直播属性信息、所述起始时间信息、所述视频时长信息、所述视频空间占用信息、所述视频顺序索引信息创建所述分片视频的视频属性信息,包括:
根据所述直播属性信息在所述业务存储空间中的存储位置确定存储空间标识;
基于所述起始时间信息、所述视频时长信息、所述视频空间占用信息、所述视频顺序索引信息以及所述存储空间标识创建所述分片视频的所述视频属性信息。
6.根据权利要求2所述的视频处理方法,其特征在于,所述基于所述业务存储空间中的所述分片视频、所述视频属性信息和所述直播属性信息创建所述录播业务视频并发布,包括:
在所述业务存储空间中提取所述主播对应的所述分片视频、所述视频属性信息以及所述直播属性信息;
根据所述分片视频、所述视频属性信息以及所述直播属性信息创建所述录播业务视频;
基于所述直播属性信息确定所述主播对应的发布接口,并调用所述发布接口发布所述录播业务视频。
7.根据权利要求6所述的视频处理方法,其特征在于,所述根据所述分片视频、所述视频属性信息以及所述直播属性信息创建所述录播业务视频,包括:
根据所述分片视频、所述视频属性信息以及所述直播属性信息创建初始录播业务视频;
在所述初始录播业务视频的播放时长大于预设时长阈值的情况下,将所述初始录播业务视频切分为至少两个中间录播业务视频;
将所述至少两个中间录播业务视频作为所述录播业务视频。
8.根据权利要求1-7任意一项所述的视频处理方法,其特征在于,所述基于所述业务存储空间中的所述分片视频和所述视频属性信息创建录播业务视频并发布步骤执行之前,还包括:
获取所述分片视频对应的弹幕文件及虚拟物品文件,并建立所述弹幕文件和所述虚拟物品文件与所述分片视频的关联关系;
基于所述关联关系将所述弹幕文件和所述虚拟物品文件存储至所述业务存储空间。
9.根据权利要求8所述的视频处理方法,其特征在于,所述基于所述业务存储空间中的所述分片视频和所述视频属性信息创建录播业务视频并发布步骤执行之后,还包括:
在接收到所述主播的观众针对所述录播业务视频提交观看请求的情况下,在所述业务存储空间中提取所述弹幕文件和所述虚拟物品文件;
基于所述录播业务视频、所述弹幕文件和所述虚拟物品文件生成录播视频包并发送至所述观众。
10.一种视频处理装置,其特征在于,包括:
获取模块,被配置为响应于主播针对直播业务提交的直播开启请求中携带的录制开启指令,获取分发服务器推送的所述主播在直播过程中产生的推流文件;
信息存储模块,被配置为根据所述直播开启请求中携带的主播信息生成直播属性信息;
确定模块,被配置为基于所述推流文件创建分片视频,并确定所述分片视频的弹幕文件和虚拟物品文件;对所述分片视频进行解析,获得所述分片视频的起始时间信息、视频时长信息、视频空间占用信息以及视频顺序索引信息;基于所述直播属性信息、所述起始时间信息、所述视频时长信息、所述视频空间占用信息、所述视频顺序索引信息创建所述分片视频的视频属性信息,其中,所述视频顺序索引信息为各分片视频之间前后顺序对应的信息;
存储模块,被配置为将所述分片视频、所述视频属性信息、所述弹幕文件和所述虚拟物品文件存储至业务存储空间,其中,所述弹幕文件和所述虚拟物品文件与所述分片视频具有关联关系;
创建模块,被配置为在所述主播关闭直播的情况下,基于所述业务存储空间中的所述分片视频和所述视频属性信息创建录播业务视频并发布,其中,所述弹幕文件和所述虚拟物品文件用于在所述录播业务视频播放时向用户展示弹幕和虚拟物品。
11.一种视频处理***,其特征在于,包括:
主播端,录制端,业务端以及内容分发网络;
所述主播端,被配置为采集主播在直播过程中产生的推流文件,并将所述推流文件发送至所述内容分发网络;
所述内容分发网络,被配置为在确定所述主播开启录制功能的情况下,将所述推流文件推送至所述录制端;
所述业务端,被配置为根据直播开启请求中携带的主播信息生成直播属性信息;
所述录制端,被配置为接收主播针对直播业务提交的直播开启请求,基于所述推流文件创建分片视频,并确定所述分片视频的弹幕文件和虚拟物品文件;对所述分片视频进行解析,获得所述分片视频的起始时间信息、视频时长信息、视频空间占用信息以及视频顺序索引信息;基于所述直播属性信息、所述起始时间信息、所述视频时长信息、所述视频空间占用信息、所述视频顺序索引信息创建所述分片视频的视频属性信息;将所述分片视频、所述视频属性信息、所述弹幕文件和所述虚拟物品文件存储至业务存储空间;在所述主播关闭直播的情况下,将所述业务存储空间中的所述分片视频和所述视频属性信息发送至所述业务端,其中,所述弹幕文件和所述虚拟物品文件用于在录播业务视频播放时向用户展示弹幕和虚拟物品,所述视频顺序索引信息为各分片视频之间前后顺序对应的信息,所述弹幕文件和所述虚拟物品文件与所述分片视频具有关联关系;
所述业务端,还被配置为基于所述分片视频和所述视频属性信息创建录播业务视频并发布。
12.根据权利要求11所述的视频处理***,其特征在于,所述内容分发网络,被配置为判断是否接收到所述主播针对直播提交的录制指令;若是,将所述推流文件发送至所述录制端。
13.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述计算机指令时实现权利要求1-9任意一项所述方法的步骤。
14.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-9任意一项所述方法的步骤。
CN202110901970.9A 2021-08-06 2021-08-06 视频处理方法、装置及*** Active CN113630618B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110901970.9A CN113630618B (zh) 2021-08-06 2021-08-06 视频处理方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110901970.9A CN113630618B (zh) 2021-08-06 2021-08-06 视频处理方法、装置及***

Publications (2)

Publication Number Publication Date
CN113630618A CN113630618A (zh) 2021-11-09
CN113630618B true CN113630618B (zh) 2024-02-13

Family

ID=78383195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110901970.9A Active CN113630618B (zh) 2021-08-06 2021-08-06 视频处理方法、装置及***

Country Status (1)

Country Link
CN (1) CN113630618B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114466201B (zh) * 2022-02-21 2024-03-19 上海哔哩哔哩科技有限公司 直播流处理方法及装置
CN115633194A (zh) * 2022-12-21 2023-01-20 易方信息科技股份有限公司 直播回放方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721811A (zh) * 2015-05-15 2016-06-29 乐视云计算有限公司 直播视频的录制方法和***
CN106412677A (zh) * 2016-10-28 2017-02-15 北京奇虎科技有限公司 一种回放视频文件的生成方法和装置
CN109561351A (zh) * 2018-12-03 2019-04-02 网易(杭州)网络有限公司 网络直播回放方法、装置及存储介质
CN109831676A (zh) * 2019-03-18 2019-05-31 北京奇艺世纪科技有限公司 一种视频数据处理方法及装置
CN111447455A (zh) * 2018-12-29 2020-07-24 北京奇虎科技有限公司 直播视频流回放处理方法、装置及计算设备
CN111954078A (zh) * 2020-08-24 2020-11-17 上海连尚网络科技有限公司 针对直播的视频生成方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9986267B2 (en) * 2015-10-23 2018-05-29 Disney Enterprises, Inc. Methods and systems for dynamically editing, encoding, posting and updating live video content
CN107948669A (zh) * 2017-12-22 2018-04-20 成都华栖云科技有限公司 基于cdn快速视频生产方法
CN109874061A (zh) * 2019-03-22 2019-06-11 北京奇艺世纪科技有限公司 一种直播视频的处理方法、装置及电子设备
CN110351506A (zh) * 2019-07-17 2019-10-18 视联动力信息技术股份有限公司 一种视频录制方法、装置、电子设备及可读存储介质
CN111954077A (zh) * 2020-08-24 2020-11-17 上海连尚网络科技有限公司 针对直播的视频流处理方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721811A (zh) * 2015-05-15 2016-06-29 乐视云计算有限公司 直播视频的录制方法和***
CN106412677A (zh) * 2016-10-28 2017-02-15 北京奇虎科技有限公司 一种回放视频文件的生成方法和装置
CN109561351A (zh) * 2018-12-03 2019-04-02 网易(杭州)网络有限公司 网络直播回放方法、装置及存储介质
CN111447455A (zh) * 2018-12-29 2020-07-24 北京奇虎科技有限公司 直播视频流回放处理方法、装置及计算设备
CN109831676A (zh) * 2019-03-18 2019-05-31 北京奇艺世纪科技有限公司 一种视频数据处理方法及装置
CN111954078A (zh) * 2020-08-24 2020-11-17 上海连尚网络科技有限公司 针对直播的视频生成方法和装置

Also Published As

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

Similar Documents

Publication Publication Date Title
CN109525851B (zh) 直播方法、装置和存储介质
CN108391179B (zh) 直播数据处理方法、装置、服务器、终端及存储介质
CN113630618B (zh) 视频处理方法、装置及***
CN112073758B (zh) 一种云桌面投屏方法、装置、计算机设备、计算机可读存储介质及云桌面投屏交互***
CN100454815C (zh) 流媒体运营的个性化广告实现方法
CN105933375B (zh) 一种连麦会话的监测方法、装置和服务器
CN108769816B (zh) 一种视频播放方法、装置及存储介质
CN112383790B (zh) 直播的录屏方法、装置、电子设备及存储介质
CN113518247A (zh) 视频播放方法、相关设备及计算机可读存储介质
CN112672179A (zh) 一种游戏直播的方法和装置及设备
CN111818383B (zh) 视频数据的生成方法、***、装置、电子设备及存储介质
CN110996145A (zh) 一种多媒体资源的播放方法、***、终端设备及服务器
CN105227987B (zh) 同步播放方法和***
CN111432284A (zh) 一种多媒体终端的弹幕交互方法及多媒体终端
EP3048796A1 (en) Information system, information delivery method and iptv system based on multi-screen interaction
CN105979333B (zh) 一种数据同步展示方法及装置
CN114979695B (zh) 基于srs的多进程直播方法、装置、电子设备以及存储介质
CN108668140B (zh) 音视频交互状态同步方法及装置
CN111918092B (zh) 视频流处理方法、装置、服务器及存储介质
CN115243066A (zh) 信息的推送方法、装置、电子设备及计算机可读介质
CN114363651A (zh) 直播流处理方法及装置
CN114466201B (zh) 直播流处理方法及装置
CN110300324B (zh) 一种关联式信息推送方法、***及存储介质
CN112511884A (zh) 一种音视频流的混流控制方法、***和存储介质
CN115914670B (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
GR01 Patent grant
GR01 Patent grant