CN110248205B - 一种视频录像数据打包的方法及装置 - Google Patents
一种视频录像数据打包的方法及装置 Download PDFInfo
- Publication number
- CN110248205B CN110248205B CN201811021007.6A CN201811021007A CN110248205B CN 110248205 B CN110248205 B CN 110248205B CN 201811021007 A CN201811021007 A CN 201811021007A CN 110248205 B CN110248205 B CN 110248205B
- Authority
- CN
- China
- Prior art keywords
- video data
- code stream
- auxiliary frame
- buffer area
- stream auxiliary
- 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
Links
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/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
- H04N21/23113—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
-
- 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
- H04N21/2312—Data placement on disk arrays
-
- 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2405—Monitoring of the internal components or processes of the server, e.g. server load
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
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
技术领域
本申请涉及数据存储技术领域,尤其涉及一种视频录像数据打包的方法及装置。
背景技术
目前,服务器(Network Video Recorder,NVR)通常会连接多路通道,当服务器对编码器采集的视频数据进行打包存储时,多路通道按照顺序进行打包。
具体的每一个通道进行打包的过程为:首先,服务器将接收到的前端视频数据存储到存储缓冲区,并检测接收到的视频数据的大小是否超过所述存储缓冲区的存储容量,若超过,则进行丢帧处理,即将超过所述存储缓冲区的存储容量的视频数据溢出,然后,判断接收到的视频数据是否满足预设的条件,其中,所述预设的条件包括,若满足预设的条件,则将所述视频数据进行切片,将切片后的所述视频数据进行打包存储到硬盘中,其中,将切片后的所述视频数据进行打包存储到硬盘中包括,先在硬盘中关闭存储切片之前的所述视频数据的文件,然后在硬盘中新建文件,并将切片之后的视频数据存储在所述新建文件中,当所有的通道都完成打包后,服务器将回复打包请求,整个打包过程结束。
由于服务器在视频数据打包存储时,多通道需要按照顺序进行打包,且每个通道在对视频数据进行打包时,需要先在硬盘中关闭存储切片之前的所述视频数据的文件,然后在硬盘中新建文件,并将切片之后的视频数据存储在所述新建文件中,视频数据打包过程耗时较长。
发明内容
本申请提供一种视频录像数据打包的方法及装置,用以解决现有技术中视频数据打包过程耗时较长的技术问题。
第一方面,本申请提供一种视频录像数据打包的方法,该方法包括:服务器接收视频数据,并实时检测所述视频数据是否满足预设条件,其中,所述视频数据包括视频帧;若满足,则在所述实时检测的视频帧后插入一个码流辅助帧,并将接收到的所述视频数据存放到存储缓冲区;将所述视频数据从所述存储缓冲区存储到硬盘时,实时检测所述视频数据中是否有所述码流辅助帧;若有,则以所述码流辅助帧为节点将所述视频数据进行切片,并将切片后的所述视频数据打包存储到硬盘中。
本申请实施例提供的方案中,服务器通过实时检测所述视频数据是否满足预设条件,来确定是否插入码流辅助帧,然后,通过检测所述码流辅助帧能同时触发多个通道对所述视频数据进行切片打包,并将所述视频数据存储到硬盘中。因此,通过插入码流辅助帧,同时触发多个通道对所述视频数据进行切片打包,避免了由于多通道按照顺序进行打包,导致视频数据打包耗时较长的问题。
可选地,所述预设条件包括:服务器接收到的所述视频数据的大小达到第一阈值;或接收所述视频数据的连续时长达到第二阈值;或实时检测的时间点为预设的时间点;或检测到正在进行时间校准。
可选地,服务器在将所述视频数据从所述存储缓冲区存储到硬盘之前,还包括:检测接收到的所述视频数据的大小是否大于所述存储缓冲区的存储容量;若大于,则根据预设的丢帧策略将所述视频数据中大于所述存储缓冲区的存储容量的所述视频数据溢出。
可选地,所述预设的丢帧策略包括:服务器检测大于所述存储缓冲区的存储容量的所述视频数据是否包括所述码流辅助帧;若包括,则将所述码流辅助帧保留。
本申请实施例提供的方案中,当服务器检测到所述视频数据的大小大于所述存储缓冲区的存储容量时,通过预设的丢帧策略保留所述视频数据中的码流辅助帧,避免了由于所述视频数据中码流辅助帧丢失,导致当所述码流数据满足预设条件时,不能对所述视频数据进行切片打包的问题。
可选地,服务器以所述码流辅助帧为节点将所述视频数据进行切片,并将切片后的所述视频数据进行打包存储到硬盘中包括:当实时检测到所述视频数据中有所述码流辅助帧时,在硬盘中新建文件,并将所述码流辅助帧之后的视频数据存储在所述新建文件中;在硬盘中异步关闭存储所述码流辅助帧之前的所述视频数据的文件。
本申请实施例提供的方案中,服务器在对所述视频数据切片打包存储到硬盘时,当实时检测到所述视频数据中有所述码流辅助帧,在硬盘中新建文件存储所述码流辅助帧之后的视频数据的同时,异步停止向存储所述码流辅助帧之前的所述视频数据的文件中写入所述视频数据,避免由于视频数据打包时间段不连续,导致用户体验性差的问题。
第二方面,本发明实施例提供了一种视频录像数据打包的装置,包括:
检测单元,用于接收视频数据,并实时检测所述视频数据是否满足预设条件,其中,所述视频数据包括视频帧;
插入单元,用于若检测所述视频数据满足预设条件,则在所述实时检测的视频帧后插入一个码流辅助帧,并将接收到的所述视频数据存放到存储缓冲区;
存储单元,用于将所述视频数据从所述存储缓冲区存储到硬盘时,实时检测所述视频数据中是否有所述码流辅助帧;
打包单元,用于若检测所述视频数据中有所述码流辅助帧,则以所述码流辅助帧为节点将所述视频数据进行切片,并将切片后的所述视频数据进行打包存储到硬盘中。
可选地,所述预设条件包括:接收到的所述视频数据的大小达到第一阈值;或接收所述视频数据的连续时长达到第二阈值;或实时检测的时间点为预设的时间点;或检测到正在进行时间校准。
可选地,所述存储单元,还用于:检测接收到的所述视频数据的大小是否大于所述存储缓冲区的存储容量;若大于,则根据预设的丢帧策略将所述视频数据中大于所述存储缓冲区的存储容量的所述视频数据溢出。
可选地,所述预设的丢帧策略包括:检测大于所述存储缓冲区的存储容量的所述视频数据是否包括所述码流辅助帧;若包括,则将所述码流辅助帧保留。
可选地,所述打包单元具体用于:当实时检测到所述视频数据中有所述码流辅助帧时,在硬盘中新建文件,并将所述码流辅助帧之后的视频数据存储在所述新建文件中;在硬盘中异步停止向存储所述码流辅助帧之前的所述视频数据的文件中写入所述视频数据。
第三方面,本发明实施例还提供一种视频录像数据打包的装置,包括:
存储器,用于存储计算机指令;
处理器,与所述存储器连接,用于执行所述存储器中的计算机指令,以在执行如上述第一方面所述的方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述可读存储介质中存储有计算机指令,所述指令在计算机上运行时,使得计算机执行如上述第一方面所述的方法。
附图说明
图1为本申请实施例所提供的通信系统的结构示意图;
图2为本申请实施例所提供一种视频录像数据打包的方法的流程图;
图3为本申请实施例所提供的视频数据打包的示意图;
图4为本申请实施例所提供的一种视频录像数据打包的装置的结构示意图;
图5为本申请实施例所提供的一种视频录像数据打包的装置的结构示意图。
具体实施方式
本申请提供一种视频录像数据打包的方法、装置及计算机存储介质,用以解决现有技术中视频数据打包过程耗时较长的技术问题。
本申请实施例提供的方案中,服务器通过实时检测所述视频数据是否满足预设条件,来确定是否插入码流辅助帧,然后,通过检测所述码流辅助帧能同时触发多个通道对所述视频数据进行切片打包,并将所述视频数据存储到硬盘中。因此,通过插入码流辅助帧,同时触发多个通道对所述视频数据进行切片打包,避免了由于多通道按照顺序进行打包,导致视频数据打包耗时较长。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
下面先介绍本申请涉及的一些概念:
视频帧:是组成视频的每个静止的画面。
编码器:是将信号或者数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。
图1示出本申请实施例中的通信系统100。该系统包括编码器101以及服务器102。服务器102用于:接收编码器101发送的视频数据,并将该视频数据进行切片打包,存储到硬盘中。本发明实施例中所涉及的服务器可以是网络视频存储服务器。
请参考图2,本发明实施例提供一种视频录像数据打包的方法,该方法的处理过程如下。
步骤201,服务器接收视频数据,并实时检测所述视频数据是否满足预设条件,其中,所述视频数据包括视频帧。
具体的所述预设条件包括:服务器接收到的视频数据的大小达到第一阈值;或接收所述视频数据的连续时长达到第二阈值;或实时检测的时间点为预设的时间点;或检测到正在进行时间校准。
服务器接收编码器发送的视频数据后可以检测接收到的所述视频数据的大小是否达到第一阈值,如果达到,则进行步骤202,根据视频数据的大小将所述视频数据进行分段,避免每段所述视频数据过大不便于管理;服务器接收编码器发送的视频数据后可以检测接收所述视频数据的连续时长是否达到第二阈值,如果达到,则进行步骤202,根据接收所述视频数据的连续时长将所述视频数据进行分段,能及时将特定时间段内的视频数据进行分段;服务器接收编码器发送的视频数据后可以检测实时检测视频数据时服务器系统的时间点是否为预设时间点,如果是,则进行步骤202,根据预设的时间点将所述视频数据进行分段;服务器检测是否正在进行时间校准,如果是,则进行步骤202,将所述视频数据进行分段,确保对当天接收的所有的视频数据进行分段,提高用户的体验效果。
服务器根据该方案提供的切片方式,不仅能根据特定的触发条件及时将接收到的视频数据进行切片打包,还能根据不同的需要对视频数据进行灵活的切片。
步骤202,若服务器检测到所述视频数据满足预设条件,则在所述实时检测的视频帧后插入一个码流辅助帧,并将接收到的所述视频数据存放到存储缓冲区。
在服务器中有存储缓冲区,当服务器检测到所述视频数据满足预设条件时,在该视频数据中所述实时检测的视频帧后插入一个码流辅助帧,并将包含有码流辅助帧的所述视频数据保存到存储缓冲区。
具体以视频数据的大小为基准在该视频数据中插入码流辅助帧为例进行说明。例如,若第一阈值的大小为1024个字节,服务器连续的接收编码器发送的视频数据,并检测接收所述视频数据的大小,当检测到当前接收的视频数据的大小为1024个字节时,则在当前视频数据的最后一个字节后插入一个码流辅助帧,然后,继续检测接收的视频数据的大小,以该码流辅助帧之后的第一字节为起点,当检测到接收到的视频数据的大小为1024个字节时,则在所述视频数据的最后一个字节后插入一个码流辅助帧,直到完成对接收到的全部所述视频数据的检测。
具体以接收视频数据的连续时长为基准在该视频数据中插入码流辅助帧为例进行说明。例如,若接收视频数据的连续时长为1小时,当服务器检测到连续接收视频数据的时长为1小时,则在当前接收的视频数据中的最后一个视频帧后插入码流辅助帧,然后,以当前时间节点为计时起点,继续检测接收到的视频数据的连续时长,若检测到连续接收到的视频数据的时长为1小时,则在当前接收的视频数据中的最后一个视频帧后插入码流辅助帧,直到完成对接收到的全部所述视频数据的检测。
具体以实时检测视频数据的时间点为基准在该视频数据中插入码流辅助帧为例进行说明。例如,若预设时间点为12点,服务器在接收视频数据的过程中,若检测到服务器的系统时间点为12点,则在当前接收的视频数据的最后一个视频帧后插入一个码流辅助帧,直到完成对接收到的全部所述视频数据的检测。
步骤203,服务器将所述视频数据从所述存储缓冲区存储到硬盘时,实时检测所述视频数据中是否有所述码流辅助帧。
服务器中有硬盘,为了便于对所述视频数据的存储和管理,服务器将所述存储缓冲区的视频数据存储到硬盘中,所述视频数据包括视频帧和码流辅助帧,其中,所述码流辅助帧包括特殊的帧头,所述特殊的帧头是指在帧头中加入标记位。在视频数据存储到硬盘的过程中,通过实时检测视频数据中的帧是否包括所述标记位,来确定实时检测的所述帧是否为所述码流辅助帧,进而确定所述视频数据中是否有码流辅助帧,其中,所述帧包括视频帧和码流辅助帧。
步骤204,若服务器实时检测所述视频数据中有所述码流辅助帧,则以所述码流辅助帧为节点将所述视频数据进行切片,并将切片后的所述视频数据打包存储到硬盘中。
服务器以所述码流辅助帧为节点将所述视频数据进行切片,并将切片后的所述视频数据打包存储到硬盘中包括:当实时检测到所述视频数据中有所述码流辅助帧时,在硬盘中新建文件,并将所述码流辅助帧之后的视频数据存储在所述新建文件中;在硬盘中异步停止向存储所述码流辅助帧之前的所述视频数据的文件中写入所述视频数据。通过在硬盘中新建文件以及异步关闭文件的方法,实现了视频数据存储到硬盘的不同文件的打包时间具有连续性,进而提升用户的体验。
为了实现通过检测码流辅助帧触发对所述视频数据进行打包的目的,在所述码流辅助帧包括触发打包条件,其中,所述触发打包条件包括打包标签和/或打包时间信息,所述打包标签用于指示对视频数据进行打包,当检测到打包标签即对视频数据进行打包,所述打包时间信息包括以一个固定的时长进行循环打包或只在固定的时间点打包一次,或在进行时间校准的时间点进行打包。
具体的实现过程中,将切片后的所述视频数据进行打包存储到硬盘中方式有多种,包括:
方式1,服务器在码流辅助帧中检测到打包标签,则开始进行视频数据的打包。所述视频数据中可能有一个或多个码流辅助帧包括所述打包标签,当服务器检测到有所述码流辅助帧中包括所述打包标签,即对接收到的所有视频数据进行打包。
方式2,服务器在码流辅助帧中检测到打包的时间信息,则基于所述打包的时间信息指示的时长或时间点对视频数据进行打包。
例如,该打包的时间信息为1小时,服务器基于所述打包的时间信息确定对所述视频数据进行打包的循环周期为1小时,当服务器在码流辅助帧中检测到所述打包的时间信息时,则根据所述打包的时间信息的指示,以1小时为周期对所述视频数据进行循环打包。若服务器在新的码流辅助帧中检测到新的打包的时间信息;该新的打包的时间信息指示的时长发生变化,则调整视频数据进行打包的循环周期。
若打包的时间信息为一设定的时间点(例如12点),当服务器在码流辅助帧中检测到所述打包的时间信息时以及检测到系统时间为该设定的时间点时,则对所述视频数据进行一次打包。若服务器在新的码流辅助帧中检测到新的打包的时间信息,该新的打包的时间信息指示的时间点发生变化,则基于该新的时间点将视频数据打包的时间点进行调整。
若打包的时间信息为系统进行时间校准的时间点,当服务器在码流辅助帧中检测到所述打包的时间信息时以及检测到系统正在进行时间校准,则对所述视频数据进行一次打包。
方式3,服务器在码流辅助帧中检测到打包标签和打包的时间信息,则基于所述打包标签开始对视频数据进行打包,并根据所述打包的时间信息确定打包的时长或时间点。所述视频数据中可能有一个或多个码流辅助帧包括所述打包标签和打包的时间信息,当服务器检测到有所述码流辅助帧包括所述打包标签和打包的时间信息时,根据所述打包标签确定对所述视频数据进行打包,然后再根据所述时间信息指示的时长或时间点对所述视频数据进行打包,若所述时间信息是时长,则以该时长为周期对所述视频数据进行循环打包,若所述时间信息是固定的时间点,则以该时间点为打包时间点对所述视频数据进行一次打包;若所述时间信息是进行时间校准的时间点,则以系统进行时间校准的时间点为打包时间点对所述视频数据进行打包。
具体以一个码流辅助帧进行举例,参见图3。
服务器将所述视频数据保存到硬盘的过程中,在没有检测到码流辅助帧之前的数据,即编号为1的视频数据保存到文件1中,在保存编号为1的视频数据时,若检测到码流辅助帧,则以该码流辅助帧为节点将所述视频数据进行切片,并在硬盘中新建文件2,将码流辅助帧之后的视频数据,即编号为2的视频数据保存到文件2中,同时将关闭文件1的指令调到其它的线程进行执行,使得关闭文件1的过程对新建文件2以及将视频数据存储到文件2的过程不造成任何影响,并且关闭文件1结束的时间即为新建文件2的时间,以实现将所述视频数据进行切片打包存储到不同文件的打包时间具有连续性。
本申请实施例提供的方案中,服务器通过实时检测所述视频数据是否满足预设条件,来确定是否插入码流辅助帧,然后,通过实时检测所述码流辅助帧能同时触发多个通道对所述视频数据进行切片打包,并将所述视频数据存储到硬盘中。因此,通过实时检测所述码流辅助帧,同时触发多个通道对所述视频数据进行切片打包,避免了由于多通道按照顺序进行打包,导致视频数据打包耗时较长的问题。
服务器在对所述视频数据进行切片打包的过程中,服务器接收编码器发送的视频数据速率可能大于将视频数据存储到硬盘的速率,例如,服务器对视频数据进行切片打包的过程耗时较长或服务器的系统异常,也可能小于将视频数据存储到硬盘的速率。当服务器接收编码器发送的视频数据速率大于将视频数据存储到硬盘的速率时,由于服务器中所述存储缓冲区的存储空间是有限,因此,可能会出现服务器接收的所述视频数据的大小超过所述存储缓冲区的存储容量的现象,超过所述存储缓冲区的存储容量的部分的所述视频数据将无法存储到所述存储缓冲区,造成所述视频数据的溢出,即视频数据的丢帧。
当服务器系统正常时,本申请提供的实施例中,由于服务器能够实时检测所述视频数据中的码流辅助帧,并同时触发多个通道对所述视频数据进行切片打包。因此,服务器通过检测所述码流辅助帧不仅能够实时对所述视频数据进行切片打包,还能触发多个通道对所述视频数据进行切片打包,使得服务器对视频数据切片打包的耗时较短,即服务器对所述视频数据进行切片打包的速度较快,使得服务器接收编码器发送的视频数据速率小于将视频数据存储到硬盘的速率,服务器中的所述存储缓冲区不会出现溢出丢帧的现象,保证了视频数据的完整性。
当服务器系统异常时,例如,服务器中的硬盘损坏,服务器在对视频数据进行打包的过程中,服务器将视频数据切片后,在存储到硬盘的过程中由于硬盘的存储容量有限,无法及时新建文件夹存储视频数据,导致视频数据从所述存储缓冲区存储到硬盘的速度变慢,即服务器接收编码器发送的视频数据速率大于将视频数据存储到硬盘的速率,所述存储缓冲区中存储的视频数据的大小将大于所述存储缓冲区的容量,造成所述视频数据的溢出。
进一步,为了确保在存储缓冲区有视频数据溢出的情况下,服务器能够对所述视频数据进行切片打包,在步骤203之前,还包括:服务器检测接收到的所述视频数据的大小是否大于所述存储缓冲区的存储容量;若大于,则根据预设的丢帧策略将所述视频数据中大于所述存储缓冲区的存储容量的所述视频数据溢出。
当服务器接收编码器发送的视频数据速率大于将视频数据存储到硬盘的速率时,可能会出现服务器接收的所述视频数据的大小超过所述存储缓冲区的存储容量的现象,超过所述存储缓冲区的存储容量的部分的所述视频数据将无法存储到所述存储缓冲区,造成所述视频数据的溢出。若溢出的视频数据中包括码流辅助帧,则会导致服务器在将存储缓冲区的视频数据存储到硬盘的过程中,由于服务器检测不到所述码流辅助帧,从而无法获取打包的触发条件以时间信息,不能及时触发打包的条件对所述视频数据进行切片打包。因此,为了保证服务器能及时的对所述视频数据进行切片打包,服务器检测接收到的所述视频数据的大小是否大于所述存储缓冲区的存储容量,若检测到接收到的所述视频数据的大小大于所述存储缓冲区的存储容量,则根据预设的丢帧策略将所述视频数据中大于所述存储缓冲区的存储容量的所述视频数据溢出。
进一步,为了确保溢出的视频数据中不包括码流辅助帧,所述预设的丢帧策略包括:检测大于所述存储缓冲区的存储容量的所述视频数据是否包括所述码流辅助帧;若包括,则将所述码流辅助帧保留。
本申请实施例提供的方案中,服务器在对所述视频数据切片打包存储到硬盘时,当实时检测到所述视频数据中有所述码流辅助帧,在硬盘中新建文件存储所述码流辅助帧之后的视频数据的同时,异步关闭存储所述码流辅助帧之前的所述视频数据的文件,避免由于视频数据打包时间不连续,导致用户体验性差的问题。
基于同一发明构思,本发明实施例中提供一种视频录像数据打包的装置,该装置的生成拼图的方法的具体实施方式可参见方法实施例部分的描述,重复之处不再赘述,请参见图4,该装置包括:
检测单元401,用于接收视频数据,并实时检测所述视频数据是否满足预设条件,其中,所述视频数据包括视频帧;
插入单元402,用于若检测所述视频数据满足预设条件,则在所述实时检测的视频帧后插入一个码流辅助帧,并将接收到的所述视频数据存放到存储缓冲区;
存储单元403,用于将所述视频数据从所述存储缓冲区存储到硬盘时,实时检测所述视频数据中是否有所述码流辅助帧;
打包单元404,用于若检测所述视频数据中有所述码流辅助帧,则以所述码流辅助帧为节点将所述视频数据进行切片,并将切片后的所述视频数据进行打包存储到硬盘中。
可选地,所述预设条件包括:接收到的所述视频数据的大小达到第一阈值;或接收所述视频数据的连续时长达到第二阈值;或实时检测的时间点为预设的时间点;或检测到正在进行时间校准。
可选地,所述存储单元403,还用于:检测接收到的所述视频数据的大小是否大于所述存储缓冲区的存储容量;若大于,则根据预设的丢帧策略将所述视频数据中大于所述存储缓冲区的存储容量的所述视频数据溢出。
可选地,所述预设的丢帧策略包括:检测大于所述存储缓冲区的存储容量的所述视频数据是否包括所述码流辅助帧;若包括,则将所述码流辅助帧保留。
可选地,所述打包单元404具体用于:当实时检测到所述视频数据中有所述码流辅助帧时,在硬盘中新建文件,并将所述码流辅助帧之后的视频数据存储在所述新建文件中;在硬盘中异步停止向存储所述码流辅助帧之前的所述视频数据的文件中写入所述视频数据。
基于同一发明构思,本发明实施例还提供一种视频录像数据打包的装置,参见图5,该电子设备包括:
存储器501,用于存储计算机指令;
处理器502,与所述存储器连接,用于执行所述存储器中的计算机指令,以执行上述视频录像数据打包的方法。
基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,所述可读存储介质中存储有计算机指令,所述指令在计算机上运行时,使得计算机执行上述视频录像数据打包的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程码流数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程码流数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程码流数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程码流数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (6)
1.一种视频录像数据打包的方法,其特征在于,包括:
接收视频数据,并实时检测所述视频数据是否满足预设条件,其中,所述视频数据包括视频帧;
若满足,则在所述实时检测的视频帧后插入一个码流辅助帧,并将接收到的所述视频数据存放到存储缓冲区;
检测接收到的所述视频数据的大小是否大于所述存储缓冲区的存储容量;
若大于,则根据预设的丢帧策略将所述视频数据中大于所述存储缓冲区的存储容量的所述视频数据溢出,所述预设的丢帧策略包括检测大于所述存储缓冲区的存储容量的所述视频数据是否包括所述码流辅助帧,若包括,则将所述码流辅助帧保留;
将所述视频数据从所述存储缓冲区存储到硬盘时,实时检测所述视频数据中是否有所述码流辅助帧;
若有,则当实时检测到所述视频数据中有所述码流辅助帧时,在硬盘中新建文件,并将所述码流辅助帧之后的视频数据存储在所述新建文件中,在硬盘中异步停止向存储所述码流辅助帧之前的所述视频数据的文件中写入所述视频数据。
2.如权利要求1所述的方法,其特征在于,所述预设条件包括:
接收到的所述视频数据的大小达到第一阈值;或
接收所述视频数据的连续时长达到第二阈值;或
实时检测的时间点为预设的时间点;或
检测到正在进行时间校准。
3.一种视频录像数据打包的装置,其特征在于,包括:
检测单元,用于接收视频数据,并实时检测所述视频数据是否满足预设条件,其中,所述视频数据包括视频帧;
插入单元,用于若检测所述视频数据满足预设条件,则在所述实时检测的视频帧后插入一个码流辅助帧,并将接收到的所述视频数据存放到存储缓冲区;
存储单元,用于检测接收到的所述视频数据的大小是否大于所述存储缓冲区的存储容量,若大于,则根据预设的丢帧策略将所述视频数据中大于所述存储缓冲区的存储容量的所述视频数据溢出,所述预设的丢帧策略包括检测大于所述存储缓冲区的存储容量的所述视频数据是否包括所述码流辅助帧,若包括,则将所述码流辅助帧保留,以及将所述视频数据从所述存储缓冲区存储到硬盘时,实时检测所述视频数据中是否有所述码流辅助帧;
打包单元,用于若检测所述视频数据中有所述码流辅助帧,则当实时检测到所述视频数据中有所述码流辅助帧时,在硬盘中新建文件,并将所述码流辅助帧之后的视频数据存储在所述新建文件中,在硬盘中异步停止向存储所述码流辅助帧之前的所述视频数据的文件中写入所述视频数据。
4.如权利要求3所述的装置,其特征在于,所述预设条件包括:
接收到的所述视频数据的大小达到第一阈值;或
接收所述视频数据的连续时长达到第二阈值;或
实时检测的时间点为预设的时间点;或
检测到正在进行时间校准。
5.一种视频录像数据打包的装置,其特征在于,包括:
存储器,用于存储计算机指令;
处理器,与所述存储器连接,用于执行所述存储器中的计算机指令,以在执行所述计算机指令时执行如权利要求1至2任一项所述的方法。
6.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有计算机指令,所述指令在计算机上运行时,使得计算机执行如权利要求1至2任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811021007.6A CN110248205B (zh) | 2018-09-03 | 2018-09-03 | 一种视频录像数据打包的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811021007.6A CN110248205B (zh) | 2018-09-03 | 2018-09-03 | 一种视频录像数据打包的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110248205A CN110248205A (zh) | 2019-09-17 |
CN110248205B true CN110248205B (zh) | 2023-03-24 |
Family
ID=67882836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811021007.6A Active CN110248205B (zh) | 2018-09-03 | 2018-09-03 | 一种视频录像数据打包的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110248205B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948134A (zh) * | 2019-12-10 | 2021-06-11 | 天津光电通信技术有限公司 | 通信数据追溯采集方法、装置、服务器及存储介质 |
CN113068074B (zh) * | 2021-03-24 | 2023-03-24 | 浙江大华技术股份有限公司 | 缓存方法和装置、计算机可读的存储介质及电子装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104581406A (zh) * | 2014-12-25 | 2015-04-29 | 桂林远望智能通信科技有限公司 | 一种网络视频录像与回放系统和方法 |
CN106231413A (zh) * | 2016-08-03 | 2016-12-14 | 深圳市智行畅联科技有限公司 | 一种基于智能终端的音视频数据自动分割处理方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8831108B2 (en) * | 2011-05-04 | 2014-09-09 | Cavium, Inc. | Low latency rate control system and method |
CN105450967B (zh) * | 2014-07-31 | 2019-05-03 | 杭州海康威视数字技术股份有限公司 | 对视频录像数据进行打包的方法及装置 |
CN105407307B (zh) * | 2014-09-04 | 2019-02-05 | 杭州海康威视数字技术股份有限公司 | 多通道视频录像数据的处理方法、系统及装置 |
CN104702968B (zh) * | 2015-02-17 | 2019-06-11 | 华为技术有限公司 | 一种视频帧丢帧方法及视频发送装置 |
CN105528425A (zh) * | 2015-12-08 | 2016-04-27 | 普元信息技术股份有限公司 | 云计算环境下基于文件实现异步数据存储的方法 |
CN106303671B (zh) * | 2016-08-16 | 2019-04-16 | 任晋军 | 一种流媒体的播放方法 |
-
2018
- 2018-09-03 CN CN201811021007.6A patent/CN110248205B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104581406A (zh) * | 2014-12-25 | 2015-04-29 | 桂林远望智能通信科技有限公司 | 一种网络视频录像与回放系统和方法 |
CN106231413A (zh) * | 2016-08-03 | 2016-12-14 | 深圳市智行畅联科技有限公司 | 一种基于智能终端的音视频数据自动分割处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110248205A (zh) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110418186B (zh) | 音视频播放方法、装置、计算机设备和存储介质 | |
US20180295311A1 (en) | Image transmission device and method | |
CN110248205B (zh) | 一种视频录像数据打包的方法及装置 | |
CN109144858B (zh) | 流畅度检测方法、装置、计算设备及存储介质 | |
CN102142917B (zh) | 数据帧的定位方法和装置 | |
WO2017112260A1 (en) | Technologies for sideband performance tracing of network traffic | |
CN108076377A (zh) | 一种视频的存储、播放方法、装置、电子设备及存储介质 | |
CN109951494B (zh) | 仿真数据处理方法、装置、仿真设备及存储介质 | |
EP3206123A1 (en) | Data caching method and device, and storage medium | |
CN109614240A (zh) | 内存申请方法、设备及存储介质 | |
CN104270605A (zh) | 一种视频监控数据的处理方法及装置 | |
CN105357229B (zh) | 一种视频处理方法及装置 | |
CN116107503A (zh) | 数据传输方法、装置及电子设备 | |
CN112104403A (zh) | 基于消息队列的多线程遥感卫星基带数据处理方法及装置 | |
CN109597566A (zh) | 一种数据读取、存储方法及装置 | |
CN106231413B (zh) | 一种基于智能终端的音视频数据自动分割处理方法及系统 | |
CN110045924B (zh) | 分级存储方法、装置、电子设备及计算机可读存储介质 | |
CN101895736A (zh) | 媒体流数据处理方法及其装置 | |
CN105681864A (zh) | 一种基于ip的传输流抖动去除方法及装置 | |
US8483289B2 (en) | Method and system for fast channel change | |
CN105450967B (zh) | 对视频录像数据进行打包的方法及装置 | |
CN103634229A (zh) | 一种片间通讯方法及控制装置 | |
CN109982113B (zh) | 一种视频文件处理方法及装置 | |
CN113691469B (zh) | 报文乱序重排方法及单板 | |
CN103684908A (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 |