一种视频存储方法和装置与流程

文档序号:19589120发布日期:2020-01-03 10:01阅读:263来源:国知局
一种视频存储方法和装置与流程

本发明涉及存储领域,尤其涉及一种视频存储方法和装置。



背景技术:

目前,各种数码设备和智能终端等设备都已经可以录制1080p,甚至4k级别的高分辨率视频,由于这些视频的码率较大,如实际项目中测试发现4k级别的视频的码率可以达到5mb/s甚至更高,通常这些高分辨率的视频都是存储在内存中,如flash内存,虽然设备内部的flash内存有很高的读写速度,可以录制4k甚至更高分辨率的视频,但是flash内存空间一般相对较小,且不可以扩展,很容易被视频占满,影响设备的整个系统的运行速度。

与此同时,外置的存储卡由于其容量大,可以存放大量的音视频文件,被广泛使用在各种数码设备和智能终端等设备上,但是外置的存储卡的读写速度相对于内存的读写速度来说比较低,以sd卡(securedigitalmemorycard,安全数码卡)为例,class4速率级别的sd卡的写速度实际测试仅为3mb/s。

因此,由于外置存储卡较低的写入速度,导致了无法将高分辨率的视频实时录制到低速的外置存储卡中。



技术实现要素:

本发明的目的在于提供一种视频存储方法和装置,旨在解决现有技术不支持将高分辨率的视频实时录制到低速的外置存储卡中。

本发明的第一方面,提供一种视频存储方法,包括:

获取存储卡的写速度和视频平均码率;

若所述存储卡的写速度与所述视频平均码率的比值在预设的重组范围内,则对实时录制的视频进行数据重组,使得所述视频中满足预设的重组条件的帧被写入内存,并且所述满足预设的重组条件的帧在被转换为更小数据量的帧后与所述视频中的其他帧一起被实时写入所述存储卡。

本发明的第二方面,提供一种视频存储装置,包括:

获取模块,用于获取存储卡的写速度和视频平均码率;

重组模块,用于若所述存储卡的写速度与所述视频平均码率的比值在预设的重组范围内,则对实时录制的视频进行数据重组,使得所述视频中满足预设的重组条件的帧被写入内存,并且所述满足预设的重组条件的帧在被转换为更小数据量的帧后与所述视频中的其他帧一起被实时写入所述存储卡。

本发明与现有技术相比存在的有益效果是:通过判断当存储卡的写速度与视频平均码率的比值在预设的重组范围内时,对实时录制的视频进行数据重组,使得视频中满足预设的重组条件的帧被写入内存的同时被转换为更小数据量的帧,并与视频中的其他帧一起被实时写入所述存储卡,采用内存与外置存储卡结合存储的方式,实现对视频的动态重组,减少了写入存储卡的视频数据量,提高了将视频数据写入存储卡的速度,使得高分辨率的视频可以被实时录制到低速的外置存储卡中。

附图说明

图1是本发明实施例一提供的一种视频存储方法的流程图;

图2是本发明实施例二提供的一种视频存储方法的流程图;

图3是本发明实施例三提供的一种视频存储装置的结构示意图;

图4是本发明实施例四提供的一种视频存储装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下结合具体附图对本发明的实现进行详细的描述。

实施例一:

图1是本发明实施例一提供的一种视频存储方法的流程图,具体包括步骤s101至s102,详述如下:

s101、获取存储卡的写速度和视频平均码率。

存储卡为外置存储卡,其具体可以是sd卡。存储卡的写速度是指写入存储卡的数据的平均写入速度。

具体地,可以通过如下方法获取存储卡的写速度:

向存储卡一次性写入x个字节的数据,并统计出写入x个字节的数据需要的时间为t秒,则存储卡的写速度swsd可以通过公式swsd=x/t计算得到,其单位为字节/秒。

码率即比特率,是指每秒传送的比特(bit)数,比特率的单位为bps(bitpersecond),比特率越高,传送数据的速度越快。

具体地,可以通过如下方法获取视频平均码率:

首先,对尚未录制过任何视频的新设备而言,通过对每种格式的视频分别录制一段视频文件,获取视频文件的大小和录制时长,计算视频文件的大小与录制时长的比值得到每一种视频格式下的预估码率br0。

视频平均码率brt的初始值即为预估码率br0。

