From 835f1e2909cd6043035d505e2d1ec4ba4c236ff5 Mon Sep 17 00:00:00 2001 From: gtxaspec Date: Thu, 21 Dec 2023 13:10:18 -0800 Subject: [PATCH] [no ci] add go2rtc package (#1204) Co-authored-by: Signor Pellegrino <68112357+FlyRouter@users.noreply.github.com> --- general/package/Config.in | 1 + general/package/go2rtc/Config.in | 7 ++++ general/package/go2rtc/files/go2rtc.yaml | 20 +++++++++++ general/package/go2rtc/go2rtc.mk | 43 ++++++++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 general/package/go2rtc/Config.in create mode 100644 general/package/go2rtc/files/go2rtc.yaml create mode 100644 general/package/go2rtc/go2rtc.mk diff --git a/general/package/Config.in b/general/package/Config.in index 27e28f98..edb9489b 100644 --- a/general/package/Config.in +++ b/general/package/Config.in @@ -109,3 +109,4 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/xiongmai-osdrv-xm530/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/xmdp/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/yaml-cli/Config.in" source "$BR2_EXTERNAL_GENERAL_PATH/package/zerotier-one/Config.in" +source "$BR2_EXTERNAL_GENERAL_PATH/package/go2rtc/Config.in" diff --git a/general/package/go2rtc/Config.in b/general/package/go2rtc/Config.in new file mode 100644 index 00000000..174b1da9 --- /dev/null +++ b/general/package/go2rtc/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_GO2RTC + bool "go2rtc streamer" + default n + help + Ultimate camera streaming application with support RTSP, WebRTC, HomeKit, FFmpeg, RTMP, etc. + Note: Binary will be UPX Compressed, binary size ~3.4mb + https://github.com/AlexxIT/go2rtc diff --git a/general/package/go2rtc/files/go2rtc.yaml b/general/package/go2rtc/files/go2rtc.yaml new file mode 100644 index 00000000..e2c61d17 --- /dev/null +++ b/general/package/go2rtc/files/go2rtc.yaml @@ -0,0 +1,20 @@ +log: + level: info # default level + api: trace + exec: debug + ngrok: info + rtsp: warn + streams: error + webrtc: fatal + +rtsp: + listen: ":8553" + +webrtc: + candidates: + - stun:8555 + +streams: + openipc_jpeg: http://username:password@127.0.0.1/image.jpg + openipc_rtsp-1: rtsp://username:password@127.0.0.1/stream=0 + openipc_rtsp-2: rtsp://username:password@127.0.0.1/stream=1 diff --git a/general/package/go2rtc/go2rtc.mk b/general/package/go2rtc/go2rtc.mk new file mode 100644 index 00000000..97b13fce --- /dev/null +++ b/general/package/go2rtc/go2rtc.mk @@ -0,0 +1,43 @@ +################################################################################ +# +# go2rtc +# +################################################################################ + +GO2RTC_VERSION = master +GO2RTC_SITE = $(call github,AlexxIT,go2rtc,$(GO2RTC_VERSION)) +GO2RTC_LICENSE = MIT +GO2RTC_LICENSE_FILES = LICENSE + +GO2RTC_INSTALL_TARGET = YES + +GO2RTC_DEPENDENCIES = host-go host-upx +GO2RTC_GO_LDFLAGS = -s -w + +define GO2RTC_BUILD_CMDS + GOARCH=$$( \ + case $(BR2_ARCH) in \ + x86) echo 386 ;; \ + x86_64) echo amd64 ;; \ + arm) echo arm ;; \ + aarch64) echo arm64 ;; \ + mips) echo mips ;; \ + mipsel) echo mipsle ;; \ + *) echo "Unsupported architecture: $(BR2_ARCH)" && exit 1 ;; \ + esac \ + ); \ + echo "Building for GOARCH: $$GOARCH"; \ + (cd $(@D); \ + CGO_ENABLED=0 \ + GOOS=linux \ + GOARCH=$$GOARCH \ + go build -ldflags "$(GO2RTC_GO_LDFLAGS)") +endef + +define GO2RTC_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/go2rtc $(TARGET_DIR)/usr/bin/go2rtc + upx --best --lzma $(TARGET_DIR)/usr/bin/go2rtc + $(INSTALL) -m 644 -t $(TARGET_DIR)/etc/ $(GO2RTC_PKGDIR)/files/go2rtc.yaml +endef + +$(eval $(golang-package))