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

  • 印花税的应税凭证名称怎么填写
  • 上个月结余应该做到这个月收入里面吗
  • 兼职人员的差旅费怎么算
  • 滴滴出行开具的运输服务电子普通发票
  • 建筑企业预收款开票
  • 养老保险补缴利率是多少
  • 非货物贸易核查项下
  • 报销单冲抵借支做账
  • 企业出租设备取得租金收入要交增值税吗
  • 电信话费可以开公司发票吗
  • 已申报税额什么时候缴纳
  • 外地职工医保怎么报销
  • 特种设备培训费计入什么会计科目
  • 什么科目呀
  • 参加会议属于什么工作类别
  • 个税免税收入和不征税收入
  • 销项税月底还是年底结0
  • 接受应税劳务的会计分录
  • 固定资产处置流程
  • 对赌协议的账务处理流程
  • 变更经营范围要什么资料
  • 王者荣耀中牛魔王的技能
  • hp tpn-c120笔记本
  • 认证进项转出怎么操作
  • php中class用法
  • 付给他人押金的会计分录
  • linux中的大于号什么意思
  • 计算机与自动化的关系
  • 公司购监控设备入什么科目
  • 无形资产清理账务怎么做
  • web渗透实战
  • 库存现金盘盈影响营业利润吗
  • react by
  • php函数作用
  • 微信php源码
  • nmap的命令
  • thinkphp模型作用
  • yii框架入门
  • 个人所得税换了电脑后,重新录入,离职的人也要录入吗
  • 企业应收账款的规模受哪些因素的影响?( )
  • 织梦cms为什么不维护了
  • 事业单位政府拨款的会计分录
  • 国有土地租赁合同的性质
  • 不确认递延所得税资产的特殊情况举例
  • 多付的账款计入什么科目
  • 上期金额是本年累计金额吗
  • 长期待摊费用是非流动资产吗
  • 食堂费用没有发票
  • 一般纳税人认定书是什么样子
  • 广交会展务
  • 差旅费中火车票的进项税怎么计算
  • 置换房产流程
  • 职工宿舍怎么入账
  • 弥补以前年度亏损后缴纳所得税
  • 企业购买固定资产要交什么税
  • 连锁店会计处理流程
  • 支付信息表
  • sql server创建备份
  • 分页式存储管理代码
  • MSSQL 数据库同步教程
  • 主板设置uefi模式
  • MAC OS X Yosemite开启深色模式的方法
  • steam怎么sl
  • sqlmangr.exe - sqlmangr是什么进程 有什么用
  • 关闭windows输入法
  • perfom.exe
  • 工商网银登陆
  • win101909的02累积更新
  • w10系统如何安装
  • 中小型企业的认定标准2023
  • windows8中文版是什么版本
  • c调用java后又调用回
  • 统计文件个数linux
  • 在线linux模拟环境
  • shell中的注释用什么表示
  • 骞怎么读什么意思是什么
  • 莱鸟人集团
  • jquery attr和prop
  • javascript位置属性
  • 国航的电子票号是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设