位置: 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位等操作系统(目前功能最强大的手机)

  • 其他债权投资的汇兑差额计入什么科目
  • 小规模纳税人缴纳增值税怎么算
  • 红冲以后怎么做账
  • 公司购买新车购置税是否可以抵扣呢
  • 外购商品捐赠进哪个科目
  • 开发票是否享受优惠政策
  • 年报现金流量表可以不填吗
  • 团建费用走什么科目
  • 工业企业如何进行设备的选购管理
  • 公司车子的保养费怎么算
  • 资产减值损失负数是好是坏
  • 应付企业负担的职工社会保险费
  • 运输公司结转成本
  • 劳务费增值税专用发票虚开一万元怎么补救
  • 通行费如何填报表二
  • 坏账收回的账务处理方法
  • 公司法人借款给公司怎么取出来
  • 建筑业预交增值税最新政策
  • 网上申领发票怎么清卡
  • 专家费1000元个人所得税到底是税前还是税后
  • 分户记账
  • 工程业务提成协议合法吗
  • 税盘减免税款的会计分录
  • 单位给个人开票需要什么资料才能开
  • 期货交易的会计分录
  • window10与CentOS双系统安装详细教程
  • 项目部可以直接给工人结账吗
  • 编写守护进程
  • 不能加载axf文件
  • php做
  • 资产划转增值税 开票怎么开
  • 供热企业税收优惠政策
  • 最新预提房租会计分录
  • 筹建期间发生的收入
  • 增值税普通发票需要交税吗
  • 合伙企业的经营所得税率
  • 我们买得起一辆新车吗?英文
  • PYTHON中使用什么符号表示单行注释
  • phpcms使用教程
  • 收到的销项负数发票如何申报
  • 印花税按什么的比例缴纳
  • 民非企业是否可以做酒
  • 自产和外购用于赠送
  • 工商年报纳税总额包括个人所得税吗
  • 事故赔偿金分配
  • 发生的计提费用没有发生怎么办
  • 收到发票冲红怎么做分录
  • 物业公司预收的物业费怎么做账
  • 出口退税的会计处理
  • 产品保修要钱吗
  • 进项税额转出后续处理
  • 员工替公司垫付工资违法吗
  • 销售商品返现怎么做
  • 2023最新税收优惠政策有哪些
  • 进项税额被转出怎么做账
  • 结存材料实际成本计算公式
  • 从银行提取现金分录
  • 总账和明细账的保管期限
  • 年初建账考虑要点业务流程是否变化
  • windons10安装
  • win10 mobile 预览10240
  • 系统引导程序出错了如何修复
  • Winaw32.exe - Winaw32是什么进程
  • win7cpu虚拟化怎么看
  • centos7tar解压
  • centos如何查看服务进程
  • centos7 修复
  • linux系统怎么查看root用户密码
  • win7睡眠唤醒设置密码
  • 双win系统怎么删除一个
  • node.js的express
  • div+css布局的步骤
  • 程序员要求高吗
  • android基础知识大全
  • 对象类型怎么填
  • 重庆市国家税务局电子税务局官网
  • 工会经费填错了怎么办
  • 北京市工商局电话24小时客服热线
  • 青岛市地方税务局关于发票
  • 二手车中介公司怎么做账报税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设