视频监控设备、实时格式转换装置及多媒体格式转换方法
技术领域
本发明涉及编码转码技术,特别涉及一种视频监控设备、实时格式转换装置及多媒体格式转换方法。
背景技术
在监控领域中,随着嵌入式技术的发展以及监控设备的不断完善,产品更新换代的速度越来越快,硬盘录像机(Digital Video Recorder,DVR)逐渐成为视频监控设备中的主要产品,其功能也逐渐得以完善。所谓硬盘录像机就是一套进行图像存储处理的计算机系统;相对于传统的磁带记录的录像机,硬盘录像机具有对图像/语音进行长时间录像、录音、远程监视和控制的功能。
图1为现有的视频监控设备的结构示意图。如图1所示,现有的视频监控设备10可采用常见的硬盘录像机等产品,其包含前端组件101和后端组件102;前端组件101用以根据实时采集到的多媒体数据产生多媒体实时流数据,后端组件102通过运行网络软件开发工具包(Software Development Kit,SDK)连接前端组件101,对前端组件101输出的多媒体实时流数据进行存储。由于视频监控设备10存储的码流格式可能与连接视频监控设备10的本地计算机或网络服务器所处理的码流格式不同,则需要本地计算机或网络服务器对视频监控设备10存储的码流的格式进行转换。
综上所述,现有的如硬盘录像机的视频监控设备仅能对实时拍摄所获得的码流进行暂存,由与视频监控设备连接的本地计算机或网络服务器完成对视频监控设备暂存的码流进行格式转换;由于现有的如硬盘录像机的视频监控设备不能根据预先设定的目标参数对实时拍摄的多媒体数据进行格式转换并实时播放,降低了用户使用的实时性和便捷性。另外,由于不同厂商生产的如硬盘录像机的视频监控设备存储的码流格式不同,进行码流格式转换的装置需要根据设定的格式转换参数,对暂存在如硬盘录像机的视频监控设备中的码流进行多媒体格式转换,进一步降低了使用的便捷性。
发明内容
有鉴于此,本发明的目的在于提供一种视频监控设备,该设备能够提高使用的实时性和便捷性。
本发明的目的在于提供一实时格式转换装置,该装置能够提高使用的实时性和便捷性。
本发明的目的在于提供一种多媒体格式转换方法,该方法能够提高的实时性和便捷性。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种视频监控设备,该设备包含:用以产生多媒体实时流数据的前端组件、及与其连接的实时格式转换装置;
所述实时格式转换装置解码接收到的多媒体实时流数据,获得解码后的音频数据或解码后的视频数据,将解码后的音频数据或解码后的视频数据按照目标编码方式和目标编码参数进行编码,输出编码后的音频数据或编码后的视频数据;
所述目标编码方式包含目标音频编码方式和目标视频编码方式;所述目标编码参数包含目标音频编码参数和目标视频编码参数。
较佳地,所述实时格式转换装置进一步对接收到的多媒体实时流数据的封装层进行探测,获取原始编码方式和第一标识,根据原始编码方式和第一标识,调用用以进行解码的解码库;
所述原始编码方式为用以产生多媒体实时流数据的前端组件采用的编码方式;所述第一标识为用以表示前端组件的厂商信息的标识。
一种实时格式转换装置,所述实时格式转换装置接收多媒体实时流数据并进行解码,获得解码后的音频数据或视频数据,将解码后的音频数据或解码后的视频数据按照目标编码方式和目标编码参数进行编码,输出编码后的音频数据或编码后的视频数据;
所述目标编码方式包含目标音频编码方式和目标视频编码方式;所述目标编码参数包含目标音频编码参数和目标视频编码参数。
较佳地,该装置进一步对接收到的多媒体实时流数据的封装层进行探测,获取原始编码方式和第一标识,根据原始编码方式和第一标识,调用用以进行解码的解码库;
所述原始编码方式为用以产生多媒体实时流数据的前端组件采用的编码方式;所述第一标识为用以表示前端组件的厂商信息的标识。
上述装置中,实时格式转换装置包含:
实时流取流模块,连接用以产生多媒体实时流数据的装置,将获取的多媒体实时流数据输出至封装探测模块和数据解码模块;
封装探测模块,对接收到的多媒体实时流数据的封装层进行探测,获取原始编码方式及第一标识,输出原始编码方式及第一标识至数据解码模块;
数据解码模块,根据原始编码方式及第一标识,调用与多媒体实时流数据对应的解码库,对多媒体实时流数据进行解码,在成功获取解码后的数据之后,获取原始视频帧信息和解码后的视频数据并输出至视频编码模块,或者获取原始音频帧信息和解码后的音频数据并输出至音频编码模块;
所述原始视频帧信息包含原始视频帧的编码方式和原始视频帧的编码参数,所述原始视频帧的编码参数至少包含原始帧率和原始分辨率;所述原始音频帧信息包含原始音频帧的编码方式和原始音频帧的编码参数,原始音频帧的编码参数至少包含原始声道数和原始采样率;
音频编码模块,根据原始声道数、原始采样率、目标音频编码方式和目标音频编码参数,对解码后的音频数据进行编码,输出编码后的音频数据;
视频编码模块,根据原始帧率、原始分辨率、目标视频编码方式和目标视频编码参数,对解码后的视频数据进行编码,输出编码后的视频数据。
一种多媒体格式转换的方法,该方法包含:
A、实时格式转换装置获取多媒体实时流数据;
B、实时格式转换装置解码多媒体实时流数据,获得解码后的音频数据或解码后的视频数据;
C、实时格式转换装置按照目标编码方式和目标编码参数,对解码后的音频数据或解码后的视频数据进行编码,并输出编码后的音频数据或编码后的视频数据;
所述目标编码参数包含目标音频编码参数和目标视频编码参数;所述目标编码参数包含目标音频编码参数和目标视频编码参数。
较佳地,所述步骤A与所述步骤B之间进一步包括:
A’、对接收到的多媒体实时流数据的封装层进行探测,获取原始编码方式和第一标识;
所述原始编码方式为用以产生多媒体实时流数据的前端组件采用的编码方式;所述第一标识为用以表示前端组件的厂商信息的标识。
上述方法中,所述步骤B包括:
B1、判断是否已创建与原始编码方式和第一标识匹配的解码库,如果是,执行步骤B2,否则执行步骤B4;
B2、调用已创建的解码库对接收到的多媒体实时流数据进行解码;
B3、判断是否成功获取解码后的数据,如果未成功获取,则执行步骤B2,否则,获取原始视频帧信息和解码后的视频数据,或获取原始音频帧信息和解码后的音频数据;
B4、结束操作;
所述原始视频帧信息包含原始视频帧的编码方式和原始视频帧的编码参数,所述原始视频帧的编码参数至少包含原始帧率和原始分辨率;所述原始音频帧信息包含原始音频帧的编码方式和原始音频帧的编码参数,原始音频帧的编码参数至少包含原始声道数和原始采样率。
上述方法中,所述目标音频编码参数至少包含目标声道数和目标采样率;
步骤C所述对解码后的音频数据进行编码包含:
C1、判断原始声道数是否与目标声道数相同,如果是,执行步骤C2,否则比较原始声道数与目标声道数的大小关系,如果小于,则拷贝单声道数据为双声道数据,如果大于,则剥离双声道数据为单声道数据;
C2、判断原始采样率是否与目标采样率相同,如果相同,则执行步骤C3,否则,根据目标采样率对解码后的音频数据进行重采样;
C3、按照目标音频编码方式和目标音频编码参数对重采样的数据、单声道数据或双声道数据进行编码,获得编码后的音频数据。
上述方法中,所述目标视频编码参数至少包含目标帧率和目标分辨率;
步骤C所述对解码后的视频数据进行编码包含:
C4、判断原始帧率是否与目标帧率相同,如果是,则执行步骤C6,否则执行步骤C5;
C5、比较原始帧率与目标帧率的大小关系,如果小于,则将原始帧率作为目标帧率,如果大于,则判断是否需要丢弃当前帧,如果需要丢弃当前帧则执行步骤C4,否则执行步骤C6;
C6、判断原始分辨率是否与目标分辨率相同,如果是,则执行步骤C7,否则,对解码后的视频数据进行拉伸或下采样;
C7、按照设定的视频编码方式和视频编码参数,对拉伸后的视频数据或改变帧率后的视频数据进行编码,输出编码后的视频数据。
由上述的技术方案可见,本发明提供了一种视频监控设备、实时格式转换装置和多媒体格式转换方法,视频监控设备包含的实时格式转换装置通过与之连接的用以产生多媒体实时流数据的装置获取多媒体实时流数据,并按照预先设置于实时格式转换装置中的目标编码方式和目标编码参数,在获取多媒体实时流数据的同时,对多媒体实时流数据进行格式转换,提高了视频监控设备使用的实时性;包含实时格式转换装置的视频监控设备在实时地进行视频监控的同时,输出格式转换后的多媒体实时流数据至与其连接的本地计算机或网络服务器,避免了视频监控设备输出的码流格式与接收码流的设备上的码流格式不兼容所导致的对码流格式再处理的问题,提高了视频监控设备使用的便捷性。
附图说明
图1为现有的视频监控设备的结构示意图。
图2为本发明视频监控设备的结构示意图。
图3为本发明多媒体格式转换方法的流程图。
图4为本发明获得音频数据和视频数据的方法流程图。
图5为本发明对解码后的音频数据进行编码的方法流程图。
图6为本发明对解码后的视频数据进行编码的方法流程图。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明提供了一种视频监控设备、实时格式转换装置及多媒体格式转换方法,本发明的视频监控设备不再是单纯地获取多媒体实时流数据并进行暂存,而是在获取多媒体实时流数据的过程中,根据设置于实时格式转换装置中的目标编码方式和目标编码参数,由装设于视频监控设备中的实时格式转换装置对多媒体实时流数据进行多媒体格式转换,以便输出的格式转换后的多媒体实时流数据能够适应本地计算机或网络所需。
其中,本发明提及的格式转换后的多媒体实时流数据指代的是编码后的视频数据或编码后的音频数据。
图2为本发明视频监控设备的结构示意图。现结合图2,对本发明视频监控设备进行说明,具体如下:
本发明的视频监控设备20可与本地计算机(图2未示出)或网络服务器(图2未示出)连接,以提供本地计算机或网络服务器所需的特定格式的码流。
其中,本发明的视频监控设备20包含用以产生多媒体实时流数据的前端组件101和实时格式转换装置202。本发明的前端组件101可以采用诸如模拟摄像机、云台摄像机、网络摄像机等产生多媒体实时流数据的图像采集组件;实时格式转换装置202取代现有的视频监控设备中的用于暂存多媒体实时流数据的后端组件102,根据预设的目标编码方式和目标编码参数,对前端组件101输出的多媒体实时流数据进行格式转换。
实时格式转换装置202对接收到的多媒体实时流数据进行解析,获得多媒体实时流数据的原始编码方式,对多媒体实时流数据进行解码,获得解码后的音频数据或解码后的视频数据,根据预先设置的目标编码方式和目标编码参数,对解码后的音频数据或解码后的视频进行编码,输出编码后的音频数据或编码后的视频数据。
其中,实时格式转换装置202接收到的多媒体实时流数据可来自于前端组件101,或其他能够产生多媒体实时流数据的装置;目标编码方式包含目标音频编码方式和目标视频编码方式;目标编码参数包含目标音频编码参数和目标视频编码参数。具体地,目标音频编码参数至少包含目标声道数、目标采样率和目标音频编码码率;目标视频编码参数至少包含目标帧率、目标分辨率和目标视频编码码率。
其中,实时格式转换装置202包括实时流取流模块2020、封装探测模块2021、数据解码模块2022、音频编码模块2023和视频编码模块2024。
实时流取流模块2020运行网络SDK,在连接前端组件101成功的情况下,从前端组件101获取多媒体实时流数据,输出多媒体实时流数据至封装探测模块2021和数据解码模块2022。
封装探测模块2021对接收到的多媒体实时流数据的封装层进行探测,获取该多媒体实时流数据的原始编码方式及第一标识,输出原始编码方式及第一标识至数据解码模块2022。其中,原始编码方式为产生多媒体实时流数据的装置所采用的编码方式;第一标识为用以表示产生多媒体实时流数据的装置所属厂商信息的标识。封装探测模块2021可采用现有的探测方法,对接收到的多媒体实时流数据的封装层进行探测,在此不再赘述。
数据解码模块2022根据原始编码方式及第一标识,调用与多媒体实时流数据对应的解码库,对多媒体实时流数据进行解码;在成功获取解码后的数据,判断当前帧是否为视频帧,如果是,则获取原始视频帧信息和解码后的视频数据并输出至视频编码模块2024,否则,获取原始音频帧信息和解码后的音频数据并输出至音频编码模块2023。数据解码模块2022在确定未创建与多媒体实时流数据对应的解码库时,放弃解码操作并输出提示信息,以提示用户创建与多媒体实时流数据对应的解码库。
若本发明的当前帧是视频帧,则解码后的视频数据为完整的YUV数据,原始视频帧信息包含原始视频帧的编码方式和原始视频帧的编码参数,原始视频帧的编码参数至少包含原始分辨率和原始帧率信息;若本发明当前帧是音频帧,则解码后的音频数据为PCM数据,原始音频帧信息包含原始音频帧的编码方式和原始音频帧的编码参数,原始音频帧的编码参数至少包含原始音频码率、原始声道数和原始采样率。
音频编码模块2023根据目标音频编码方式和目标音频编码参数,对解码后的音频数据进行编码,输出编码后的音频数据。具体地,音频编码模块2023判断音原始声道数是否与目标声道数相同,如果声道数相同,则进一步判断原始采样率是否与目标采样率相同,如果声道数不同,则先拷贝单声道数据为双声道数据或剥离双声道数据为单声道数据,再进一步判断原始采样率是否与目标采样率相同;在原始采样率与目标采样率不同时,先根据目标采样率对解码后的音频数据进行重采样,再按照目标音频编码方式及目标音频编码参数对重采样后的数据进行编码,否则,直接按照目标音频编码方式及目标音频编码参数对单声道数据或双声道数据进行编码。
其中,音频编码模块2023可采用现有的方法来拷贝单声道数据为双声道、剥离双声道为单声道数据、及对解码后的音频数据进行重采样及利用目标音频编码参数和目标编码方式进行编码,在此不再赘述。
视频编码模块2024按照目标视频编码方式和目标视频编码参数,对解码后的视频数据进行编码,输出编码后的视频数据。
具体地,视频编码模块2024判断原始帧率是否与目标帧率相同,如果帧率相同,则进一步判断原始分辨率是否与目标分辨率相同,如果帧率不相同,先在原始帧率小于或等于目标帧率时,将原始帧率作为目标帧率,再进一步判断原始分辨率是否与目标分辨率相同,在原始帧率大于目标帧率时,在确定需要丢弃当前帧时等待原始视频帧信息和解码后的视频数据,在确定不需要丢弃当前帧时,再进一步判断原始分辨率是否与目标分辨率相同;在确定原始分辨率与目标分辨率不同时,先对解码后的视频数据进行拉伸或下采样,再按照目标视频编码方式和目标视频编码参数对拉伸后的视频数据进行编码,否则,直接按照目标视频编码方式和目标视频编码参数对改变帧率后的视频数据进行编码。
其中,视频编码模块2024可采用现有的方法来判断是否需要丢弃当前帧、对解码后的视频数据进行拉伸或下采样、及按照目标视频编码方式和目标视频编码参数进行编码,在此不再赘述。
图3为本发明多媒体格式转换方法的流程图。现结合图3,对本发明多媒体格式转换方法进行说明,具体如下:
本发明多媒体格式转换方法中,数据都是按照帧进行存储的,每一当前帧都包含音频帧或视频帧,也就是包含音频数据或视频数据;在下述方法的具体说明中,仅以音频数据和视频数据的表述方式进行说明。
本发明多媒体格式转换方法可通过包含实时格式转换装置的设备或系统实现。
步骤30:获取多媒体实时流数据;
该步骤包括:步骤301,运行网络SDK,从产生多媒体实时流数据的装置中获取多媒体实时流数据;步骤302,判断是否结束,如果是,则执行步骤33,否则执行步骤31。
步骤31:解码多媒体实时流数据,获得解码后的音频数据或视频数据;
步骤31的具体方法如图4所示,具体包含:步骤311,对接收到的多媒体实时流数据进行封装层探测,获得原始编码方式和第一标识;步骤312,判断是否已创建与原始编码方式和第一标识匹配的解码库,如果是,执行步骤313,否则,执行步骤318;步骤313,调用解码库对对接收到的多媒体实时流数据进行解码;步骤314,判断是否成功获取解码后的数据,如果是,执行步骤315,否则执行步骤313;步骤315,判断当前帧是否为视频帧,如果是,则执行步骤316,否则执行步骤317;步骤316,获取原始视频帧信息和解码后的视频数据并输出;步骤317,获取原始音频帧信息和解码后的音频数据并输出;步骤318,结束操作并输出提示信息。
步骤313中,根据第一标识确定产生多媒体实时流数据的装置的厂商的信息,再根据原始编码方式调用已创建的对应该多媒体实时流数据的解码库,以便对相应的格式的多媒体实时流数据进行解码。
步骤318中的提示信息用以提示创建与多媒体实时流数据对应的解码库。
步骤32:按照目标编码方式和目标编码参数,对解码后的音频数据或解码后的视频数据进行编码;
对解码后的音频数据进行编码的方法如图5所示,具体包含:
步骤321,判断原始声道数是否与目标声道数相同,如果是,执行步骤325,否则执行步骤322;步骤322,比较原始声道数与目标声道数的大小关系,如果小于,执行步骤323,如果大于,执行步骤324;步骤323,拷贝单声道数据为双声道数据,之后执行步骤325;步骤324,剥离双声道数据为单声道数据;步骤325,判断原始采样率是否与目标采样率相同,如果是,则执行步骤327,否则执行步骤326;步骤326,根据目标采样率对解码后的音频数据进行重采样,步骤327,按照目标音频编码方式和目标音频编码参数,对重采样的数据、单声道数据或双声道数据进行编码。
对解码后的视频数据进行编码的方法如图6所示,具体包含:
步骤331,判断原始帧率是否与目标帧率相同,如果是,执行步骤335,否则执行步骤332;步骤3322,比较原始帧率与目标帧率的大小关系,如果小于,执行步骤333,如果大于,执行步骤334;步骤333,将原始帧率作为目标帧率,之后执行步骤335;步骤334,判断是否需要丢弃当前帧,如果是,执行步骤331,否则执行步骤335;步骤335,判断原始分辨率是否与目标分辨率相同,如果是,执行步骤337,否则执行步骤336;步骤336,对解码后的视频数据进行拉伸或下采样;步骤337,按照目标视频编码方式和目标视频编码参数,对拉伸后的视频数据或改变帧率后的视频数据进行编码。
步骤33:结束。
本发明的上述较佳实施例中,输出的格式转换后的多媒体实时流数据为编码后的音频数据或编码后的视频数据;本发明对音频帧数据和视频帧数据的处理过程不是同步进行的。
本发明的上述较佳实施例中,通过在视频监控设备中内置实时格式转换装置,实现了视频监控设备对多媒体实时流数据进行实时地格式转换,解决了本地计算机或网络对视频监控设备输出的多媒体实时流数据进行多媒体格式转换过程中操作复杂的问题,提高了实时性和便捷性。另外,本发明的实时格式转换装置也可不内置于视频监控设备等监控设备中,直接与产生多媒体实时流数据的装置进行连接,比如:模拟摄像机、云台摄像机或网络摄像机,能够根据本地计算机或网络所需的码流格式,设定格式转换的目标编码参数和目标编码方式,以对获得的多媒体实时流数据进行相应的格式转换,避免了实时格式转换装置输出的多媒体数据的格式与本地计算机或网络所需的码流格式不兼容的问题,使得多媒体格式转换更灵活精确。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。