Giter Club home page Giter Club logo

hiview's Introduction

SHENZHEN HIVIEW SCIENCE AND TECHNOLOGY CO., LTD.

HIVIEW-TECH is a professional product designer

Provide services: Hardware customization/System building/AI algorithm/ISP tuning

Business cooperation, contact Email: [email protected]

RoadMap:

1. Design products in the form of core board + base board (customizable);

2. Support users to develop their own products based on OpenHisilicon;

Features:

1, BSP: Eth/WiFi/Vpn/Upgrade/Sadp
2, MPP: Hi3516x/Hi3519x/Hi3559x/Hi3536x
3, CODEC: H264/H265/MJPEG/AAC/PCMA/PCMU
4, RTSPS: Server/Client/Push
5, WEBS: Http/Https/Websocket/Webrtc
6, APP: NVR/GUI
7, REC: fMP4
8, RTMPS: Push
9, SIPS: UAS/GB28181
10, ONVIF: NVT/NVC
11, SRTS: SRT/UDP/RTP/SRTP
12, SVP: YOLO/LPR
13, UVC: H264/MJPEG

hiview's People

Contributors

openhisilicon avatar openxv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hiview's Issues

Code compilation

I have downloaded all the resources + toolchains+sdk on the board. How can i compile them on dv300 board?

svp::VpssCapture mmz 内存泄漏

svp 模块中 VpssCapture 成员函数 int VpssCapture::YUV2Mat(VIDEO_FRAME_S* pVBuf, cv::Mat& img) ,有调用 HI_MPI_SYS_MmzAlloc_Cached。 如果连续使用空 img 做参数,导致持续分配,最终 mmz 耗尽失败 orz...

改进建议:在 HI_MPI_SYS_MmzAlloc_Cached分配前若非空则调用 HI_MPI_SYS_MmzFree 释放。

海康IPC对接HIVIEW,VO第二屏出现一直录像回看的情况

您好,我目前使用的板载平台为您公司产品Hi3516DV300,目前出现海康IPC对接HIVIEW后,输出VO的第二屏一直是IPC摄像头采集数据的一个回放情况【几分钟前到当前时间】,而且速度非常快,请问这个需要如何解决?

Potential vulnerability in onvif module due to stale dependencies

onvif module depends on libgsoap.a and the current version was pushed May 24, 2020 Since then there were a couple of major vulnerability disclosures about the library, including TALOS-2021-1245

Also the code snippet from the report :

soap_decode(char *buf, size_t len, const char *val, const char *sep)
{
  const char *s;
  char *t = buf;
  size_t i = len;
  if (!buf || !val || !sep || len == 0)
    return val;
  for (s = val; *s; s++)
    if (*s != ' ' && *s != '\t' && !strchr(sep, *s))
      break;
  if (len > 0)
  {
    if (*s == '"')
    {
      s++;
      while (*s && *s != '"' && i-- > 1)
        *t++ = *s++;
    }
    else
    {
      while (*s && !strchr(sep, *s) && i-- > 1)
      {
        if (*s == '%' && s[1] && s[2])
        {
          *t++ = ((s[1] >= 'A' ? (s[1] & 0x7) + 9 : s[1] - '0') << 4)
                + (s[2] >= 'A' ? (s[2] & 0x7) + 9 : s[2] - '0');
          s += 3;
        }
        else
          *t++ = *s++;
      }
    }
    buf[len - 1] = '\0'; /* appease static checkers that get confused */
  }
  *t = '\0';
  while (*s && !strchr(sep, *s))
    s++;
  return s;
}

looks very similar ( after translation back into C ) to what you provide in this repo:

byte * soap_decode(byte *param_1,int param_2,byte *param_3,undefined4 param_4)