在每次视频录制过程中,可以对视频平均码率brt进行实时动态刷新,通过计算已经录制的文件大小与已经录制的时长的比值得到实时的视频平均码率brt。

当视频录制结束后,根据当前的视频平均码率brt对预估码率br0进行调整,具体的调整公式为:br0'=(brt+br0)/2,其中,br0'为调整后的预估码率。

在下一次视频录制开始前,视频平均码率brt的初始值即为调整后的预估码率br0'。

s102、若存储卡的写速度与视频平均码率的比值在预设的重组范围内,则对实时录制的视频进行数据重组,使得实时录制的视频中满足预设的重组条件的帧被写入内存,并且满足预设的重组条件的帧在被转换为更小数据量的帧后与视频中的其他帧一起被实时写入存储卡。

具体地,通过判断存储卡的写速度swsd与视频平均码率brt的比值是否在预设的重组范围内来决定是否需要对实时录制的视频进行数据重组。

如果swsd/brt的值过小,即写入存储卡的数据的写入速度远远低于视频的平均码率,导致写入存储卡的数据量很小,此时将视频直接录制到存储卡已经没有意义,因此在内存有空闲空间的情况下可以直接将视频直接录制在内存中,其中,内存可以是flash内存。

如果swsd/brt的值很大,即写入存储卡的数据的写入速度远远超过视频的平均码率,说明存储卡的写速度已经足够满足将视频实时录制到存储卡中,因此在存储卡有空闲空间的情况下可以直接将视频录制到存储卡中,如果存储卡没有空闲空间并且内存有空闲空间时,可以直接将视频录制到内存中。

当swsd/brt的值在预设的重组范围内时,需要对实时录制的视频进行数据重组。预设的重组范围可以设置为(th0,th1),其中,th0为小于1的数,th1为大于1的数,即当swsd/brt的值大于th0并且小于th1时认为swsd/brt的值在预设的重组范围内,通常th0可以设置为0.8,th1可以设置为1.2,但并不限于此,预设的重组范围(th0,th1)可以根据实际情况进行设置,此处不做限制。

需要说明的是,当swsd/brt的值为1时,写入存储卡的数据的写入速度与视频的平均码率相同,从理论上来说此时存储卡的写速度正好可以满足将视频实时录制到存储卡中,但是由于码率会存在波动,视频平均码率brt的值会发生变化,因此为了避免由于码率波动导致视频数据无法及时写入到存储卡中的情况,通过设置重组范围,使得当swsd/brt的值在1的附近范围内时对视频进行数据重组,从而确保视频可以被实时录制到存储卡中。

数据重组的过程包括将实时录制的视频中满足预设的重组条件的帧写入内存,同时将满足重组条件的帧转换为更小数据量的帧后与视频中的其他帧一起写入存储卡中。

预设的重组条件可以根据实际情况进行设置,例如可以设置为每隔固定数量的帧选择一帧或者几帧,使得可以均匀地将满足重组条件的帧写入内存中,但并不限于此,此处不做限制。

将满足重组条件的帧转换为更小数据量的帧后与视频中的其他帧一起写入存储卡,可以减少写入存储卡的视频数据量,确保视频可以被实时录制到存储卡中。但由于这种转换,虽然录制到存储卡中的视频可以播放,但视频质量可能会受到影响,因此将满足重组条件的帧写入内存,使得视频录制完成后可以将写入内存的帧复原到存储卡的视频中。

本实施例中,当存储卡的写速度与视频平均码率的比值在预设的重组范围内,对实时录制的视频进行数据重组,使得视频中满足预设的重组条件的帧被写入内存的同时被转换为更小数据量的帧,并与视频中的其他帧一起被实时写入所述存储卡,采用内存与外置存储卡结合存储的方式,实现对视频的动态重组,减少了写入存储卡的视频数据量,提高了将视频数据写入存储卡的速度,使得高分辨率的视频可以被实时录制到低速的外置存储卡中。

图2是本发明实施例二提供的一种视频存储方法的流程图,具体包括步骤s201至s206,详述如下:

s201、获取存储卡的写速度和视频平均码率。

存储卡为外置存储卡,其具体可以是sd卡。存储卡的写速度是指写入存储卡的数据的平均写入速度。

具体地,可以通过如下方法获取存储卡的写速度:

