2-2024PUAS工作随笔
导语
吾日三省吾身:为人谋而不忠乎?与朋友交而不信乎?传不习乎?
博海云服务器: https://www.bohai.com
paus vpn 记录
本人1、梅姐2、霞姐3、联想笔记本4、芳姐5、(发给余总的也是5,注意冲突)、毛主管6、郑柳苗7
工作记录
- 程序升级方案,oem ...
- 网页修改
- 和朴工对接新的通信方案
- libaitrack.so 追踪库升级,
- 2026-8-3:
- hd700 画面冻结、丢帧
- aver 定制键盘 增加登录方案程序
- onvif 预置位 接口不通
- 2026-8-4:
- 测试 aver 定制键盘 增加登录方案程序
- hd700 追踪程序上下摆头测试,修改 和打包
- onvif 预置位修改
- zx 键盘程序产品型号显示问题处理并打包
- 2026-8-5:
- tof 代码查看,有几个问题要问一下
- 2026-07-27:
- 更新 auvix客户 旧版 hd700 显示参数程序,整理好修改网页给朴工打包, 然后配合范工处理死机的设备用来测试新程序
- 追踪开关指令的同步
- b300 枪机
- 2026-6-20 ~ 2026-6-25
- 处理俄罗斯客户的定制需求
- 解决客户升级死机问题
- 网页
- 旧版网页还没有升级程序
- 2026-6-13 ~ 2026-6-17
- 定制键盘程序
- 网页新增至255个摄像机通道,支持json 导入导出
- 通道新增 频率属性:50Hz/60Hz 接收、保存都正常
- 导入配置文件支持NDI协议
- 登录页面认证失败的提示 支持 简体中文/繁体中文/英文
- 添加并优化IPC通信程序,使用长连接通信模型稳定持续通信
- 整理新增的程序和杨工对接
- 优化 搜索多设备时超出管道预设大小停止通信 问题
- 以上功能测试以及持续优化
- 制作 启停 设备 freed 协议软件
- PUS-UHD830-12G 修改设备显示的 软件编译时间 见 CCN-2026-013
- 测试和复现:分为两个版本, 旧版程序和新版程序
- 升级客户提供的程序版本, 测试发现旧版程序暂时没有设备可供复现,两个版本两个不同的处理方案
- 旧版程序使用软件升级, 制作升级软件, 更新了软件编译环境,使用新的连接模式。测试软件可用,直接给到业务员了
- 新版程序更新webs, 准备好更新的文件给朴工打包,测试打包程序无误,这里是直接给业务员了
- 测试和复现:分为两个版本, 旧版程序和新版程序
- UH700 更新追踪时云台运动相反的问题, 改设备和 迈拓斯HD800 一样存在该问题
- 和迈拓斯HD800处理方案一致,更新 vpss 通道数据,使其正常的镜像翻转,同时要根据修改后的vpss ,修改 追踪程序
- 修改追踪程序,并整理程序、打包版本号、设备参数等信息发给朴工打包,这里简单测试后发给范工测试
- 整理程序、打包版本号、设备参数等信息 打包 新方案 b200/b300 程序,程序代号 zx_dv_xx_f36, 打包完成后 简单测试后发给范工测试
- 整理程序、打包版本号、设备参数等信息 打包 新方案 hd500 程序,程序代号 zx_d5_xx_i31,打包完成后 简单测试后发给范工测试
- HD310U 竞标设备新增功能,详情见 RCN-2026-030
- 设置预置位 1~10 时,将当前画面保存为图片, 清空预置位时清空对应的图片,点击图片时转到对应预置位
- 添加和设计web ui
- 新增 预置位 新页面, 和 预览页面功能一致,在该页面功能基础上开发
- 循环新增10个预置位控件,清空和默认时背景为黑色,绿色边框, 设置预置位有数据时 显示图片和蓝色边框,10个控件响应式编写
- 开发存储图片功能
- 新增vpss 通道或使用 现有编码流,将其数据保存为 jpg 格式图片持久化存储在设备端
- 新增数据返回接口 , web 端通过新增接口获取设备持久化 jpg 数据
- 未完成,遥控器设置预置位时也要保存图片, 方案已讨论基本确定
- NDI 延时测试:
- 已经在各个电脑的组合参数进行ndi 延时测试
- 在指定电脑上测试端到端延时,发现延时基本在 100ms 以内, 但是 I 帧延时比较大
- 设备各个参数调式测试,发现 I 帧延时还是大,GOP 为1时,也是很大的波动,不稳定
- 测试明日NDI设备,发现 I 帧延时很稳定
- 在NDI 程序里添加调式参数,最终修改NDI程序解决该问题, 解决问题后, I 帧延时和视频延时都个测半小时
- 准备测试后文件及图片发邮件
- ONVIF 预置位无效问题,详见 CCN-2026-010
- 使用测试工具测试 和 UH700 同款芯片的设备,发现确实存在
- 查找之前的解决方案
- 未完成解决
- 定制键盘程序
=================================== 以上公司主动要求工作记录 ===================================
- 2024-1-17:继续研究开发ai
- 2024-1-22:
- 怕明日的设备要还回去,先分析明日的录像存储功能。
- 需要帮朴工找到一个 ts&mp4分析工具 , ai 暂停
- 2024-1-23:
- 帮客户处理了一下 onvif 客户端兼容发现设备功能
- 由于码流改到了60mb, 重新评估 ndi hx3, 继续分析并优化nid, ai 和 分析录像存储功能 暂停
- 20241-24:
- 测试并准备优化ndi。 发现码流增大,延时也增大,且 HX3 Guideline 20220505.pdf 文档提到用户不应该能够修改比特率、GOP和从CBR到VBR的更改:
- 所以不知道应该预设 比特率 应该是 多少呢?预设是 CBR 还是 VBR ?GOP 应该是可以下拉选择 1 或 2 ? 于是发了给邮寄给 support@ndi.tv<support@ndi.tv>。结果得到了一个新的 标准文件 NDI Certification Programs.pdf ,至于 比特率 说根据自己的参数合理设置,说了等于没说:
- 下午考虑到借的明日的设备,又分析 设备录像功能去了
- 测试并准备优化ndi。 发现码流增大,延时也增大,且 HX3 Guideline 20220505.pdf 文档提到用户不应该能够修改比特率、GOP和从CBR到VBR的更改:
- 2024-1-25:
- 把录像的 基础网页样式做了,并提交到 git
- 下午:
- 想搭一个和朴工一样的 web 服务器,把查询pc目录里的 mp4 和 ts 文件搞好,但是不知道朴工用的什么方案
- 分析了一下李主管的rss升级,协议开启关闭,问题
- 分析 明日设备的录像 前后端网络交互接口
- 晚上把分析的数据做了记录:https://www.cnblogs.com/fxw1/p/17987909 但是没没有分析完,明天继续
- 把录像的 基础网页样式做了,并提交到 git
- 2024-1-26:
- 李主管需要一键处理协议的功能,现在在写代码中... 。 下午弄完了,一开始做的是几个按钮,后来改成复选框修改的方式,感觉这样更好
- 继续分析明日设备的录像前后端网络交互接口;
- 15:45 梅姐突然说 hd800 在弄一个 叫FreeD协议了吗,我都还没听到说要弄...... 等老大说了再说,一个一个来吧。
- 分析了70%,发现很多都是需要插件完成的,如果不采用插件的话,我们的任务将会很多。
- 下班的时候朴工让分析 mp3 编码,下周继续
- 李主管需要一键处理协议的功能,现在在写代码中... 。 下午弄完了,一开始做的是几个按钮,后来改成复选框修改的方式,感觉这样更好
- 2024-1-29:
- 更新生产软件
- 基于ffmeg 实现mp3 编码,得知我们没添加ffmpeg的库,所以得调式mp3编解码的源码,但是源码在github上面,我们路由现在访问不了外网,明天计划让朴工下载下来给我测试
- 2024-1-30:
- mp3 源码编解码完成,并发给了朴工。
- 有个客户寄回了一台很老的机子,说是蓝屏,而且还忘记密码了,onvif、telnet、http 都进不去,下午拆了还折腾了一下,最后发现是别人做的,就有点无语...
- 2024-1-31:
- 朴工还是想要ffmpeg集成到海思芯片(需要裁剪),开干.
- ss927 里 ffmpeg & aac & mp4 & ts 没问题,但是 mp3 编码器 就是添加不到 ffmpeg 里面,明天继续吧
- 2024-2-1:
- 基于ffmpeg源码的MP3编解码完成,明天试下 封装 ts
- 基于ffmpeg源码的MP3编解码完成,明天试下 封装 ts
- 2024-2-2:
- 支持 aac(编解码)、mp3(编解码)、h264(解码)、hevc(解码)、ts(复用&解复用)、mp4(复用&解复用)、flv(复用&解复用), 并写好了测试代码,然后体积太大,正在裁剪,x86_64 上面的裁剪完了, aarh64 上的也裁剪了,待明天测试
- 2024-2-3:
- 早上 aarch 64 ss927 上裁剪后,大概验证了一下,没啥问题,发给朴工了,现在开始 弄 ndi 吧,至于明日的存储功能,基本的网页已经设计好,其它的东西浏览器能做的事情也有限
- nid的要求提高了,比如延时方面....
- 突然想 把ffmpeg 弄好一点,从编译到测试。目标:优雅的全局makefle + 直接h264、hevc、aac、mp3流式的输入
- 2024-2-4:
- 直接测试h264&mp3 原始数据封装ts,ffplay可以播放,其它播放器播不了。 并且 aac 不指定编码器,ffplay 没有声音。 为什么已经是编码的数据还需要编码器?后面发现是 不要编码器也可以,但是自己的头部数据要正确,如果使用现有编码器,头部数据就不需要额外指定了,是编码器默认的。所以我准备编译ffmpeg同时进去再尝试。
- 2024-2-5:
- 再搞卫生之前终于把 x264 、x265 编码器都编译都编译至ffmpeg了。 准备回家~
=================================== 2024春节 ===================================
- 2024-2-18:
- 熟悉下环境,在linux上实现了,直接传入 h264、aac 这种已经编码的内容然后封为为 .ts .mp4 的格式,但是还没交叉编译,也没有打包成库,有点心不在焉
- 2024-2-19:
- 交叉编译了 x265,但是整合ffmpeg的时候 x265 出问题了,明天看下是不是编译x265的时候省略的东西比较多
- 然后看了下 ss928 板子烧不进去 uboot 的问题,大概定位了问题( 1.林工说中控不一样(坏块管理、错误检测和纠正算法(ecc)),新的中控芯片可能没有针对旧版uboot进行兼容,导致无法正常读写或识别。2.uboot没有针对新的nand flash更新 (在编译uboot时,没有针对新硬件正确的配置)),最终导致在写入过程中遇到错误,没有成功写入预期的数据量,但是自己不太好解决:
- 手动控制跳过坏块的逻辑(网上看的没操作过,根据新NAND Flash的特点处理坏块检测和跳过机制)
- 检查NAND Flash芯片是否存在物理损坏 & 检查与主板连接是不是正常的 & 用硬件检测工具测试(看下Flash存储器损坏了没有)
- 根据NAND Flash的具体规格(分区表、启动加载地址),更新一下uboot
- 2024-2-20:
- 交叉编译 mp3、x264、x265 都没问题了,合成 ffmpeg 的时候 一直出现 Makefile:1: *** Too many open files. Stop., ulimit -n xx 也都试了,官网上面也去找了资料 都没啥用还是一样的报错, 最后在一个犄角旮旯的地方发现有人说 可能是 ffmpeg 的版本不兼容,然后我下载了另外一个版本的ffmpeg 竟然还真的没这个问题了,我真的服了啊!!!!!!!!!!,为什么在编译的log里面不能直接提示呢!!!!! 为了适应新的 ffmpeg , 代码又得改
- 2024-2-21:
- mp3、x264、x265 、ffmpeg都编译完成了,由于ffmpeg版本更新了,所以有些被弃用的函数也按照要求更新了,但是封装出来的容器,有部分播放软件打不开,不知道是不是h264和aac的源码文件有问题,但也不是浪费时间了,具象化了很多关于音视频抽象的概念。
- 关于 音视频编码数据容器的封装就先这样吧、至于 hx3,它 最新的要求是 80ms, 这个要通过ndi sdk来改应该不太可能了、要搞 ai 了,这个应该是重点
- 2024-2-22:
- 把新的内容发给朴工了
- 熟悉年前弄的ai的环境, 现在开始没别的事情就搞ai了
- 开始在linux上编译部署 opencv,然后重新编译一个默认的ffmpeg
- 然后老大提到 以下载文件的方式 实时的分批的下载视频, 这种需要有时间再验证可行性去了
- 2024-2-23:
- 关于hd800今天开了次会说了发现的问题 65% 左右是图像相关的问题诸如:白平衡档位要细分了、聚焦区域了、特殊场景呈绿色条纹、饱和度60调到200又有问题了、自动曝光太暗、出现光晕问题了...... 还有百分之25是周边问题如:底噪大、云台抖动、推拉镜头噪音大......,对此大多数问题要看朴工了,或者我们都去搞图像也许会快一点
- 在linux上重新编译了opencv,这次比较细致一点,包括默认的ffmpeg。 以opencv 来验证ai模型,好了之后把模型转化为海思用的,配置的没问题,快下班的时候编译的有问题,看报错是性能问题,应该是我编译的时候指定的进程太多了
- 2024-2-26:
- 朴工说 websocket 传输的 fMp4 浏览器播不了, 在分析问题,但可以测试的环境经常死机,下午朴工在搞 flash 的问题,没有测试的环境了,所以大部分时候是在分析现有的可以播放的 fmp4。中途提到过直接用 http 地址的方式来播放,但是朴工说没有这个功能。
- 大概定位问题:
- 首先项目一个简单的播放流程为: websocket 获取数据,然后配合浏览器 MSE 去播放
- 所以定位错误在:
分析结果
... var mediaSource = new MediaSource(); var minCodec = 'video/mp4; codecs="avc1.420028,mp4a.40.2"' var sourceBuffer1 = mediaSource.addSourceBuffer(mimeCodec); ... // 问题应该在于 minCodec, 因为我把 minCodec 改错得到了一样的报错 // 这里的 mimeCodec 是我手动添加的,而实际项目是根据 视频流 来决定的,所以存在两种可能: // 1. 朴工发的数据不对 // 2. minCodec 不对 // 但由于是js代码不知道咋和朴工解释
- 分析这个问题时 又把 wfs.js 从头梳理了一下,太浪费时间了,关于分析javascript下次应该先用最少的代码模拟出来环境,然后依次分析,这样或许会快点得到答应。
- 2024-2-27:
- 把分析结果和朴工说了,最后得到结论发生的fmp4数据 ftyp和moov Box (trak、mdia、mvex) 没啥问题, 但是具体的 moof和mdat box里面虽然有大小、时间戳偏移、解码时间 等信息 却没有具体的数据
- 准备把 linux 编译的项目重新整理一下,并同步至 gitee
- 2024-2-28:
- 重新编译了 mp3、x264、x265、ffmpeg, 编译opencv 的时候出现 internal compiler error: 已杀死 (program cc1plus) 报错
- 处理了一个产线单独升级网页的问题
- 2024-2-29:
- 模块化方式的重构了(减低了耦合性) openssl、media-server、srt、zerotier、ptpd、但是到 gb28181的时候出现了报错
- 2024-3-1:
- 重构了 gb28181、ndi (gb28181不能说重构,只是把结构理了下,耦合性还是高) , 把编译器整理了下, 继续opencv。 这些操作都已经同步到 gitee
- 2024-3-2:
- 在x86上编译 opencv 成功,但是在aarch 编译链下编译失败。
- 编译了 zlib 、libpng
- 2024-3-4:
- 通过分区工具给c盘多分配了一些工具,上周把 vs2015给卸载了
- aarch64 opencv 舍弃了一些功能也编译成功
- 2024-3-5:
- 简单运行了opencv 程序没有问题
- 在win上又测试了一波,程序也可以跑,还是用win测试吧
- 为了转换模型做准备,检测 python环境 (TensorFlow-ONNX(tf2onnx)), tf2onnx 还是下载不了...
- 2024-3-6:
- 现在对于ai的理解还没有年前的多。碰到一些问题
- TensorFlow模型我准备了一个,现在要把它转为 cann, 但是 atc 工具又闪退,加了虚拟机空间和容量也是。
- 假设转换完成了,我应该还需要一份 sdk,和交叉编译环境去验证 。
- 于是再次查看文档:
-
Ascend Graph开发指南.pdf
用于指导开发人员,如何使用 Ascend Graph 接口构建网络模型,用于在 SoC 上执行: 了解模型开发的基本流程和实现方法 能够基于本文档中的样例,扩展进行其它模型的开发 Caffe:是一种由伯克利视觉与学习中心开发的深度学习框架,特别适合计算机视觉任务,以其高效性和简洁性著称。 TensorFlow:是由 Google 开发并开源的一个强大的机器学习库,适用于各种类型的机器学习应用,包括深度学习。它使用数据流图来表示计算任务, 允许用户灵活地构建复杂的神经网络模型,并且支持多平台部署。 ONNX:是一种开放式的模型表示格式,旨在促进不同深度学习框架之间的互操作性。ONNX 提供了一种标准化的方式,使得模型能够在不同的工具和框架之间进行转换, 简化了模型迁移和部署的过程。 Ascend Graph 编程接口:是华为为其昇腾系列AI处理器设计的一种底层编程方式,允许开发者直接利用昇腾芯片的算子库构建计算图,并将这些计算图编译为针对昇腾硬件优化过的离线模型。 这意味着开发者可以绕过特定的上层框架,直接操作硬件级别的计算单元,实现更加高效和定制化的模型开发及推理过程。通过该接口, 用户可以根据昇腾芯片提供的算子原型自定义模型结构,并能够将来自不同源框架(如Caffe、TensorFlow或ONNX等)的模型转换为与昇腾AI处理器兼容的CANN模型格式, 从而在昇腾平台上进行高性能的模型运行和推理。
-
- 老大说要在键盘上面,做一个网页。 ai 再次放一放
- 这次的网页我从第一个代码开始全部自己写,并同步到 git 仓库。 然后把接口文档那些都做好
- 现在对于ai的理解还没有年前的多。碰到一些问题
- 2024-3-7
- 使用原生 javascript 搭建了登录和登录后主页的head
- 2024-3-8
- 搭建了一些ui
- 系统配置 :系统配置、网络设置、系统维护
- 通道设置:CAM1-CAM10
- 密码设置: 密码功能、修改密码
- 通讯协议设置 还不确定ui
- 老大提到 把 pythone 3.8以上编译到板端环境
- 搭建了一些ui
- 2024-3-11
- ss927编译了个python
- 之前写的web 优化了下结构,体积也没少多少😂,但是更清晰了
- 2024-3-12:
- 键盘网页除了ui键盘都弄的差不多了
- 2024-3-13:
- 优化结构
- 下午单独做了ui键盘,后续怎么处理还待和老大讨论
- 2024-3-14:
- 键盘ui添加到了web 项目,然后修修改改了里面的页面元素
- 2024-3-15
- 键盘ui 做完了,但是键盘ui的多语言还没添加,另外还差一个接口文档
- 有客户说onvif 协议没有 osd 功能,又去熟悉了一下 onvif 框架代码
- 2024-3-16:
- 老大说试一下opencv的方式,编译并且交叉编译了opcnv 4.3.0(没用额外模块)还有适配的 ffmpeg 版本
本文来自博客园,作者:封兴旺,转载请注明原文链接:https://www.cnblogs.com/fxw1/p/17988647



浙公网安备 33010602011771号