{
  char cVar1;
  int iVar2;
  char cVar3;
  int iStack24;
  byte *pbStack16;
  byte *pbStack12;
  
  pbStack16 = param_3;
  while ((*pbStack16 != 0 &&
         (((*pbStack16 == 0x20 || (*pbStack16 == 9)) ||
          (iVar2 = strchr(param_4,*pbStack16), iVar2 != 0))))) {
    pbStack16 = pbStack16 + 1;
  }
  iStack24 = param_2;
  pbStack12 = param_1;
  if (*pbStack16 == 0x22) {
    while (((pbStack16 = pbStack16 + 1, *pbStack16 != 0 && (*pbStack16 != 0x22)) &&
           (iStack24 = iStack24 + -1, iStack24 != 0))) {
      *pbStack12 = *pbStack16;
      pbStack12 = pbStack12 + 1;
    }
  }
  else {
    while ((((*pbStack16 != 0 && ((*pbStack16 == 0xffffffff || (0x20 < *pbStack16)))) &&
            (iVar2 = strchr(param_4,*pbStack16), iVar2 == 0)) &&
           (iStack24 = iStack24 + -1, iStack24 != 0))) {
      if (*pbStack16 == 0x25) {
        if (pbStack16[1] < 0x41) {
          cVar1 = (char)((pbStack16[1] - 0x30 & 0xff) << 4);
        }
        else {
          cVar1 = ((pbStack16[1] & 7) + 9) * '\x10';
        }
        if (pbStack16[2] < 0x41) {
          cVar3 = pbStack16[2] - 0x30;
        }
        else {
          cVar3 = (pbStack16[2] & 7) + 9;
        }
        *pbStack12 = cVar1 + cVar3;
        pbStack16 = pbStack16 + 3;
        pbStack12 = pbStack12 + 1;
      }
      else {
        *pbStack12 = *pbStack16;
        pbStack16 = pbStack16 + 1;
        pbStack12 = pbStack12 + 1;
      }
    }
  }
  *pbStack12 = 0;
  while ((*pbStack16 != 0 && (iVar2 = strchr(param_4,*pbStack16), iVar2 == 0))) {
    pbStack16 = pbStack16 + 1;
  }
  return pbStack16;
}

but it's even older version without len check at all 🤔

webrtc信令服务器访问出错

你好,在使用webrtc的功能,需要到点问题,请教一下
我将 https://glitch.com/~openhisilicon 下载下来再局域网搭建,比如局域网ip 192.168.1.100,端口设置为8888

设置设备的webrtc_en:1, webrtc_url 为ws://192.168.1.100:8888/hiview-client,发现服务器有连接响应设备端一直提示
image
之后,一段时间之后
image

我想问一下,webrtc信令服务器必须搭建到公网吗?,搭建再局域网不行吗?
必须有ssl证书 使用wss://访问吗?
谢谢,期待回复

Code editing

Can you please suggest me any tool where i could edit, debug and run this code.

关于svp模块中的VpssCapture类

在svp的VpssCapture类中,变量采用了static的定义方式,这样导致VpssCapture类会形成单例的功能。当我们希望多路算法切换不同的grp或者chn的时候,在任意一处修改VpssCapture中的参数,就会导致其它路算法使用的数据也被一起修改。
这里给出一个建议:
VpssCapture按照正常类的设计方式,去除所有的static定义。
在使用VpssCapture的是时候,采用类似static VpssCapture s_Vcap;这样的方式去避免不同算法引用VpssCapture的冲突问题。
以上修改在3516dv300的双sensor,多路算法中已验证可行。

lib hiae example

Is there an example for how to use ae_piris_init, ae_piris_status_get functions?

It seems that they work with /dev/piris 🤔

ipc/codec.c:775:46: error: 'gsf_mpp_cfg_t {aka struct <anonymous>}' has no member named 'second'

HIVIEW$ source build/3516e 
HIVIEW$ ls
bin  build  fw  inc  ins.sh  lib  Makefile  mod  README.md  README.TXT  res  tools
HIVIEW$ make
================ GSF-IPC ================
Env: 3516e

...

ipc/codec.c: In function 'mpp_start':
ipc/codec.c:775:46: error: 'gsf_mpp_cfg_t {aka struct <anonymous>}' has no member named 'second'
  gsf_lens_af_start(0, (cfg.snscnt < 2 && !cfg.second)?"/dev/ttyAMA2":"/dev/ttyAMA4");
                                              ^
