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

  • 微信阅读量越来越低?微信公众号应该坚持这6件事(微信阅读量低)

  • 快手如何添加好友(快手如何添加好友邀请码)

  • win7开机黑屏出现英文(win7开机黑屏出现英文怎么解决)

  • 游戏注销后钱会退回吗(游戏注销帐号会把钱退还吗)

  • 三星微信视频如何美颜(三星微信视频如何打开美颜功能设置)

  • 秘乐注册了可以注销吗(秘乐怎么注册不上)

  • 笔记本电脑按键失灵一部分(笔记本电脑按键掉了怎么修)

  • 功放的av是什么意思(功放机上的a和b是什么意思)

  • qq能找回几年前的聊天记录吗(qq能找回几年前的说说吗)

  • 华为p40如何开启三键导航(华为p40如何开启开发者模式)

  • 定位关了微信有步数吗(微信定位关掉后对方还会看到位置吗)

  • 华为笔记本开机键在哪(华为笔记本开机怎么开)

  • 软件系统可以分为哪两类(软件系统可以分为()和()两大类?没有任务详情)

  • date计算机什么键(计算机date函数用法)

  • 如何关闭微信免密功能(如何关闭微信免密码支付功能)

  • win10怎么关闭内置杀毒(win10怎么关闭内录声音)

  • 抖音视频怎么没有合拍(抖音视频怎么没有收藏功能了)

  • 苹果手机怎么查付费项目(苹果手机怎么查询是不是新机)

  • 华为体脂秤怎么解除绑定(华为体脂秤怎么调整公斤和斤)

  • 拼多多返现怎么领取(拼多多返现怎么能返到微信上)

  • 苹果手表三代和四代的区别(苹果手表三代和s3有什么区别)

  • bill.i预授权怎么取消(billitunes取消预授权)

  • 华为p30使用技巧(华为p30使用教程)

  • 高德地图打车是什么车(高德地图打车是一个人的费用还是包车?)

  • 织梦DEDECMS添加或修改文章出现空白解决办法(织梦怎么新建页面)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络