向存储卡一次性写入x个字节的数据,并统计出写入x个字节的数据需要的时间为t秒,则存储卡的写速度swsd可以通过公式swsd=x/t计算得到,其单位为字节/秒。

码率即比特率,是指每秒传送的比特(bit)数,比特率的单位为bps(bitpersecond),比特率越高,传送数据的速度越快。

具体地,可以通过如下方法获取视频平均码率:

首先,对尚未录制过任何视频的新设备而言,通过对每种格式的视频分别录制一段视频文件,获取视频文件的大小和录制时长,计算视频文件的大小与录制时长的比值得到每一种视频格式下的预估码率br0。

视频平均码率brt的初始值即为预估码率br0。

在每次视频录制过程中,可以对视频平均码率brt进行实时动态刷新,通过计算已经录制的文件大小与已经录制的时长的比值得到实时的视频平均码率brt。

当视频录制结束后,根据当前的视频平均码率brt对预估码率br0进行调整,具体的调整公式为:br0'=(brt+br0)/2,其中,br0'为调整后的预估码率。

在下一次视频录制开始前,视频平均码率brt的初始值即为调整后的预估码率br0'。

s202、若存储卡的写速度与视频平均码率的比值在预设的重组范围内,则根据视频平均码率计算需要写入内存的帧的帧间隔。

具体地,通过判断存储卡的写速度swsd与视频平均码率brt的比值是否在预设的重组范围内来决定是否需要对实时录制的视频进行数据重组,当swsd/brt的值在预设的重组范围内时,根据视频平均码率brt计算需要写入内存的帧的帧间隔。

帧间隔f可以通过公式f=fr/(fr*(1-swsd/brt))计算得到,其中,fr为帧率。帧率(framerate)是用于测量显示帧数的量度,测量单位为每秒显示帧数(framespersecond,fps)或赫兹(hz),帧率可以通过读取视频录制参数得到。例如,需要录制的视频的帧率fr为30,视频平均码率brt为5m/s,存储卡的写速度swsd为4m/s,则根据公式f=fr/(fr*(1-swsd/brt))计算得到的帧间隔f为5,表示30帧中每间隔5帧需要写入一帧到内存中。每秒钟有6帧需要写入到内存中。

需要说明的是,通过计算帧间隔均匀地将帧数据写入内存中,可以避免录制到存储卡上的视频播放不流畅的问题。因为如果不是均匀地将帧数据写入内存,而是一段时间写入内存的帧太多,则相应的写入存储卡的帧太少,会使得录制到存储卡上的视频的相邻帧的变化较大,导致在播放时出现不流畅的情况。

预设的重组范围可以设置为(th0,th1),其中,th0为小于1的数,th1为大于1的数,即当swsd/brt的值大于th0并且小于th1时认为swsd/brt的值在预设的重组范围内,通常th0可以设置为0.8,th1可以设置为1.2,但并不限于此,预设的重组范围(th0,th1)可以根据实际情况进行设置,此处不做限制。

s203、从实时录制的视频中读取一帧作为当前帧,并根据帧间隔对当前帧进行帧重组。

具体地,根据帧间隔对当前帧进行帧重组可以通过如下步骤s2031至步骤s2035实现:

s2031、根据帧间隔判断是否需要将当前帧写入内存。

具体地,根据步骤s202计算出的帧间隔判断是否需要将当前帧写入内存,如果不需要将当前帧写入内存,则执行步骤s2032,否则执行步骤s2033。

s2032、直接将当前帧写入存储卡。

具体地,若不需要将当前帧写入内存,则直接将当前帧写入存储卡。

进一步地,当存储卡的写速度相对于视频平均码率较慢时,可以先将当前帧写入缓存中,再将缓存中的数据写入存储卡,从而可以使更多的视频数据被写入到存储卡中,同时监测缓存状态,当缓存满时,说明此时存储卡的写速度较慢,可以将数据写入内存中,等到缓存有空闲空间时再重新将数据写入缓存中。

将当前帧直接写入存储卡后,流程跳转到步骤s204继续执行。

s2033、将当前帧写入内存,并获取当前帧的帧类型,其中,帧类型包括i帧、b帧和p帧。

具体地,若根据帧间隔判断需要将当前帧写入内存,则将当前帧写入内存中,并获取当前帧的帧类型。

