位置: IT常识 - 正文

大华海康NVR录像JAVA下载及WEB播放(大华摄像头海康威视录像机)

编辑:rootadmin
近期在处理一个将NVR录像机上的录像下载到服务器并通过浏览器播放的需求。 梳理记录下过程,做个备忘,同时遇到的一些细节问题解决,也供需要的同学参考。 需求比较简单,就是把指定时间段的录像上传到服务器保存,并且允许用户通过web页面web浏览器,进行播放, 并且可以拖动控制播放进度。效果如。 一、 视 ...

推荐整理分享大华海康NVR录像JAVA下载及WEB播放(大华摄像头海康威视录像机),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:海康摄像头用大华硬盘录像机怎么设置,大华摄像头在海康录像机中使用,大华摄像头海康录像机,大华nvr接入海康平台,大华摄像头海康威视录像机,大华摄像头海康威视录像机,海康录像机大华摄像头怎么使用,海康录像机大华摄像头怎么使用,内容如对您有帮助,希望把文章链接给更多的朋友!

  近期在处理一个将NVR录像机上的录像下载到服务器并通过浏览器播放的需求。 梳理记录下过程,做个备忘,同时遇到的一些细节问题解决,也供需要的同学参考。

  需求比较简单,就是把指定时间段的录像上传到服务器保存,并且允许用户通过web页面web浏览器,进行播放, 并且可以拖动控制播放进度。效果如。

  

   一、 视频下载

  视频下载比较简单,厂商都提供了针对JAVA集成SDK 的DEMO, 照着抄一抄就可以。 JAVA调用C库的SDK,一般使用JNA技术。一些细节问题

  1. 下载的文件名要唯一,避免相互覆盖,可以用GUID随机生成。

  2. 注意通道号正确,海康的通道号不是从0开始, 要根据设备信息取得,起始的数字通道号,多数是33。 数字通道D1其实对应的channel ID 应该是33.

  3. JNA调用 发生在 原生的异常会导致整个进程终止,最好不要在主要的服务进程直接通过JNA集成第三方SDK。

  4. 生产部署别忘了复制SDK依赖的原生*.so库

   二、 转换处理

  下载后的视频格式问题。

  通俗说的音视频格式如 MP4,MP3等,其实并不严谨。.mp4其实是指封装格式,此封装格式支持多种音视频编码格式。mp4 封装格式可以支持的视频编码格式如 h264,h265, 音频格式如 PCM , aac等。

  目前主流web 浏览器,支持良好的视频编码格式是H264, 音频格式是aac。 这也就是我们转换的目标。

  而源录像的编码格式视频格式多数可以在NVR中设置,目前主流的是H265.(相较于H264压缩比更高, 解码需要的计算资源也更高),音频编码是PCM。

  ffmpeg 是一个开发中经常用到的音视频处理程序,经过测试,其转换H265编码 至 H264编码,还是相当耗时的,时效性基本在生产中无法接受, 转换音频编码效率较高。

大华海康NVR录像JAVA下载及WEB播放(大华摄像头海康威视录像机)

  因此此处建议的方案是, 将NVR的视频编码格式直接指定为H264,这样视频流编码就不需要经过转换了

  以下通过 ffmpeg 将 a.dav 文件中的 视频编码保持编码格式,音频格式转换为 aac编码,同时使用 mp4容器封装。

ffmpeg -i a.dav -c:v copy -c:a aac 264.mp4

  * ffmpeg 如需将h265 转码 h264 ,是需要一个编译时额外额外开启 libx264 支持的, 直接copy 则不需要。

   三、 伪流媒体服务

   播放线上视频的几种方案, 1,下载后本地播放, 2, 伪流媒体 3 , 流媒体。以下为个人大致理解,未必准确

   1. 需要下载这个文件完成后,才能够播放。

  3. 如HLS协议等,切片较小。 看哪里下哪里,下载的视频片段都是完整可播放的,可以实时直播(边产生,边播放)

  2. 看哪里从哪里开始下载。 服务器根据浏览端传入的参数,将视频文件定位到对应位置后的内容传输至浏览器解码播放。 不能实时直播?(我猜。。)

  根据下载视频保存,及在线观看的需求,第二种方案比较适合。 但是是需要服务器支持的。 这里使用了nginx 做文件服务器,编译时,启用mp4模块

  相关信息:http://nginx.org/en/docs/http/ngx_http_mp4_module.html

  原理简介:

    