Makefile:56: recipe for target 'ipc/codec.o' failed
make[1]: *** [ipc/codec.o] Error 1
make[1]: Leaving directory '/home/vroot/nfs/HIVIEW/mod/codec'
Makefile:68: recipe for target 'mod/codec' failed
make: *** [mod/codec] Error 2

onvif模块可以对接其他平台的nvr吗

你好,我在使用onvif模块对接华为nvr时失败了;抓包显示onvif流程正常,在获取到rtsp播放地址之后播放失败(onplay之后客户端又发送了一个getparameter请求,然后就停下了),请教一下有没有遇到过类似问题

你好!请问一下在哪里可以下载到arm-hisiv510-linux编译工具

由于没有arm-hisiv510-linux编译工具,将build中3536d对应交叉编译工具改为arm-hisiv400-linux
再使用
source build/3536d
make
报入下错误
Env: 3536d
make[1]: Entering directory '/home/lh/Hi3536/temp/02_HIVIEW-master/mod/bsp'
arm-hisiv400-linux-gcc -g -fstack-protector -fPIC -DGSF_DEV_NVR -DGSF_CPU_3536d -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations -c -MMD src/wdg.c -I/home/lh/Hi3536/temp/02_HIVIEW-master -Isrc -Iinc -o src/wdg.o
arm-hisiv400-linux-gcc -g -fstack-protector -fPIC -DGSF_DEV_NVR -DGSF_CPU_3536d -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations -c -MMD src/bsp.c -I/home/lh/Hi3536/temp/02_HIVIEW-master -Isrc -Iinc -o src/bsp.o
arm-hisiv400-linux-gcc -g -fstack-protector -fPIC -DGSF_DEV_NVR -DGSF_CPU_3536d -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations -c -MMD src/wifi.c -I/home/lh/Hi3536/temp/02_HIVIEW-master -Isrc -Iinc -o src/wifi.o
arm-hisiv400-linux-gcc -g -fstack-protector -fPIC -DGSF_DEV_NVR -DGSF_CPU_3536d -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations -c -MMD src/dio.c -I/home/lh/Hi3536/temp/02_HIVIEW-master -Isrc -Iinc -o src/dio.o
arm-hisiv400-linux-gcc -g -fstack-protector -fPIC -DGSF_DEV_NVR -DGSF_CPU_3536d -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations -c -MMD src/sjb_bsp.c -I/home/lh/Hi3536/temp/02_HIVIEW-master -Isrc -Iinc -o src/sjb_bsp.o
arm-hisiv400-linux-gcc -g -fstack-protector -fPIC -DGSF_DEV_NVR -DGSF_CPU_3536d -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations -c -MMD src/cfg.c -I/home/lh/Hi3536/temp/02_HIVIEW-master -Isrc -Iinc -o src/cfg.o
arm-hisiv400-linux-gcc -g -fstack-protector -fPIC -DGSF_DEV_NVR -DGSF_CPU_3536d -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations -c -MMD src/sadp.c -I/home/lh/Hi3536/temp/02_HIVIEW-master -Isrc -Iinc -o src/sadp.o
arm-hisiv400-linux-gcc -g -fstack-protector -fPIC -DGSF_DEV_NVR -DGSF_CPU_3536d -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations -c -MMD src/rtc.c -I/home/lh/Hi3536/temp/02_HIVIEW-master -Isrc -Iinc -o src/rtc.o
arm-hisiv400-linux-gcc -g -fstack-protector -fPIC -DGSF_DEV_NVR -DGSF_CPU_3536d -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations -c -MMD src/ppp.c -I/home/lh/Hi3536/temp/02_HIVIEW-master -Isrc -Iinc -o src/ppp.o
arm-hisiv400-linux-gcc -g -fstack-protector -fPIC -DGSF_DEV_NVR -DGSF_CPU_3536d -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations -c -MMD src/upg.c -I/home/lh/Hi3536/temp/02_HIVIEW-master -Isrc -Iinc -o src/upg.o
arm-hisiv400-linux-gcc -g -fstack-protector -fPIC -DGSF_DEV_NVR -DGSF_CPU_3536d -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations -c -MMD src/netinf.c -I/home/lh/Hi3536/temp/02_HIVIEW-master -Isrc -Iinc -o src/netinf.o
arm-hisiv400-linux-gcc -g -fstack-protector -fPIC -DGSF_DEV_NVR -DGSF_CPU_3536d -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations -c -MMD src/msg_func.c -I/home/lh/Hi3536/temp/02_HIVIEW-master -Isrc -Iinc -o src/msg_func.o
arm-hisiv400-linux-gcc -g -o bin/bsp.exe src/wdg.o src/bsp.o src/wifi.o src/dio.o src/sjb_bsp.o src/cfg.o src/sadp.o src/rtc.o src/ppp.o src/upg.o src/netinf.o src/msg_func.o -L/home/lh/Hi3536/temp/02_HIVIEW-master/lib/3536d -lcfifo -lrt -lnm -lcjson -lcomm -lm -lpthread
/opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: warning: libc.so.0, needed by /home/lh/Hi3536/temp/02_HIVIEW-master/lib/3536d/libcfifo.so, not found (try using -rpath or -rpath-link)
/opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: warning: ld-uClibc.so.0, needed by /home/lh/Hi3536/temp/02_HIVIEW-master/lib/3536d/libcfifo.so, not found (try using -rpath or -rpath-link)
/home/lh/Hi3536/temp/02_HIVIEW-master/lib/3536d/libnm.so:对‘__fputc_unlocked’未定义的引用
/home/lh/Hi3536/temp/02_HIVIEW-master/lib/3536d/libnm.so:对‘__ctype_b’未定义的引用
/home/lh/Hi3536/temp/02_HIVIEW-master/lib/3536d/libnm.so:对‘__stdout’未定义的引用
collect2: error: ld returned 1 exit status
Makefile:19: recipe for target 'bin/bsp.exe' failed
make[1]: *** [bin/bsp.exe] Error 1
make[1]: Leaving directory '/home/lh/Hi3536/temp/02_HIVIEW-master/mod/bsp'
Makefile:69: recipe for target 'mod/bsp' failed
make: *** [mod/bsp] Error 2