帧类型包括i帧、b帧和p帧。i帧是帧内编码帧,没有参考帧,b帧是双向预测内插编码帧,以前面的i或p帧和后面的p帧为参考帧,p帧为前向预测编码帧,以前面的i帧为参考帧。当某一帧的参考帧较多时,其编码后的数据量相对较小,同一个帧如果采用这三种帧类型进行编码后其数据量大小依次为:i帧最大、p帧次之、b帧最小,因此将某一帧从i帧转换为p帧或者从p帧转换为i帧,都可以减少该帧的数据量。

由于i帧和p帧都会作为其他帧的参考帧,对其他帧有一定影响,而b帧不会作为参考帧,对其他帧没有影响,因此优先将b帧写入内存,即如果当前帧的帧类型为b帧,则将b帧写入内存后,流程跳转到步骤s204继续执行;如果当前帧的帧类型为p帧,则将p帧写入内存后,继续执行步骤s2034;如果当前帧的帧类型为i帧,则将i帧写入内存后,继续执行步骤s2035。

s2034、将当前帧进行解码,并以当前帧的前一帧和后一帧为参考帧对解码后的当前帧重新编码,得到帧类型为b帧的bp帧,将bp帧写入存储卡。

具体地,如果当前帧的帧类型为p帧,则对当前帧进行解码,由于视频相邻帧变化不大,因此可以以当前帧的前一帧和后一帧为参考帧,将当前帧重新编码成b帧类型的帧,标记为bp帧,并将该bp帧写入存储卡中,并且在解码时该bp帧可以作为后续b帧的参考帧。

将bp帧写入存储卡后,流程跳转到步骤s204继续执行。

s2035、将当前帧进行解码,并以当前帧的前一帧为参考帧对解码后的当前帧重新编码,得到帧类型为p帧的pi帧,将pi帧写入存储卡。

具体地,如果当前帧的帧类型为i帧,则对当前帧进行解码,由于视频相邻帧变化不大,因此可以以当前帧的前一帧为参考帧,将当前帧重新编码成p帧类型的帧,标记为pi帧,并将该pi帧写入存储卡中,并且在解码时该pi帧可以作为后续p帧和b帧的参考帧。

将pi帧写入存储卡后,流程跳转到步骤s204继续执行。

以上通过步骤s2031至步骤s2035对当前帧完成帧重组后,使得满足帧间隔这一重组条件的当前帧被写入内存,同时将当前帧转换为更小数据量的帧后与视频中的其他帧一起被实时写入存储卡。

s204、更新视频平均码率。

具体地,在步骤s203完成对当前帧的帧重组后,实时动态刷新视频平均码率brt,通过计算已经录制的文件大小与已经录制的时长的比值更新视频平均码率brt。

s205、根据更新后的视频平均码率重新计算帧间隔,并根据重新计算后的帧间隔对当前帧的下一帧进行帧重组,直到视频录制结束为止。

具体地,判断当前视频录制是否结束,如果视频录制尚未结束,则根据步骤s204计算出的更新后的视频平均码率brt,按照步骤s202中帧间隔的计算方法重新计算帧间隔,并根据重新计算后的帧间隔对当前帧的下一帧继续进行帧重组,直到视频录制结束后继续执行步骤s206。

需要说明的是,在本发明实施例中,当前帧的下一帧的帧重组的处理方式与当前帧的帧重组可以使用相同的处理方式,即,对当前帧的下一帧的帧重组可以采用步骤s203对当前帧的帧重组相同的处理过程。

s206、当检测到视频录制结束后,将写入内存的视频帧复原到写入存储卡的视频中。

视频录制结束后,虽然写入存储卡中的视频可以播放,但由于部分视频帧被写入到了内存中,使得写入存储卡中的视频的质量会受到一定程度的影响,并且写入存储卡中的视频数据也已经不是完成的原始视频数据,因此为了保证视频数据的完整性,将写入内存的视频帧复原到写入存储卡的视频中,由于视频的大部分数据都已经被录制到存储卡中,内存中的视频帧只占整个视频数据的一小部分,因此复原需要的时间很短,并且可以在后台完成,同时在复原前后和复原过程中也不会影响已经录制在存储卡中的视频的正常播放。

具体地,将写入内存的视频帧复原到写入存储卡的视频中的过程可以通过如下步骤s2061至步骤s2062实现:

s2061、从内存中读取每个视频帧,并获取每个视频帧的时间戳。

时间戳(timestamp)通常是一个字符序列,唯一地标识某一刻的时间。无论是i帧、p帧还是b帧,每一帧数据都会有一个时间戳,通过时间戳可以标识每一帧的先后顺序。

具体地,从内存中读取每个视频帧fflash,并获取fflash的时间戳tflash。

s2062、若从写入存储卡的视频中查询到某一帧的时间戳与内存中的视频帧的时间戳相同,则用内存中的视频帧替换查询到的这一帧,否则,根据内存中的视频帧的时间戳将该视频帧插入到写入存储卡的视频的两帧之间,并且满足内存中的视频帧的时间戳在该两帧的时间戳之间。

具体地,步骤s2062对每个视频帧fflash的复原过程可以通过如下步骤a)和步骤b)完成,详细说明如下:

a)读取写入存储卡的视频中的一帧数据fsd,并获取fsd的时间戳tsd。

b)判断tsd是否小于tflash,并根据判断结果将fflash插入到写入存储卡的视频中的合适位置。

若tsd小于tflash,则判断当前写入存储卡的视频中的帧数据是否已经全部被读取,如果全部被读取,则直接将fflash及其之后的全部视频帧插入到写入存储卡的视频的最后,此时跳出步骤s206,整个流程结束;如果没有全部被读取,则返回步骤a)继续读取fsd的下一帧。

若tsd等于tflash,则用fflash替换fsd;若tsd大于tflash,则将fflash插入到fsd之前。然后判断当前写入存储卡的视频中的帧数据是否已经全部被读取,如果全部被读取,则直接将fflash之后的全部视频帧插入到写入存储卡的视频的最后,此时跳出步骤s206,整个流程结束;如果没有全部被读取,则继续从内存中读取下一个视频帧fflash,重复步骤a)和步骤b)的复原过程,直到写入内存的视频帧全部被复原到写入存储卡的视频中为止。

本实施例中,当存储卡的写速度与视频平均码率的比值在预设的重组范围内,根据视频平均码率计算需要写入内存的帧的帧间隔,并从实时录制的视频中读取一帧作为当前帧,对当前帧进行帧重组,通过帧重组将满足帧间隔这一重组条件的当前帧被写入内存,同时将当前帧转换为更小数据量的帧后与视频中的其他帧一起被实时写入存储卡,采用内存与外置存储卡结合存储的方式,实现对视频的动态重组,减少了写入存储卡的视频数据量,提高了将视频数据写入存储卡的速度,使得高分辨率的视频可以被实时录制到低速的外置存储卡中。同时,在视频录制完成后,将写入内存的视频帧复原到写入存储卡的视频中,保证了视频的完整性,由于视频的大部分数据都已经被录制到存储卡中,内存中的视频帧只占整个视频数据的一小部分,因此复原需要的时间很短,并且可以在后台完成,同时在复原前后和复原过程中也不会影响已经录制在存储卡中的视频的正常播放。

实施例三:

图3是本发明实施例三提供的一种视频存储装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图3示例的一种视频存储装置可以是前述实施例一提供的视频存储方法的执行主体,其可以是终端或者终端的一个功能模块。图3示例的一种视频存储装置包括:获取模块31和重组模块32。各功能模块详细说明如下:

获取模块31,用于获取存储卡的写速度和视频平均码率;

重组模块32,用于若获取模块31获取到的存储卡的写速度与视频平均码率的比值在预设的重组范围内,则对实时录制的视频进行数据重组,使得实时录制的视频中满足预设的重组条件的帧被写入内存,并且满足预设的重组条件的帧在被转换为更小数据量的帧后与视频中的其他帧一起被实时写入存储卡。

本实施例提供的一种视频存储装置中各模块实现各自功能的过程,具体可参考前述图1所示实施例的描述,此处不再赘述。

从上述图3示例的一种视频存储装置可知,本实施例中,当存储卡的写速度与视频平均码率的比值在预设的重组范围内,对实时录制的视频进行数据重组,使得视频中满足预设的重组条件的帧被写入内存的同时被转换为更小数据量的帧,并与视频中的其他帧一起被实时写入所述存储卡,实现了对视频的动态重组,减少了写入存储卡的视频数据量,提高了将视频数据写入存储卡的速度,使得高分辨率的视频可以被实时录制到低速的外置存储卡中。

