一种视频播放器制造技术

技术编号:37992708 阅读:16 留言:0更新日期:2023-06-30 10:07
本发明专利技术提供了一种视频播放器,所述播放器包括:播放器模块,用于接收用户输入,调用下载器模块、解复用器模块、视频解码器模块和视频显示模块实现不同设备的视频读取、解码和播放;下载器模块,用于调用设备提供的接口下载视频文件;不同的设备提供的接口不同;解复用器模块,用于对下载器模块下载的文件进行解析,将文件拆分为视频数据和音频数据;视频解码器模块,用于对从解复用器模块获取的视频数据进行解码,得到视频帧;和视频显示模块,用于显示视频解码模块解码得到的视频帧。本发明专利技术的优势在于:通过输入统一格式的URL地址,只需调用不同厂家两组主要接口:连接登录接口和文件下载接口,就能实现对不同厂家设备进行多路历史视频的播放。史视频的播放。史视频的播放。

【技术实现步骤摘要】
一种视频播放器


[0001]本专利技术属于视频播放领域,具体涉及一种视频播放器。

技术介绍

[0002]对于众多NVR(Network Video Recorder网络视频记录仪)和CVR(Central Video Recorder中央视频记录器)设备的生产厂家,想要查看其录制的历史视频时,需要打开各个厂家的客户端工具,连接设备,进行播放。尽管各个厂家支持RTSP协议对NVR和CVR设备进行访问,但很多厂家单个设备只允许1路视频流访问,不支持多路视频流的并发访问。对单个设备进行多路视频流访问只能通过设备生产商提供的SDK进行。与此同时,不同设备厂家的SDK中对视频播放能力不尽相同,因此,现有设备无法实现集成不同厂家设备,同时进行多路视频播放的功能。

技术实现思路