配置 dv300 imx415 运行报错

image

你好,如图 运行codec.exe,当选择imx415 sony415驱动打印这个错误提示信息 。是不415 不支持dv300的60fps吗?
顺便问一下 ,imx415 能配置成5M吗?

请教一下,关于libst使用EPOLLET的处理问题

官方和srs中的state_thread中epoll中对EPOLLET没有直接支持. 我尝试做了如下修改
ST_HIDDEN int _st_epoll_pollset_add(struct pollfd *pds, int npds) { ... if (events != old_events) { op = old_events ? EPOLL_CTL_MOD : EPOLL_CTL_ADD; ev.events = events | EPOLLET; ev.data.fd = fd; if (epoll_ctl(_st_epoll_data->epfd, op, fd, &ev) < 0 && (op != EPOLL_CTL_ADD || errno != EEXIST)) break; if (op == EPOLL_CTL_ADD) { _st_epoll_data->evtlist_cnt++; if (_st_epoll_data->evtlist_cnt > _st_epoll_data->evtlist_size) _st_epoll_evtlist_expand(); } } ... }
EPOLLET没有起效. 后来使用原生的接口调用时正常的. 请问一下, 这个是什么原因导致的?

关于海思的libst库编译问题请教

使用开源的libst库交叉编译后, epoll监听端口处理连接请求会出现段错误.
初步分析 _x86_64 架构正常, __arm__架构编译会有问题
怀疑问题出在md.h中 _st_md_cxt_restore 和 _st_md_cxt_save这两个接口的问题
线程中上下文信息保存和还原 数据丢失了

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.