实施例四:

图4是本发明实施例四提供的一种视频存储装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图4示例的一种视频存储装置可以是前述实施例二提供的视频存储方法的执行主体,其可以是终端或者终端的一个功能模块。图4示例的一种视频存储装置包括:获取模块41和重组模块42。各功能模块详细说明如下:

获取模块41,用于获取存储卡的写速度和视频平均码率;

重组模块42,用于若获取模块41获取到的存储卡的写速度与视频平均码率的比值在预设的重组范围内,则对实时录制的视频进行数据重组,使得实时录制的视频中满足预设的重组条件的帧被写入内存,并且满足预设的重组条件的帧在被转换为更小数据量的帧后与视频中的其他帧一起被实时写入存储卡。

进一步地,重组模块42包括:

帧间隔计算子模块421,用于根据视频平均码率计算需要写入内存的帧的帧间隔;

当前帧重组子模块422,用于从实时录制的视频中读取一帧作为当前帧,并根据帧间隔计算子模块421计算的帧间隔对当前帧进行帧重组。

码率更新子模块423,用于更新视频平均码率;

下一帧重组子模块424,用于根据码率更新子模块423更新后的视频平均码率重新计算帧间隔,并根据重新计算后的帧间隔对当前帧的下一帧进行帧重组,直到视频录制结束为止。

进一步地,当前帧重组子模块422包括:

判断单元4221,用于根据帧间隔计算子模块421计算的帧间隔判断是否需要将当前帧写入内存;

第一处理单元4222,用于若不需要将当前帧写入内存,则直接将当前帧写入存储卡;

第二处理单元4223,用于若需要将当前帧写入内存,则将当前帧写入内存,并获取当前帧的帧类型,其中,帧类型包括i帧、b帧和p帧;

第一解码单元4224,用于若当前帧的帧类型为p帧,则将当前帧进行解码,并以当前帧的前一帧和后一帧为参考帧对解码后的当前帧重新编码,得到帧类型为b帧的bp帧,将bp帧写入存储卡;

第二解码单元4225,用于若当前帧的帧类型为所述i帧,则将当前帧进行解码,并以当前帧的前一帧为参考帧对解码后的当前帧重新编码,得到帧类型为p帧的pi帧,将pi帧写入存储卡。

进一步地,该装置还包括:

复原模块43,用于当检测到视频录制结束后,将写入内存的视频帧复原到写入存储卡的视频中。

进一步地,复原模块43包括:

读取子模块431,用于从内存中读取每个视频帧,并获取每个视频帧的时间戳;

处理子模块432,用于若从写入存储卡的视频中查询到某一帧的时间戳与内存中的视频帧的时间戳相同,则用内存中的视频帧替换查询到的这一帧,否则根据内存中的视频帧的时间戳将该视频帧插入到写入存储卡的视频的两帧之间,并且满足内存中的视频帧的时间戳在该两帧的时间戳之间。

本实施例提供的一种视频存储装置中各模块实现各自功能的过程,具体可参考前述图2所示实施例的描述,此处不再赘述。

从上述图4示例的一种视频存储装置可知,本实施例中,当存储卡的写速度与视频平均码率的比值在预设的重组范围内,根据视频平均码率计算需要写入内存的帧的帧间隔,并从实时录制的视频中读取一帧作为当前帧,对当前帧进行帧重组,通过帧重组将满足帧间隔这一重组条件的当前帧被写入内存,同时将当前帧转换为更小数据量的帧后与视频中的其他帧一起被实时写入存储卡,实现了对视频的动态重组,减少了写入存储卡的视频数据量,提高了将视频数据写入存储卡的速度,使得高分辨率的视频可以被实时录制到低速的外置存储卡中。同时,在视频录制完成后,将写入内存的视频帧复原到写入存储卡的视频中,保证了视频的完整性,由于视频的大部分数据都已经被录制到存储卡中,内存中的视频帧只占整个视频数据的一小部分,因此复原需要的时间很短,并且可以在后台完成,同时在复原前后和复原过程中也不会影响已经录制在存储卡中的视频的正常播放。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每一个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同或者相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

值得注意的是,上述装置实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

本领域普通技术人员可以理解,实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如rom/ram、磁盘或光盘等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1