CN107800988A - 一种视频录制的方法及装置、电子设备 - Google Patents
一种视频录制的方法及装置、电子设备 Download PDFInfo
- Publication number
- CN107800988A CN107800988A CN201711091067.0A CN201711091067A CN107800988A CN 107800988 A CN107800988 A CN 107800988A CN 201711091067 A CN201711091067 A CN 201711091067A CN 107800988 A CN107800988 A CN 107800988A
- Authority
- CN
- China
- Prior art keywords
- video
- audio
- video data
- thread
- file
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/92—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N5/9201—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving the multiplexing of an additional signal and the video signal
- H04N5/9202—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving the multiplexing of an additional signal and the video signal the additional signal being a sound signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明揭示了一种视频录制的方法及装置、电子设备、计算机可读存储介质,该方法包括:接收视频录制功能的触发指令,进行音视频数据的持续采集;缓存持续采集的所述音视频数据;接收视频保存指令,触发创建多个文件保存线程,通过所述多个文件保存线程交替将已缓存的音视频数据分段保存为视频文件。本发明提供的技术方案,通过缓存持续采集的音视频数据,然后由文件保存线程将缓存的音视频数据分段保存为视频文件,由于音视频数据提前进行了缓存,所以既避免了音视频数据的漏秒现象,又避免了相邻两个视频文件之间存在重叠部分,减小了视频文件大小,节省了视频文件存储空间。
Description
技术领域
本发明涉及视频处理领域,特别涉及一种视频录制的方法及装置、电子设备、计算机可读存储介质。
背景技术
生产生活中,很多场合都需要持续录像,如街道上的监控录像、生产车间的监控录像、汽车上的行车记录等。由于录像时间越长,录制的视频文件越大,故持续录像过程中,不可能将录制的视频都保存在一个文件中,需要根据时间进行分段录像,即每录制一段时间就生成一个视频文件。例如,预先设定每个视频文件的录制时间为5分钟,从9:00:00开始录制,则理论上应该依次得到如下视频文件:9:00:00~9:05:00内录制的第一个录像文件、9:05:00~9:10:00内录制的第二个录像文件、9:10:00~9:15:00内录制的第三个录像文件,以此类推。
现有录像设备所采用的录像方案,通过录像接口中的编码器对音视频采集器件采集到的原始音视频数据进行编码得到音视频编码数据的基础上,通过两个封装器交替执行对所述音视频编码数据的封装操作,且在一个封装器停止一次封装过程之前,预先启动另一个封装器并开始封装操作,使得相邻两个录像文件存在重叠部分,以此消除漏秒现象,实现无缝录像。
上述方式虽然避免了漏秒现象,但是由于在一个封装器停止之前,启动了另一个封装器开始封装,所以相邻每个录像文件存在重叠部分。通常,相邻两段录像之间存在2秒左右的叠加,这无疑增加了录像文件大小,浪费了录像文件存储空间。
发明内容
为了解决相关技术中存在的在视频录制过程中,相邻两个录像文件存在重叠部分,增加了录像文件大小,浪费了录像文件存储空间的问题,本发明提供了一种视频录制的方法。
一方面,本发明提供了一种视频录制的方法,该方法包括:
接收视频录制功能的触发指令,进行音视频数据的持续采集;
缓存持续采集的所述音视频数据;
接收视频保存指令,触发创建多个文件保存线程,通过所述多个文件保存线程交替将已缓存的音视频数据分段保存为视频文件。
另一方面,本发明还提供了一种视频录制的装置,该装置包括:
数据采集模块,用于接收视频录制功能的触发指令,进行音视频数据的持续采集;
数据缓存模块,用于缓存持续采集的所述音视频数据;
数据保存模块,用于接收视频保存指令,触发创建多个文件保存线程,通过所述多个文件保存线程交替将已缓存的音视频数据分段保存为视频文件。
进一步,本发明还提供了一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述视频录制方法。
另外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可由处理器执行完成上述视频录制方法。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明上述示例性实施例提供的技术方案,通过缓存持续采集的音视频数据,然后由多个文件保存线程交替将缓存的音视频数据分段保存为视频文件,由于音视频数据提前进行了缓存,所以既避免了音视频数据的漏秒现象,又不会使相邻两个视频文件之间存在重叠部分,减小了视频文件大小,节省了视频文件存储空间;通过多个文件保存线程交替进行保存操作,加快了视频文件保存速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据本发明所涉及的实施环境的示意图;
图2是根据一示例性实施例示出的一种装置的框图;
图3是根据一示例性实施例示出的一种视频录制方法的流程图;
图4是图3对应实施例的步骤320的流程图;
图5是根据一示例性实施例示出的一种视频录制方法的原理图;
图6是图4对应实施例的步骤322的流程图;
图7是根据一示例性实施例示出的兼容H265和H264的视频录制方法原理示意图;
图8是图3对应实施例的步骤330的流程图;
图9是图8对应实施例的步骤331的流程图;
图10是根据一示例性实施例示出的两个文件保存线程互相交替的流程示意图;
图11是根据一示例性实施例示出的一种视频录制装置的框图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是本发明所涉及的实施环境的示意图。该实施环境包括:具有摄像功能的智能设备110。例如,该智能设备110可以是智能摄像头、智能手机或执法记录仪。该智能设备110可以与服务器120进行连接,将采集的音视频数据保存至服务器120中。当然,智能设备110还可以将采集的音视频数据保存在内存或TF卡(即SD卡)中。
图2是根据一示例性实施例示出的一种装置200的框图。例如,装置200可以是图1所示实施环境中的智能设备110。
参照图2,装置200可以包括以下一个或多个组件:处理组件202,存储器204,电源组件206,多媒体组件208,音频组件210,传感器组件214以及通信组件216。
处理组件202通常控制装置200的整体操作,诸如与显示,电话呼叫,数据通信,相机操作以及记录操作相关联的操作等。处理组件202可以包括一个或多个处理器218来执行指令,以完成下述的方法的全部或部分步骤。此外,处理组件202可以包括一个或多个模块,便于处理组件202和其他组件之间的交互。例如,处理组件202可以包括多媒体模块,以方便多媒体组件208和处理组件202之间的交互。
存储器204被配置为存储各种类型的数据以支持在装置200的操作。这些数据的示例包括用于在装置200上操作的任何应用程序或方法的指令。存储器204可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static RandomAccess Memory,简称SRAM),电可擦除可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。存储器204中还存储有一个或多个模块,该一个或多个模块被配置成由该一个或多个处理器218执行,以完成下述图3-图10任一所示方法中的全部或者部分步骤。
电源组件206为装置200的各种组件提供电力。电源组件206可以包括电源管理系统,一个或多个电源,及其他与为装置200生成、管理和分配电力相关联的组件。
多媒体组件208包括在所述装置200和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(Liquid Crystal Display,简称LCD)和触摸面板。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。屏幕还可以包括有机电致发光显示器(Organic Light Emitting Display,简称OLED)。
音频组件210被配置为输出和/或输入音频信号。例如,音频组件210包括一个麦克风(Microphone,简称MIC),当装置200处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器204或经由通信组件216发送。在一些实施例中,音频组件210还包括一个扬声器,用于输出音频信号。
传感器组件214包括一个或多个传感器,用于为装置200提供各个方面的状态评估。例如,传感器组件214可以检测到装置200的打开/关闭状态,组件的相对定位,传感器组件214还可以检测装置200或装置200一个组件的位置改变以及装置200的温度变化。在一些实施例中,该传感器组件214还可以包括磁传感器,压力传感器或温度传感器。
通信组件216被配置为便于装置200和其他设备之间有线或无线方式的通信。装置200可以接入基于通信标准的无线网络,如WiFi(WIreless-Fidelity,无线保真)。在一个示例性实施例中,通信组件216经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件216还包括近场通信(Near FieldCommunication,简称NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RadioFrequency Identification,简称RFID)技术,红外数据协会(Infrared DataAssociation,简称IrDA)技术,超宽带(Ultra Wideband,简称UWB)技术,蓝牙技术和其他技术来实现。
在示例性实施例中,装置200可以被一个或多个应用专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)、数字信号处理器、数字信号处理设备、可编程逻辑器件、现场可编程门阵列、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法。
图3是根据一示例性实施例示出的一种视频录制方法的流程图。该视频录制方法的适用范围和执行主体,例如,该方法用于图1所示实施环境的智能设备110中。如图3所示,该视频录制方法,可以由智能设备110执行,可以包括以下步骤。
在步骤310中,接收视频录制功能的触发指令,进行音视频数据的持续采集;
目前业内,多使用H264(视频编码格式的一种)格式的录像方案,但在同样的数据量下,H265(视频编码格式的一种)比H264的画质要好。在降低码率的情况下,H265产生的录像文件要小,在同样大小的TF卡(即SD卡)情况下,H265可以录制更长时间的视频。
用户可以在交互界面选择所需的视频编码格式(H264或H265),智能设备110接收视频录制功能的触发指令,该触发指令包括用户所选择的视频编码格式。其中,持续采集的音视频数据包括音频数据和视频数据,对于视频数据可以采用用户所选择的视频编码格式进行编码,而采集的音频数据可以采用ACC(Advanced Audio Coding,高级音频编码技术)编码方式进行编码。
可选的,在进行音视频数据的持续采集之前,还包括:根据触发指令指示的视频编码格式,缓存与所示视频编码格式对应的编码参数。
当触发指令指示的视频编码格式为H265时,在缓存所采集的音视频数据之前需要缓存VPS(Video Parameter Set,视频参数集)、SPS(Sequence Parameter Sets,序列参数集)和PPS(Picture Parameter Set,图像参数集)等编码参数。
当触发指令指示的视频编码格式为H264时,在缓存所采集的音视频数据之前需要缓存SPS(Sequence Parameter Sets,序列参数集)和PPS(Picture Parameter Set,图像参数集)等编码参数。也就是说,选择H265格式,需要多缓存参数VPS。
所采集的视频数据按照缓存的编码参数进行编码,得到编码后的视频数据。同样的,需要提前缓存ACC音频编码技术的音频编码参数,所采集的音频数据按照缓存的音频编码参数得到编码后的音频数据。
其中,VPS:(1)用于解释编码过的视频序列的整体结构,包括时域子层依赖关系等。HEVC(即H265)中加入该结构的主要目的是兼容标准在系统的多子层方面的扩展,处理比如未来的可分级或者多视点视频使用原先的解码器进行解码但是其所需的信息可能会被解码器忽略的问题。(2)对于给定视频序列的某一个子层,无论其SPS相不相同,都共享一个VPS。其主要包含的信息有:多个子层或操作点共享的语法元素;档次和级别等会话关键信息;其他不属于SPS的操作点特定信息。(3)编码生成的码流中,第一个NAL单元携带的就是VPS信息。
SPS:(1)一段HEVC码流可能包含一个或者多个编码视频序列,每个视频序列由一个随机接入点开始,即IDR/BLA/CRA。序列参数集SPS包含该视频序列中所有slice(切片)需要的信息。(2)SPS的内容大致可以分为几个部分:1、自引ID;2、解码相关信息,如档次级别、分辨率、子层数等;3、某档次中的功能开关标识及该功能的参数;4、对结构和变换系数编码灵活性的限制信息;5、时域可分级信息;6、VUI(视频用户接口)。
PPS(图像参数集Picture Parameter Set):(1)PPS包含每一帧可能不同的设置信息,其内容同H.264中的大致类似,主要包括:1、自引信息;2、初始图像控制信息,如初始QP等;3、分块信息。(2)在解码开始的时候,所有的PPS全部是非活动状态,而且在解码的任意时刻,最多只能有一个PPS处于激活状态。当某部分码流引用了某个PPS的时候,这个PPS便被激活,称为活动PPS,一直到另一个PPS被激活。
VPS包含了相应的编码图像的信息。SPS包含的是针对一连续编码视频序列的参数(标识符seq_parameter_set_id、帧数及POC的约束、参考帧数目、解码图像尺寸和帧场编码模式选择标识等等)。PPS对应的是一个序列中某一幅图像或者某几幅图像,其参数如标识符pic_parameter_set_id、可选的seq_parameter_set_id、熵编码模式选择标识、片组数目、初始量化参数和去方块滤波系数调整标识等等。
在步骤320中,缓存持续采集的所述音视频数据;
具体的,智能设备110调用所配置的缓冲线程(CacheThread)来缓存不断采集到的经过编码后的音视频数据。
可选的,如图4所示,步骤320具体包括:
在步骤321中,创建音视频缓存队列,并将持续采集的所述音视频数据写入所述音视频缓存队列中;
具体的,如图5所示,智能设备110调用所配置的缓冲线程,通过缓冲线程根据用户选择的视频编码格式缓存编码参数,选择H265时缓存VPS、PPS、SPS,选择H264时缓存PPS和SPS。通过缓冲线程创建音视频缓存队列,音视频缓存队列可以为2个循环队列,分别为视频循环队列和音频循环队列。视频循环队列用于缓存采集到的经过编码的视频数据,音频循环队列用于缓存采集到的经过编码的音频数据。
在步骤322中,若逾期未接收到所述视频保存指令,删除最早写入的音视频数据,并在所述音视频缓存队列中写入最新采集的音视频数据。
若逾期(如已缓存2秒)未接收到视频保存指令,删除最早写入的视频数据,并按照删除后的视频数据录制时间,删除相应时间之前写入的音频数据。举例来说,假设已缓存了2秒的音视频数据,可以删除第一秒采集的音视频数据,然后写入第三秒采集的音视频数据。
在完成视频数据和音频数据的删除后,分别在视频循环队列中写入最新采集的视频数据,在所述音频循环队列中写入最新采集的音频数据。写入的音视频数据均为按照用户选择的编码格式编码后的数据,视频编码和音频编码的方法均采用现有技术实现,在此不再赘述,
其中,如图6所示,步骤322具体可以包括以下步骤:
在步骤3221中,若所述音视频缓存队列中队头至队尾的音视频录制时间间隔大于预设时间间隔且仍未接收到所述视频保存指令,从队头开始删除缓存的音视频数据,直到删除至下一帧为音视频数据的关键帧;
需要说明的是,已缓存的音视频数据录制时间可以是队尾视频帧录制时间-队头视频帧录制时间。如果该时间间隔超过预设时间间隔(如2秒),则从队头开始删除缓存的音视频数据,队头缓存的是整个队列中最早缓存的音视频数据。
其中,关键帧是指角色或者物体运动或变化中的关键动作所处的那一帧。在视频编码过程中即可对音视频数据的关键帧进行标记。关键帧的提取可以采用现有技术实现,本发明对此不做限定。
需要解释的是,如果视频文件的第一帧不是关键帧,则在视频刚开始播放的时候,不会出现完整的图像,会出现马赛克或绿色的画面,因此从队头开始删除缓存的音视频数据,直到删除至下一帧为关键帧。也就是说,删除至关键帧的前一帧,保留关键帧,从而缓存的音视频数据的第一帧永远是关键帧,在播放缓存的音视频数据时可以是完整的图像,不会出现马赛克或绿色的画面。
在步骤3222中,在完成所述音视频数据的删除后,从所述音视频缓存队列的队尾插入最新采集的音视频数据。
具体的,可以先从视频循环队列的队头删除缓存的视频数据,直到删除至下一帧为视频数据的关键帧。在完成视频缓存的删除之后,根据视频循环队列中队头的视频录制时间,删除音频循环队列中在该视频录制时间之前缓存的音频数据。
在完成上述音频数据和视频数据的删除后,在视频循环队列的队尾插入最新采集的视频数据,在音频循环队列的队尾插入最新采集的音频数据。
举例来说,假设已缓存了100帧画面依次标记为1-100,此时第1帧为队头、第100帧为队尾,假设第53帧是关键帧,删除第1帧至第52帧。假设在第100帧之后又插入了50帧画面,50帧画面依次标记为101-150,则第53帧作新的队头,第150帧作为新的队尾。
在步骤330中,接收视频保存指令,触发创建多个文件保存线程,通过所述多个文件保存线程交替将已缓存的音视频数据分段保存为视频文件。
需要说明的是,上述对音视频数据的缓存是在用户发起真正录像之前,已经进行了音视频数据的预录,因为缓存空间有限,所以可以定时(每2秒)删除较早缓存的音视频数据。而在用户触发视频保存功能后,智能设备110接收视频保存指令,表示用户发起了真正录像,此时不再删除缓存的音视频数据,将持续采集的音视频数据进行缓存。
其中,为了提高文件保存速度,在接收到视频保存指令时,可以创建多个文件保存线程,通过多个文件保存线程的交替将已缓存的音视频数据分段保存为视频文件。
进一步的,上述步骤330包括:通过文件保存线程将所述视频编码格式对应的编码参数与所述音视频数据一并保存为视频文件。
如图5所示,智能设备110通过调用控制线程创建第一线程(MuxerThread1)和第二线程(MuxerThread2),如图7所示,如果用户选择H265格式的录像,则视频文件中需要先依次写入SPS、PPS和VPS参数,如果用户选择H264格式的录像,则视频文件中先写入SPS和PPS参数,再根据音视频缓存队列中视频录制的时间,由第一线程和第二线程交替将音视频数据分段保存至已写入编码参数的视频文件(如MP4格式)中。举例来说,由第一线程将00:00-00:02时间段的音视频数据保存为视频文件。第二线程将00:02-00:04时间段的音视频数据保存为视频文件,由第一线程将00:04-00:06时间段的音视频数据保存为视频文件,以此类推,由第一线程和第二线程交替将缓存的音视频数据分段保存为视频文件。
现有的录像设备所采用的录像方案,从保存一个录像文件(停止录像)到新建一个录像文件(重新开始录像),是需要一定的时间间隔的;而在这段时间内,录像程序至少需要完成释放解码器和封装器、重新创建封装器和解码器等动作,不能进行录像,即所谓的漏秒现象,漏秒时间通常在ls左右。因此现有录像方案并不能真正实现持续录像,在漏秒的时间段内,极有可能发生重要事件,却不能被录制到录像文件中。
而为了解决漏秒现象,通过两个封装器交替执行对所述音视频数据的封装操作,在一个封装器停止一次封装过程之前,预先启动另一个封装器并开始封装操作,这种方式虽消除了漏秒现象,但是又引入了新的问题,由于前一个封装器停止封装又启动了另一个封装器进行封装,使得相邻两个录像文件之间存在重叠部分,浪费了录像文件的存储空间。
有上述可知,现有技术要不存在漏秒现象,要不存在重叠现象,相邻两个录像文件之间始终无法实现完美的衔接。本发明上述示例性实施例提供的技术方案,通过缓存持续采集的音视频数据,然后由多个文件保存线程交替将缓存的音视频数据分段保存为视频文件,由于音视频数据提前进行了缓存,所以既避免了音视频数据的漏秒现象,又避免了相邻两个视频文件之间存在重叠部分,减小了视频文件大小,节省了视频文件存储空间;通过多个文件保存线程交替进行保存操作,加快了视频文件保存速度。
进一步的,如图8所示,上述步骤330具体包括:
在步骤331中,接收视频保存指令,触发创建第一线程,由所述第一线程将所述音视频数据的起始帧至目标帧的前一帧保存为视频文件;所述目标帧为距离起始帧预设时间段后出现的关键帧;
具体的,智能设备110接收视频保存指令,调用控制线程首先创建第一线程(为进行区分,将多个文件保存线程依次称为第一线程、第二线程),如果用户选择H265格式的录像,由第一线程将SPS、PPS和VPS参数写入视频文件(如果用户选择H264格式的录像,由第一线程将SPS和PPS参数写入视频文件),并与缓存的音视频数据的起始帧至目标帧的前一帧一并保存为视频文件,其中,目标帧是指起始帧之后经过预设时间段(如2分钟)后出现的关键帧。在保存音视频数据时,需保证将目标帧保存至下个视频文件中,以使下个视频文件开始播放时是完整的图像,而不是马赛克或绿色画面。
可选的,如图9所示,步骤331具体包括:
在步骤3311中,接收视频保存指令,触发创建第一线程,由所述第一线程将距离起始帧预设时间段内采集的音视频数据保存为视频文件;
具体的,智能设备110接收用户触发的视频保存指令,调用控制线程首先创建第一线程,由第一线程将用户选择的编码格式所对应的编码参数与预设时间段(如2分钟)内缓存的音视频数据保存为视频文件。举例来说,根据起始帧采集时间,将距离起始帧采集时间2分钟内缓存的音视频数据保存到视频文件中。
在步骤3312中,若到达所述预设时间段仍未接收到视频停止保存指令,向所述第一线程发送关键帧查找指令,所述关键帧查找指令的发送触发所述第一线程确定所述预设时间段后待保存的音视频数据是否为关键帧;
若到达预设时间段(如2分钟)仍未接收到用户触发的视频停止保存指令,通过控制线程向第一线程发送关键帧查找指令。第一线程接收到该关键帧查找指令后,在保存预设时间段后的音视频数据时,都会判断待保存的音视频数据是否是关键帧。
在步骤3313中,若不是关键帧,继续由第一线程将预设时间段后待保存的音视频数据保存至所述视频文件中,直到所述待保存的音视频数据为关键帧,则停止保存操作。
如果第一线程发现预设时间段后待保存的音视频数据是关键帧,则向控制线程发送启动下一个视频文件命令,并自动退出。控制线程接收到启动下一个视频文件命令后,创建第二线程,由第二线程进行下一段音视频数据的保存。
相反的,如果第一线程确定预设时间段后待保存的音视频数据不是关键帧,则继续由第一线程将该待保存的音视频数据保存至视频文件中,直到待保存的音视频数据是关键帧,则第一线程停止保存操作,启动第二线程进行下个视频文件的保存。
举例来说,第一线程将编码参数和已缓存的音视频数据保存到视频文件中,在到达录像分割时间2分钟时,智能设备110仍未接收到用户触发的视频停止保存指令,调用控制线程向第一线程发送关键帧查找命令,第一线程在接收到该命令后,都会判断后续待保存的视频帧是否是关键帧,如果不是则继续保存至视频文件中,如果是,则停止保存,并创建第二线程,由第二线程将后续待保存的视频帧保存至下个视频文件中。
在步骤332中,创建第二线程,将所述目标帧作为新起始帧,由所述第二线程将将所述音视频数据的新起始帧至新目标帧的前一帧保存为视频文件;所述新目标帧为距离新起始帧预设时间段后出现的关键帧。
具体的,在第一线程将起始帧至目标帧前一帧的音视频数据保存为视频文件后,第一线程停止将缓存的音视频数据保存为视频文件,向控制线程发送启动下一个视频文件命令,并自动退出。
智能设备110的控制线程接收到该启动下一个视频文件命令后,创建第二线程。在第一线程完成音视频数据的第一分段保存后,目标帧作为新起始帧,由第二线程将新起始帧之后预设时间段内(2分钟内)缓存的音视频数据保存为视频文件;若到达预设时间段仍未接收到视频停止保存指令,调用控制线程向第二线程发送关键帧查找指令,第二线程判断预设时间段后的待保存的音视频数据是否为关键帧;如果不是关键帧,继续由第二线程将待保存的音视频数据保存到视频文件中,直到待保存的音视频数据为关键帧,则第二线程停止保存视频文件,再次启动第一线程,由第一线程进行下个视频文件的保存。如此通过第一线程和第二线程的交替,不断将缓存的音视频数据保存为视频文件。
如图10所示,控制线程接收到启动下一个视频文件命令后,启动文件保存线程,控制线程向文件保存线程发送I帧(即关键帧)查找命令,文件保存线程接收I帧查找命令,查找I帧,在找到I帧时停止当前文件保存线程并向控制线程发送启动新文件保存线程命令。控制线程接收到启动新文件保存线程命令后,启动新的文件保存线程。之后,控制线程继续向新的文件保存线程发送I帧查找命令,重复上述过程,实现两个文件保存线程之间的交替。
下述为本发明装置实施例,可以用于执行本发明上述智能设备110执行的视频录制方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开视频录制方法实施例。
图11是根据一示例性实施例示出的一种视频录制装置的框图,该视频录制装置可以用于图1所示实施环境的智能设备110中,执行图3-10任一所示的视频录制方法的全部或者部分步骤。如图11所示,该装置包括但不限于:数据采集模块1110、数据缓存模块1120和数据保存模块1130;
数据采集模块1110,用于接收视频录制功能的触发指令,进行音视频数据的持续采集;
数据缓存模块1120,用于缓存持续采集的所述音视频数据;
数据保存模块1130,用于接收视频保存指令,触发创建多个文件保存线程,通过所述多个文件保存线程交替将已缓存的音视频数据分段保存为视频文件。
上述装置中各个模块的功能和作用的实现过程具体详见上述视频录制方法中对应步骤的实现过程,在此不再赘述。
数据采集模块1110比如可以是图2中的某一个物理结构传感器组件214。
数据缓存模块1120和数据保存模块1130也可以是功能模块,用于执行上述视频录制方法中的对应步骤。可以理解,这些模块可以通过硬件、软件、或二者结合来实现。当以硬件方式实现时,这些模块可以实施为一个或多个硬件模块,例如一个或多个专用集成电路。当以软件方式实现时,这些模块可以实施为在一个或多个处理器上执行的一个或多个计算机程序,例如图2的处理器218所执行的存储在存储器204中的程序。
可选的,本发明还提供一种电子设备,该电子设备可以用于图1所示实施环境的智能设备110中,执行图3-图10任一所示的视频录制方法的全部或者部分步骤。所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述示例性实施例所述的视频录制方法。
该实施例中的电子设备的处理器执行操作的具体方式已经在有关该视频录制方法的实施例中执行了详细描述,此处将不做详细阐述说明。
在示例性实施例中,还提供了一种存储介质,该存储介质为计算机可读存储介质,例如可以为包括指令的临时性和非临时性计算机可读存储介质。该存储介质存储有计算机程序,该计算机程序可由装置200的处理器218执行以完成上述视频录制方法。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种视频录制的方法,其特征在于,包括:
接收视频录制功能的触发指令,进行音视频数据的持续采集;
缓存持续采集的所述音视频数据;
接收视频保存指令,触发创建多个文件保存线程,通过所述多个文件保存线程交替将已缓存的音视频数据分段保存为视频文件。
2.根据权利要求1所述的方法,其特征在于,所述缓存持续采集的所述音视频数据,包括:
创建音视频缓存队列,并将持续采集的所述音视频数据写入所述音视频缓存队列中;
若逾期未接收到所述视频保存指令,删除最早写入的音视频数据,并在所述音视频缓存队列中写入最新采集的音视频数据。
3.根据权利要求2所述的方法,其特征在于,所述若逾期未接收到所述视频保存指令,删除最早写入的音视频数据,并在所述音视频缓存队列中写入最新采集的音视频数据,包括:
若所述音视频缓存队列中队头至队尾的音视频录制时间间隔大于预设时间间隔且仍未接收到所述视频保存指令,从队头开始删除缓存的音视频数据,直到删除至下一帧为音视频数据的关键帧;
在完成所述音视频数据的删除后,从所述音视频缓存队列的队尾插入最新采集的音视频数据。
4.根据权利要求1所述的方法,其特征在于,所述接收视频保存指令,触发创建多个文件保存线程,通过所述多个文件保存线程交替将已缓存的音视频数据分段保存为视频文件包括:
接收视频保存指令,触发创建第一线程,由所述第一线程将所述音视频数据的起始帧至目标帧的前一帧保存为视频文件;所述目标帧为距离起始帧预设时间段后出现的关键帧;
创建第二线程,将所述目标帧作为新起始帧,由所述第二线程将将所述音视频数据的新起始帧至新目标帧的前一帧保存为视频文件;所述新目标帧为距离新起始帧预设时间段后出现的关键帧。
5.根据权利要求4所述的方法,其特征在于,所述接收视频保存指令,触发创建第一线程,由所述第一线程将所述音视频数据的起始帧至目标帧的前一帧保存为视频文件;所述目标帧为距离起始帧预设时间段后出现的关键帧,包括:
接收视频保存指令,触发创建第一线程,由所述第一线程将距离起始帧预设时间段内采集的音视频数据保存为视频文件;
若到达所述预设时间段仍未接收到视频停止保存指令,向所述第一线程发送关键帧查找指令,所述关键帧查找指令的发送触发所述第一线程确定所述预设时间段后待保存的音视频数据是否为关键帧;
若不是关键帧,继续由第一线程将预设时间段后待保存的音视频数据保存至所述视频文件中,直到所述待保存的音视频数据为关键帧,则停止保存操作。
6.根据权利要求1所述的方法,其特征在于,所述进行音视频数据的持续采集之前,所述方法还包括:
根据所述触发指令指示的视频编码格式,缓存与所述视频编码格式对应的编码参数。
7.根据权利要求7所述的方法,其特征在于,所述通过所述多个文件保存线程交替将已缓存的音视频数据分段保存为视频文件,具体包括:
通过所述文件保存线程将所述视频编码格式对应的编码参数与所述音视频数据一并保存为视频文件。
8.一种视频录制的装置,其特征在于,包括:
数据采集模块,用于接收视频录制功能的触发指令,进行音视频数据的持续采集;
数据缓存模块,用于缓存持续采集的所述音视频数据;
数据保存模块,用于接收视频保存指令,触发创建多个文件保存线程,通过所述多个文件保存线程交替将已缓存的音视频数据分段保存为视频文件。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-7任一项所述的视频录制方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序可由处理器执行完成权利要求1-7任一项所述的视频录制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711091067.0A CN107800988A (zh) | 2017-11-08 | 2017-11-08 | 一种视频录制的方法及装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711091067.0A CN107800988A (zh) | 2017-11-08 | 2017-11-08 | 一种视频录制的方法及装置、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107800988A true CN107800988A (zh) | 2018-03-13 |
Family
ID=61549170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711091067.0A Pending CN107800988A (zh) | 2017-11-08 | 2017-11-08 | 一种视频录制的方法及装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107800988A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108668096A (zh) * | 2018-05-18 | 2018-10-16 | 京东方科技集团股份有限公司 | 视频数据的管理方法、装置及录像设备 |
CN109982019A (zh) * | 2019-03-28 | 2019-07-05 | 中电海康集团有限公司 | 一种用于嫌疑人审讯过程监督的智能取证系统与方法 |
CN110324549A (zh) * | 2018-03-28 | 2019-10-11 | 沈阳美行科技有限公司 | 一种录像方法、装置和设备 |
CN110324698A (zh) * | 2018-03-28 | 2019-10-11 | 努比亚技术有限公司 | 一种视频录制方法、终端及计算机可读存储介质 |
CN110324552A (zh) * | 2018-03-29 | 2019-10-11 | 沈阳美行科技有限公司 | 音视频数据的抓取方法、抓拍方法、相关装置设备及系统 |
CN111078155A (zh) * | 2019-12-22 | 2020-04-28 | 浪潮电子信息产业股份有限公司 | 一种视频文件读取方法、装置、设备、介质 |
CN111225171A (zh) * | 2020-01-19 | 2020-06-02 | 普联技术有限公司 | 一种视频录制方法、装置、终端设备及计算机存储介质 |
CN112771880A (zh) * | 2020-03-13 | 2021-05-07 | 深圳市大疆创新科技有限公司 | 音频数据处理方法、电子设备及计算机可读存储介质 |
CN113225510A (zh) * | 2021-04-30 | 2021-08-06 | 深圳创维-Rgb电子有限公司 | 电视节目刻录方法、装置、设备及存储介质 |
CN114466149A (zh) * | 2022-02-18 | 2022-05-10 | 展讯半导体(成都)有限公司 | 视频分段录制方法、装置、终端设备及存储介质 |
CN114598895A (zh) * | 2020-12-04 | 2022-06-07 | 腾讯云计算(长沙)有限责任公司 | 音视频处理方法、装置、设备及计算机可读存储介质 |
CN116052701A (zh) * | 2022-07-07 | 2023-05-02 | 荣耀终端有限公司 | 一种音频处理方法及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140212107A1 (en) * | 2013-01-30 | 2014-07-31 | Felipe Saint-Jean | Systems and Methods for Session Recording and Sharing |
CN105049919A (zh) * | 2015-07-27 | 2015-11-11 | 青岛海信移动通信技术股份有限公司 | 一种多媒体文件的录制方法和装置 |
WO2015183637A1 (en) * | 2014-05-27 | 2015-12-03 | Thomson Licensing | Camera for combining still- and moving- images into a video |
CN105141869A (zh) * | 2015-08-19 | 2015-12-09 | 中山市天启电子科技有限公司 | 基于Android系统的分段录像数据处理方法 |
CN105430312A (zh) * | 2015-11-27 | 2016-03-23 | 福州瑞芯微电子股份有限公司 | 基于Android系统的录像无丢帧分段存储方法及系统 |
-
2017
- 2017-11-08 CN CN201711091067.0A patent/CN107800988A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140212107A1 (en) * | 2013-01-30 | 2014-07-31 | Felipe Saint-Jean | Systems and Methods for Session Recording and Sharing |
WO2015183637A1 (en) * | 2014-05-27 | 2015-12-03 | Thomson Licensing | Camera for combining still- and moving- images into a video |
CN105049919A (zh) * | 2015-07-27 | 2015-11-11 | 青岛海信移动通信技术股份有限公司 | 一种多媒体文件的录制方法和装置 |
CN105141869A (zh) * | 2015-08-19 | 2015-12-09 | 中山市天启电子科技有限公司 | 基于Android系统的分段录像数据处理方法 |
CN105430312A (zh) * | 2015-11-27 | 2016-03-23 | 福州瑞芯微电子股份有限公司 | 基于Android系统的录像无丢帧分段存储方法及系统 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110324549A (zh) * | 2018-03-28 | 2019-10-11 | 沈阳美行科技有限公司 | 一种录像方法、装置和设备 |
CN110324698A (zh) * | 2018-03-28 | 2019-10-11 | 努比亚技术有限公司 | 一种视频录制方法、终端及计算机可读存储介质 |
CN110324552A (zh) * | 2018-03-29 | 2019-10-11 | 沈阳美行科技有限公司 | 音视频数据的抓取方法、抓拍方法、相关装置设备及系统 |
CN108668096A (zh) * | 2018-05-18 | 2018-10-16 | 京东方科技集团股份有限公司 | 视频数据的管理方法、装置及录像设备 |
US11170821B2 (en) | 2018-05-18 | 2021-11-09 | Boe Technology Group Co., Ltd. | Video management method and apparatus, image capturing device, and storage medium |
CN109982019A (zh) * | 2019-03-28 | 2019-07-05 | 中电海康集团有限公司 | 一种用于嫌疑人审讯过程监督的智能取证系统与方法 |
CN111078155A (zh) * | 2019-12-22 | 2020-04-28 | 浪潮电子信息产业股份有限公司 | 一种视频文件读取方法、装置、设备、介质 |
CN111078155B (zh) * | 2019-12-22 | 2022-03-22 | 浪潮电子信息产业股份有限公司 | 一种视频文件读取方法、装置、设备、介质 |
CN111225171A (zh) * | 2020-01-19 | 2020-06-02 | 普联技术有限公司 | 一种视频录制方法、装置、终端设备及计算机存储介质 |
CN111225171B (zh) * | 2020-01-19 | 2022-10-14 | 普联技术有限公司 | 一种视频录制方法、装置、终端设备及计算机存储介质 |
CN112771880A (zh) * | 2020-03-13 | 2021-05-07 | 深圳市大疆创新科技有限公司 | 音频数据处理方法、电子设备及计算机可读存储介质 |
CN114598895A (zh) * | 2020-12-04 | 2022-06-07 | 腾讯云计算(长沙)有限责任公司 | 音视频处理方法、装置、设备及计算机可读存储介质 |
CN114598895B (zh) * | 2020-12-04 | 2023-08-11 | 腾讯云计算(长沙)有限责任公司 | 音视频处理方法、装置、设备及计算机可读存储介质 |
CN113225510A (zh) * | 2021-04-30 | 2021-08-06 | 深圳创维-Rgb电子有限公司 | 电视节目刻录方法、装置、设备及存储介质 |
CN114466149A (zh) * | 2022-02-18 | 2022-05-10 | 展讯半导体(成都)有限公司 | 视频分段录制方法、装置、终端设备及存储介质 |
CN116052701A (zh) * | 2022-07-07 | 2023-05-02 | 荣耀终端有限公司 | 一种音频处理方法及电子设备 |
CN116052701B (zh) * | 2022-07-07 | 2023-10-20 | 荣耀终端有限公司 | 一种音频处理方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107800988A (zh) | 一种视频录制的方法及装置、电子设备 | |
US11551721B2 (en) | Video recording method and device | |
CN104780439B (zh) | 视频的处理方法及装置 | |
US20170134654A1 (en) | Video recording method and device | |
CN104052922B (zh) | 图像数据处理方法和支持图像数据处理方法的电子设备 | |
KR101526081B1 (ko) | 감시 카메라로 촬영된 디지털 비디오 스트림을 제어가능하게 시청하는 시스템 및 방법 | |
CN103428555B (zh) | 一种多媒体文件的合成方法、系统及应用方法 | |
CN107223316A (zh) | 用于支持选择性回溯数据录制的系统和方法 | |
US9848120B2 (en) | System and method for preserving video clips from a handheld device | |
CN109587570B (zh) | 视频的播放方法和装置 | |
CN103297682A (zh) | 运动图像拍摄设备和使用摄像机装置的方法 | |
CN106412702A (zh) | 一种视频片段的截取方法和装置 | |
CN106559697A (zh) | 一种基于pvr机顶盒的录制文件封面显示方法及系统 | |
US10735360B2 (en) | Digital media messages and files | |
CN113923391B (zh) | 视频处理的方法、设备和存储介质 | |
CN107093436B (zh) | 预录的音视频数据的存储方法及装置、移动终端 | |
CN106027935A (zh) | 一种无漏帧分段录像系统及实现方法 | |
CN104408109B (zh) | 报警录像录制方法及装置 | |
US11095924B1 (en) | Method and device for providing a time-compressed preview of a pre-buffered video during a push-to-video communication session | |
CN107743264A (zh) | 视频录制方法及设备 | |
CN105323527A (zh) | 用于时移视频的曝光计量的系统和方法 | |
CN108322673B (zh) | 视频生成方法和视频生成装置 | |
CN103414935B (zh) | 基于用户身份信息截取音、视频的方法和装置 | |
CN103826078A (zh) | 视频数据线性存储方法、装置及终端 | |
CN107018442A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180313 |
|
RJ01 | Rejection of invention patent application after publication |