[0003]本专利技术的目的在于克服现有设备无法实现集成不同厂家设备,同时进行多路视频播放的缺陷。
[0004]为了实现上述目的,本专利技术提出了一种视频播放器,所述播放器包括:
[0005]播放器模块,用于接收用户输入,调用下载器模块、解复用器模块、视频解码器模块和视频显示模块实现不同NVR或CVR设备的视频读取、解码和播放;
[0006]下载器模块,用于调用设备提供的接口下载视频文件;不同的设备提供的接口不同;
[0007]解复用器模块,用于对下载器模块下载的文件进行解析,将文件拆分为视频数据和音频数据;
[0008]视频解码器模块,用于对从解复用器模块获取的视频数据进行解码,得到视频帧;和/>[0009]视频显示模块,用于显示视频解码模块解码得到的视频帧。
[0010]作为上述播放器的一种改进,所述播放器模块的功能包括:
[0011]接收输入包括统一的设备访问URL和视频显示窗口对象;
[0012]解析URL中的播放参数,根据输入参数,创建接收内存队列,调用下载器模块下载文件,存入接收内存队列中;
[0013]循环执行解码和视频播放:
[0014]调用解复用器模块,从内存队列读取文件内容,进行文件解析,得到视频数据;
[0015]调用视频解码器模块,解码视频数据得到一帧解码后的视频帧;
[0016]循环首次执行时,调用一次视频显示模块,在视频显示窗口中显示视频;
[0017]直至解复用器模块将下载文件全部读取完毕,结束循环。
[0018]作为上述播放器的一种改进,所述输入参数包括:
[0019]用户名:设备的用户名,网络远程连接设备登录时使用;
[0020]密码:设备的密码,网络远程连接设备登录时使用;
[0021]IP地址:设备的IP地址;
[0022]端口号:设备的TCP端口号;
[0023]访问目的:访问设备的目的;
[0024]通道号:本次访问的存储通道号;
[0025]开始时间:本次访问的视频录制文件对应的开始时间;
[0026]结束时间:本次访问的视频录制文件对应的结束时间;
[0027]生产商代号:设备生产商的代号名称,代表不同厂商设备;和
[0028]设备类型:包括NVR或CVR。
[0029]作为上述播放器的一种改进,所述下载器模块功能包括:
[0030]根据输入参数中的生产商代号参数创建设备对应的下载子类;
[0031]根据输入参数中的IP地址和端口号参数,调用本设备厂商提供的连接接口,建立TCP连接;根据输入参数中用户名和密码参数,调用登录接口,进行登录认证;
[0032]根据输入参数中的通道号、开始时间和结束时间参数,调用本设备厂商提供的下载接口,打开文件下载对象;设定文件接收的回调函数,调用厂商提供的接口开始下载;
[0033]接收文件,从回调函数中获取文件下载数据,送入播放器模块创建的接收内存队列。
[0034]作为上述播放器的一种改进,所述解复用器模块功能包括:
[0035]第一次被播放器模块调用时,根据输入参数中的生产商代号参数,创建对应的解复用器子类;
[0036]从播放器模块的内存队列读取下载文件数据,使用解复用器子类将文件数据拆分为音频数据和视频数据。
[0037]作为上述播放器的一种改进,所述视频解码器模块功能包括:
[0038]第一次被解复用器模块调用时,根据编码类型和本地机器的GPU能力,创建解码器子类和接收内存队列;
[0039]读取一帧数据,执行GPU硬解码或软解码;得到解码后视频帧。
[0040]作为上述播放器的一种改进,所述视频显示模块功能包括:
[0041]根据输入视频帧的宽和高,以及视频显示窗口对象,创建显示窗口对象、视频显示定时器和接收内存队列;
[0042]视频显示定时器处理函数定时执行,执行时读取1帧视频,把视频数据拷贝到显示窗口对象中,显示视频帧;视频显示定时器函数定时显示视频,产生连续播放的效果。
[0043]作为上述播放器的一种改进,所述播放器支持的功能还包括:
[0044]进度条显示:获取当前播放时间和总时长,用于显示进度条;
[0045]进度条拖放操作:跳到指定时间播放视频;
[0046]视频快进播放:支持多倍速快进播放;
[0047]视频慢放播放:支持多倍速慢放播放。
[0048]作为上述播放器的一种改进,所述播放器支持的功能还包括:
[0049]多路视频的并发:采用创建多个播放器模块实例实现,支持最多64路视频并发播放。
[0050]与现有技术相比,本专利技术的优势在于:
[0051]1、本申请提供的播放器,通过输入统一格式的URL地址,依赖本播放器简单和高扩展能力的架构,只需调用不同厂家SDK中两组主要接口:连接登录接口和文件下载接口,就能高效的实现了对不同厂家设备进行多路历史视频的播放。
[0052]2、实现了统一的视频播放控制接口:播放、暂停、快进、慢放,不依赖于各个厂家SDK中的视频播放接口。
[0053]3、由于采用了自主的视频播放模块,底层可以集成GPU硬解码技术,极大的提高了视频解码性能和降低硬件成本。因此本方法具备高性能,多路并发(最多64路),低依赖,扩展性强的优点。可以实现一边下载一边播放。每个操作的响应时间在1秒以内,播放远程NVR设备上的视频,类似播放本地磁盘中的视频文件一样快捷
[0054]4、通过本方法实现的播放器,可以快速对接各个NVR厂商的SDK,支持对其NVR或CVR设备实现集控播放。
附图说明
[0055]图1所示为视频播放器的架构设计;
[0056]图2所示为视频播放器的模块关系流程图。
具体实施方式
[0057]下面结合附图对本专利技术的技术方案进行详细的说明。
[0058]本申请提供一种视频播放器,适用于NVR设备和CVR设备的视频播放。本播放器通过统一的URL(Uniform Resource Locator英文缩写)地址本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种视频播放器,其特征在于,所述播放器包括:播放器模块,用于接收用户输入,调用下载器模块、解复用器模块、视频解码器模块和视频显示模块实现不同NVR或CVR设备的视频读取、解码和播放;下载器模块,用于调用设备提供的接口下载视频文件;不同的设备提供的接口不同;解复用器模块,用于对下载器模块下载的文件进行解析,将文件拆分为视频数据和音频数据;视频解码器模块,用于对从解复用器模块获取的视频数据进行解码,得到视频帧;和视频显示模块,用于显示视频解码模块解码得到的视频帧。2.根据权利要求1所述的视频播放器,其特征在于,所述播放器模块的功能包括:接收的输入包括统一的设备访问URL和视频显示窗口对象;解析URL中的播放参数,根据输入参数,创建接收内存队列,调用下载器模块下载文件,存入接收内存队列中;循环执行解码和视频播放:调用解复用器模块,从内存队列读取文件内容,进行文件解析,得到视频数据;调用视频解码器模块,解码视频数据得到一帧解码后的视频帧;循环首次执行时,调用一次视频显示模块,在视频显示窗口中显示视频;直至解复用器模块将下载文件全部读取完毕,结束循环。3.根据权利要求2所述的视频播放器,其特征在于,所述输入参数包括:用户名:设备的用户名,网络远程连接设备登录时使用;密码:设备的密码,网络远程连接设备登录时使用;IP地址:设备的IP地址;端口号:设备的TCP端口号;访问目的:访问设备的目的;通道号:本次访问的存储通道号;开始时间:本次访问的视频录制文件对应的开始时间;结束时间:本次访问的视频录制文件对应的结束时间;生产商代号:设备生产商的代号名称,代表不同厂商设备;和设备类型:包括NVR或CVR。4.根据权利要求3所述的视频播放器,其特征在于,所述下载器模块功能包括:根据输入参数中的生产商代号参数创建设备对应的下载子类;根据输入参数中的I...

【专利技术属性】
技术研发人员:胡智斌罗鹏任鸣陈仁
申请(专利权)人:北京瓦特曼智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1