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 ,至于 比特率 说根据自己的参数合理设置,说了等于没说:
    • 下午考虑到借的明日的设备,又分析 设备录像功能去了
  • 2024-1-25:
    • 把录像的 基础网页样式做了,并提交到 git
    • 下午:
      • 想搭一个和朴工一样的 web 服务器,把查询pc目录里的 mp4 和 ts 文件搞好,但是不知道朴工用的什么方案
      • 分析了一下李主管的rss升级,协议开启关闭,问题
      • 分析 明日设备的录像 前后端网络交互接口
    • 晚上把分析的数据做了记录:https://www.cnblogs.com/fxw1/p/17987909 但是没没有分析完,明天继续
  • 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
  • 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 仓库。 然后把接口文档那些都做好
  • 2024-3-7
    • 使用原生 javascript 搭建了登录和登录后主页的head
  • 2024-3-8
    • 搭建了一些ui
      • 系统配置 :系统配置、网络设置、系统维护
      • 通道设置:CAM1-CAM10
      • 密码设置: 密码功能、修改密码
      • 通讯协议设置 还不确定ui
    • 老大提到 把 pythone 3.8以上编译到板端环境
  • 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 版本
posted @ 2024-01-26 15:41  封兴旺  阅读(18)  评论(0)    收藏  举报

联系方式: 18274305123(微信同号)