四、 其他

   至此,把下载好,转换好的视频文件,放在正确的nginx文件服务目录下,浏览器中输入文件url路径,应该就能正常的回放视频了。

   还有一些其他细节

  1. 可能需要考虑硬件及网络的扩容, 视频存储需要较大的空间, 可能需要考虑存储扩容, 网络甚至,分布式文件系统等。下载大量视频的带宽占用也不能忽视, 可能需要扩容网络带宽。

  存储及带宽的占用,需要根据码率需求及预设的场景进行估算。(注意码率及带宽单位通常是bit 不是Byte)

  2. 跨系统调试可能会用到Java 的远程调试。以下在8000端口开放了远程调试,  

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar test.jar

  最后 !2022国庆快乐 !

本文链接地址:https://www.jiuchutong.com/zhishi/311629.html 转载请保留说明!

上一篇:python如何访问私有方法

下一篇:功能最强大的屏幕录像工具,全面支持生成多种格式支持WIN7/WIN10/WIN11 32/64位等操作系统(目前功能最强大的手机)

  • 怎样利用QQ空间单身在线应用日引流几百好友(如何用qq空间)

    怎样利用QQ空间单身在线应用日引流几百好友(如何用qq空间)

  • 华为手机怎么取消电话的骚扰拦截(华为手机怎么取消风险应用权限)

    华为手机怎么取消电话的骚扰拦截(华为手机怎么取消风险应用权限)

  • 苹果手机相机投屏到电视怎么横屏(苹果手机相机投屏怎么放大)

    苹果手机相机投屏到电视怎么横屏(苹果手机相机投屏怎么放大)

  • vivox70怎么设置字体大小(vivox70怎么设置呼叫转移)

    vivox70怎么设置字体大小(vivox70怎么设置呼叫转移)

  • 小米8se听筒声音突然变小

    小米8se听筒声音突然变小

  • 电脑没有自带摄像头怎么办(电脑没有摄像头该怎么办)

    电脑没有自带摄像头怎么办(电脑没有摄像头该怎么办)

  • 微信为什么领不了红包(微信为什么领不了红包,没有银行卡怎么办)

    微信为什么领不了红包(微信为什么领不了红包,没有银行卡怎么办)

  • 华为手机程序准备中是什么意思(华为手机程序准备中 重启没用)

    华为手机程序准备中是什么意思(华为手机程序准备中 重启没用)

  • 双卡双待手机为什么只显示一张卡(双卡双待手机为什么拨号不显示卡2)

    双卡双待手机为什么只显示一张卡(双卡双待手机为什么拨号不显示卡2)

  • 为什么微信录视频有时快进了(为什么微信录视频音乐就停了)

    为什么微信录视频有时快进了(为什么微信录视频音乐就停了)

  • 华为p40是不是双卡(华为p60与mate50对比哪个好)

    华为p40是不是双卡(华为p60与mate50对比哪个好)

  • vivoy93手机死机怎么办(vivoy93手机死机后无响应)

    vivoy93手机死机怎么办(vivoy93手机死机后无响应)

  • realme X支持语音唤醒吗(realmeq语音助手可以语音唤醒吗)

    realme X支持语音唤醒吗(realmeq语音助手可以语音唤醒吗)

  • 小米6x支持24w快充吗(小米6x可以用20w快充吗)

    小米6x支持24w快充吗(小米6x可以用20w快充吗)

  • 安卓手机保存微博视频(安卓手机保存微信视频文件)

    安卓手机保存微博视频(安卓手机保存微信视频文件)

  • 哔哩哔哩视频保存电脑(哔哩哔哩视频保存本地)

    哔哩哔哩视频保存电脑(哔哩哔哩视频保存本地)

  • iqoo怎么开启液冷散热(iqoosos怎么开启)

    iqoo怎么开启液冷散热(iqoosos怎么开启)

  • 淘宝收藏夹满了怎么办(淘宝收藏夹满了怎么批量删除)

    淘宝收藏夹满了怎么办(淘宝收藏夹满了怎么批量删除)

  • 华为云空间有什么用(华为云空间有什么用,如何关)

    华为云空间有什么用(华为云空间有什么用,如何关)

  • AI工具(ChatGPT)常用指令,持续更新...(什么是AI工具)

    AI工具(ChatGPT)常用指令,持续更新...(什么是AI工具)

  • pytorch 多GPU并行训练代码讲解(pytorch多块gpu)

    pytorch 多GPU并行训练代码讲解(pytorch多块gpu)

  • js 把字符串转成json对象的三种方法(js如何把字符串转换成数字)

    js 把字符串转成json对象的三种方法(js如何把字符串转换成数字)

  • phpcms怎么登陆后台(phpcms手机端)

    phpcms怎么登陆后台(phpcms手机端)

  • 实收资本实务处理办法
  • 何为金税四期
  • 企业开办费可不交税吗
  • 产品成本包括哪几个部分
  • 金税盘没有报税管理怎么把发票明细怎么导出
  • 缴纳增值税和附加税
  • 农药增值税减免政策
  • 利润表没有其他业务收入
  • 什么情况可以减免税收
  • 准则依据
  • 如何让自己公司成为供应商
  • 企业在什么情况下辞退员工不需要补偿
  • 养殖业土地使用税减免
  • 住房公积金部分业务暂停办理
  • 加工原因造成的废品损失
  • 大额虚开发票做转出税款入什么会计科目?
  • 车船税没有发票吗?
  • 免息分期怎么还款
  • 电信线路租用的手机
  • 小规模建筑企业预缴税款
  • 跨年度收入计算的增值税如何入账?
  • 农副产品收购发票申请
  • 钢化玻璃税率是多少?
  • 停车场增加收入
  • 增值税开票系统收款人在哪里设置
  • 教育培训机构涉税问题
  • 暂估成本和实际成本的分录
  • 安全生产费怎么算
  • 减征资源税中是否包含水资源税?
  • 包工包料装修
  • 鸿蒙超级终端搜不到
  • 路由器隐藏ssid后果严重
  • 代金券消费怎么做分录
  • 企业租赁房屋怎么开发票
  • 酒店预收款管理制度
  • vscode怎么运行前端
  • 职工参加生育保险
  • web前端开发期末试题及答案
  • thinkphp6.0完全开发手册
  • 盒子模型的概念
  • win11磁盘分区后不显示
  • vue文件下载功能
  • 分公司和总公司的税务和财务关系
  • 个人所得税申报方式选哪个比较好
  • 商业折扣,现金折扣,销售折让的核算特点
  • mongodb too many open files
  • 商誉减值损失怎么填
  • 汇算清缴如何调报表
  • mysql中where的用法
  • 小型微利企业计算企业所得税
  • 对公收费明细入账是手续费吗
  • 月末无收入如何申请补贴
  • 铁路运输印花税按什么比例交
  • 年末结转本年利润分录
  • 增值税发票开负数怎么做账?
  • 出纳可以做库管吗
  • 阿里云 mybase
  • 查看运行中的程序快捷键
  • mac自带中文输入法
  • linux的rz sz命令
  • etcfstab文件修改
  • centos编译器
  • Linux中如何查看文件大小
  • 教你如何解决蓝光机/KODI无法打开局域网smb共享的问题
  • window10路由
  • win8无法安装net4.7
  • linux查看进程并杀死
  • html的基本语法规则
  • 详解杭州亚运会会徽和口号
  • excel最小化后再次选择不弹出来
  • nodevideo翻译
  • 关于H1的位置解析
  • unity shader ao
  • nodejs基础知识
  • python 控制台交互
  • jquery选择器实例
  • python包含指定内容的字符串
  • 工信部新车申报目彿
  • 公司买水果怎么开票
  • 北京市地税总局电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设