From c5b39588ad8002c1d3cba2cbd400957fc757e822 Mon Sep 17 00:00:00 2001 From: Igor Zalatov Date: Mon, 3 Jul 2023 10:57:37 +0300 Subject: [PATCH] Add external simple experimental onvif server (#896) --- .../configs/hi3516cv300_mini_defconfig | 1 + .../configs/hi3518ev200_mini_defconfig | 1 + general/package/Config.in | 1 + .../files/sensor/config/sc1035_960p.ini | 2 +- .../01-removing-old-anchors.patch | 12 +++++++ general/package/onvif-simple-server/Config.in | 10 ++++++ .../onvif-simple-server/files/onvif.conf | 36 +++++++++++++++++++ .../onvif-simple-server.mk | 28 +++++++++++++++ 8 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 general/package/onvif-simple-server/01-removing-old-anchors.patch create mode 100644 general/package/onvif-simple-server/Config.in create mode 100644 general/package/onvif-simple-server/files/onvif.conf create mode 100644 general/package/onvif-simple-server/onvif-simple-server.mk diff --git a/br-ext-chip-hisilicon/configs/hi3516cv300_mini_defconfig b/br-ext-chip-hisilicon/configs/hi3516cv300_mini_defconfig index bb93b07d..87210302 100644 --- a/br-ext-chip-hisilicon/configs/hi3516cv300_mini_defconfig +++ b/br-ext-chip-hisilicon/configs/hi3516cv300_mini_defconfig @@ -81,6 +81,7 @@ BR2_PACKAGE_MBEDTLS_OPENIPC=y BR2_PACKAGE_MICROBE_WEB=y # BR2_PACKAGE_MINI_SNMPD is not set BR2_PACKAGE_MOTORS=y +BR2_PACKAGE_ONVIF_SIMPLE_SERVER=y BR2_PACKAGE_OPUS_OPENIPC=y BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y # BR2_PACKAGE_SSHPASS is not set diff --git a/br-ext-chip-hisilicon/configs/hi3518ev200_mini_defconfig b/br-ext-chip-hisilicon/configs/hi3518ev200_mini_defconfig index c0c2441a..dcc8a56a 100644 --- a/br-ext-chip-hisilicon/configs/hi3518ev200_mini_defconfig +++ b/br-ext-chip-hisilicon/configs/hi3518ev200_mini_defconfig @@ -81,6 +81,7 @@ BR2_PACKAGE_MBEDTLS_OPENIPC=y BR2_PACKAGE_MICROBE_WEB=y # BR2_PACKAGE_MINI_SNMPD is not set BR2_PACKAGE_MOTORS=y +BR2_PACKAGE_ONVIF_SIMPLE_SERVER=y BR2_PACKAGE_OPUS_OPENIPC=y BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y # BR2_PACKAGE_SSHPASS is not set diff --git a/general/package/Config.in b/general/package/Config.in index e1fa5134..92638df1 100644 --- a/general/package/Config.in +++ b/general/package/Config.in @@ -66,6 +66,7 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/mt7601u-ap-openipc/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/nabto/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/node-exporter/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/novatek-osdrv-nt9856x/Config.in" +source "$BR2_EXTERNAL_GENERAL_PATH/package/onvif-simple-server/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/opus-openipc/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/quirc-openipc/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/rcjoystick/Config.in" diff --git a/general/package/hisilicon-osdrv-hi3516cv100/files/sensor/config/sc1035_960p.ini b/general/package/hisilicon-osdrv-hi3516cv100/files/sensor/config/sc1035_960p.ini index 086004df..0d7b0bdf 100644 --- a/general/package/hisilicon-osdrv-hi3516cv100/files/sensor/config/sc1035_960p.ini +++ b/general/package/hisilicon-osdrv-hi3516cv100/files/sensor/config/sc1035_960p.ini @@ -46,7 +46,7 @@ Clock_edge =1 ;Clock edge mode (sampling on the rising or falling edge) ;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */ ;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */ Mask_num =2 ;Component mask -Mask_0 =0xFFF0000 +Mask_0 =0xFFF00000 ; Please also probe mask 0xFFF0000 Mask_1 =0x0 Scan_mode =1 ;VI_SCAN_INTERLACED = 0 ;VI_SCAN_PROGRESSIVE, diff --git a/general/package/onvif-simple-server/01-removing-old-anchors.patch b/general/package/onvif-simple-server/01-removing-old-anchors.patch new file mode 100644 index 00000000..d6354f6d --- /dev/null +++ b/general/package/onvif-simple-server/01-removing-old-anchors.patch @@ -0,0 +1,12 @@ +--- a/Makefile 2023-06-20 14:53:35.000000000 +0300 ++++ b/Makefile 2023-07-02 17:55:34.483218477 +0300 +@@ -1,7 +1,7 @@ + OBJECTS_O = onvif_simple_server.o device_service.o media_service.o ptz_service.o utils.o log.o + OBJECTS_W = wsd_simple_server.o utils.o log.o +-INCLUDE = -I../libtomcrypt/src/headers -ffunction-sections -fdata-sections +-LIBS_O = -Wl,--gc-sections ../libtomcrypt/libtomcrypt.a -lpthread ++INCLUDE = -ffunction-sections -fdata-sections ++LIBS_O = -Wl,--gc-sections -lpthread -ltomcrypt + LIBS_W = -Wl,--gc-sections + + all: onvif_simple_server wsd_simple_server diff --git a/general/package/onvif-simple-server/Config.in b/general/package/onvif-simple-server/Config.in new file mode 100644 index 00000000..617e9d2a --- /dev/null +++ b/general/package/onvif-simple-server/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_ONVIF_SIMPLE_SERVER + bool "onvif-simple-server" + default n + #select BR2_PACKAGE_LIBTOMCRYPT + #depends on BR2_INSTALL_LIBTOMCRYPT + help + onvif_simple_server is a C light implementation of an onvif + server intended for use in resource-constrained devices + + https://github.com/roleoroleo/onvif_simple_server diff --git a/general/package/onvif-simple-server/files/onvif.conf b/general/package/onvif-simple-server/files/onvif.conf new file mode 100644 index 00000000..56a1947c --- /dev/null +++ b/general/package/onvif-simple-server/files/onvif.conf @@ -0,0 +1,36 @@ +# General +model=OpenIPC ShowMe +manufacturer=OpenIPC +firmware_ver=2.3.7.x +hardware_id=HI5518EV200_OV9732_NOR16M +serial_num=OPENIPC.ORG +ifs=wlan0 +port=8899 +scope=onvif://www.onvif.org/Profile/Streaming +user=admin +password=123456 + +#Profile 0 +name=Profile_0 +width=1920 +height=1080 +url=rtsp://%s/stream=0 +snapurl=http://%s/image.jpg +type=H264 + +#Profile 1 +name=Profile_1 +width=640 +height=360 +url=rtsp://%s/stream=0 +snapurl=http://%s/image.jpg?width=640&height=360 +type=H264 + +#PTZ +ptz=1 +move_left=xm-kmotor -d l +move_right=xm-kmotor -d r +move_up=xm-kmotor -d u +move_down=xm-kmotor -d d +move_stop=xm-kmotor -d s +move_preset=xm-kmotor -d t diff --git a/general/package/onvif-simple-server/onvif-simple-server.mk b/general/package/onvif-simple-server/onvif-simple-server.mk new file mode 100644 index 00000000..8ad2cac3 --- /dev/null +++ b/general/package/onvif-simple-server/onvif-simple-server.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# onvif-simple-server +# +################################################################################ + +ONVIF_SIMPLE_SERVER_SITE_METHOD = git +ONVIF_SIMPLE_SERVER_SITE = https://github.com/roleoroleo/onvif_simple_server +ONVIF_SIMPLE_SERVER_VERSION = 8a19b6662af3ab123bb000a09710728cc355359c +ONVIF_SIMPLE_SERVER_DEPENDENCIES = libtomcrypt + +ONVIF_SIMPLE_SERVER_LICENSE = MIT +ONVIF_SIMPLE_SERVER_LICENSE_FILES = LICENSE + + +define ONVIF_SIMPLE_SERVER_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) +endef + +define ONVIF_SIMPLE_SERVER_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/sbin + $(INSTALL) -m 0755 -t $(TARGET_DIR)/usr/sbin $(@D)/onvif_simple_server + $(INSTALL) -m 0755 -t $(TARGET_DIR)/usr/sbin $(@D)/wsd_simple_server + $(INSTALL) -m 0755 -d $(TARGET_DIR)/etc + $(INSTALL) -m 0644 -t $(TARGET_DIR)/etc $(ONVIF_SIMPLE_SERVER_PKGDIR)/files/onvif.conf +endef + +$(eval $(generic-package))