mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-24 11:46:30 +00:00
Merge remote-tracking branch 'thingos/dev' into dev
This commit is contained in:
commit
2f752c89bf
@ -1,6 +1,5 @@
|
||||
DATE_TIMEOUT=10
|
||||
DATE_METHOD=http
|
||||
DATE_METHOD=sntp
|
||||
DATE_HOST="google.com"
|
||||
DATE_INTERVAL=900
|
||||
DATE_NTP_SERVER=""
|
||||
|
||||
|
@ -291,12 +291,16 @@ function do_download() {
|
||||
curl ${curl_opts} -o ${outfile} "${url}" &> ${CURL_LOG_FILE} &
|
||||
pid=$!
|
||||
echo ${pid} > ${CURL_PID_FILE}
|
||||
|
||||
set +e # don't exit on error just yet
|
||||
wait ${pid}
|
||||
|
||||
if [[ "$?" != 0 ]]; then
|
||||
cat ${CURL_LOG_FILE}
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -e
|
||||
}
|
||||
|
||||
function download_status() {
|
||||
|
@ -20,7 +20,7 @@ xml_result=$(curl ${opts} ${url})
|
||||
keys=$(echo "${xml_result}" | grep -oE '<Key>[^<]+<\/Key>' | sed 's/<Key>\(.*\)<\/Key>/\1/')
|
||||
dates=$(echo "${xml_result}" | grep -oE '<LastModified>[^<]+<\/LastModified>' | sed 's/<LastModified>\(.*\)<\/LastModified>/\1/')
|
||||
dates=(${dates})
|
||||
files=$(echo "${keys}" | grep "^${path}/" | sed "s/^${path}\///" | sed '/^$/d')
|
||||
files=$(echo "${keys}" | grep "^${path}/" | sed "s,^${path}\/,," | sed '/^$/d')
|
||||
|
||||
i=0
|
||||
for file in ${files}; do
|
||||
@ -32,13 +32,12 @@ for file in ${files}; do
|
||||
fi
|
||||
|
||||
prerelease=false
|
||||
if [[ "${version}" =~ ^.*[ab][0-9]+$ ]]; then # e.g. 0.4.1b2
|
||||
if [[ "${version}" =~ ^.*[abc]\.?[0-9]+$ ]] || # e.g. 0.4.1b2, 0.4.1b.2, 0.4.1-b.2
|
||||
[[ "${version}" =~ ^.*(alpha|beta|rc)\.?[0-9]+$ ]] || # e.g. 0.4.1beta2, 0.4.1beta.2, 0.4.1-beta.2
|
||||
[[ "${version}" =~ ^(dev|nightly).*$ ]]; then # e.g. dev20180314, nightly20180314
|
||||
prerelease=true
|
||||
fi
|
||||
if [[ "${version}" =~ ^dev.*$ ]]; then # e.g. dev20180314
|
||||
prerelease=true
|
||||
fi
|
||||
|
||||
|
||||
final_url=${url}/${path}/${version}/${fname}
|
||||
board=$(echo ${fname} | cut -d '-' -f 2)
|
||||
date=$(echo ${dates[${i}]} | cut -d 'T' -f 1)
|
||||
|
@ -57,6 +57,8 @@ menu "Audio and video applications"
|
||||
source "package/upmpdcli/Config.in"
|
||||
source "package/v4l2grab/Config.in"
|
||||
source "package/v4l2loopback/Config.in"
|
||||
source "package/v4l2rtspserver/Config.in"
|
||||
source "package/v4l2tools/Config.in"
|
||||
source "package/vlc/Config.in"
|
||||
source "package/vorbis-tools/Config.in"
|
||||
source "package/wavpack/Config.in"
|
||||
@ -996,6 +998,7 @@ menu "External python modules"
|
||||
source "package/python-pygame/Config.in"
|
||||
source "package/python-pygments/Config.in"
|
||||
source "package/python-pyhamcrest/Config.in"
|
||||
source "package/python-pyhocon/Config.in"
|
||||
source "package/python-pyicu/Config.in"
|
||||
source "package/python-pyinotify/Config.in"
|
||||
source "package/python-pyjwt/Config.in"
|
||||
@ -1513,6 +1516,7 @@ menu "Multimedia"
|
||||
source "package/libyuv/Config.in"
|
||||
source "package/live555/Config.in"
|
||||
source "package/mediastreamer/Config.in"
|
||||
source "package/v4l2cpp/Config.in"
|
||||
source "package/x264/Config.in"
|
||||
source "package/x265/Config.in"
|
||||
endmenu
|
||||
|
8
package/python-pyhocon/Config.in
Normal file
8
package/python-pyhocon/Config.in
Normal file
@ -0,0 +1,8 @@
|
||||
config BR2_PACKAGE_PYTHON_PYHOCON
|
||||
bool "python-pyhocon"
|
||||
depends on BR2_PACKAGE_PYTHON
|
||||
select BR2_PACKAGE_PYTHON_PYPARSING
|
||||
help
|
||||
HOCON parser for Python
|
||||
|
||||
https://github.com/chimpler/pyhocon
|
1
package/python-pyhocon/python-pyhocon.hash
Normal file
1
package/python-pyhocon/python-pyhocon.hash
Normal file
@ -0,0 +1 @@
|
||||
sha256 94ceda402ce1718ead26fc725695a4f5a5671ce643da3c50514e049017098082 pyhocon-0.3.51.tar.gz
|
14
package/python-pyhocon/python-pyhocon.mk
Normal file
14
package/python-pyhocon/python-pyhocon.mk
Normal file
@ -0,0 +1,14 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-pyhocon
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_PYHOCON_VERSION = 0.3.51
|
||||
PYTHON_PYHOCON_SOURCE = pyhocon-$(PYTHON_PYHOCON_VERSION).tar.gz
|
||||
PYTHON_PYHOCON_SITE = https://files.pythonhosted.org/packages/3f/35/34e16968df0b8b65d3696d80b8add0aaffd4f0461c1ef3c0f066fdc747e8
|
||||
PYTHON_PYHOCON_LICENSE = Apache-2.0
|
||||
PYTHON_PYHOCON_LICENSE_FILES = LICENSE
|
||||
PYTHON_PYHOCON_SETUP_TYPE = setuptools
|
||||
|
||||
$(eval $(python-package))
|
6
package/python-setupnovernormalize/Config.in.host
Normal file
6
package/python-setupnovernormalize/Config.in.host
Normal file
@ -0,0 +1,6 @@
|
||||
config BR2_PACKAGE_HOST_PYTHON_SETUPNOVERNORMALIZE
|
||||
bool "host python-setupnovernormalize"
|
||||
help
|
||||
Prevent version normalization when packaging Python projects with setuptools. For more details, see https://github.com/pypa/setuptools/issues/308.
|
||||
|
||||
https://github.com/ccrisan/setup-no-ver-normalize
|
@ -0,0 +1 @@
|
||||
sha256 440ddfb209c40d8ff55472251fda33e8cef3741596462d045d139cd5743b0988 setupnovernormalize-1.0.1.tar.gz
|
@ -0,0 +1,13 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-setupnovernormalize
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_SETUPNOVERNORMALIZE_VERSION = 1.0.1
|
||||
PYTHON_SETUPNOVERNORMALIZE_SOURCE = setupnovernormalize-$(PYTHON_SETUPNOVERNORMALIZE_VERSION).tar.gz
|
||||
PYTHON_SETUPNOVERNORMALIZE_SITE = https://files.pythonhosted.org/packages/1d/52/fa80eef76aa8e1672f113a63326a4d12f5a1dc7a75798a2e08dc2dea3a8c
|
||||
PYTHON_SETUPNOVERNORMALIZE_SETUP_TYPE = setuptools
|
||||
PYTHON_SETUPNOVERNORMALIZE_LICENSE = UNLICENSE
|
||||
|
||||
$(eval $(host-python-package))
|
14
package/rpi-userland/0005-disable-missing-all-apps.patch
Normal file
14
package/rpi-userland/0005-disable-missing-all-apps.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff -rupEbBN rpi-userland-org/host_applications/linux/CMakeLists.txt rpi-userland-d574b51a60a075baefe863670466ee24e6c4256e/host_applications/linux/CMakeLists.txt
|
||||
--- rpi-userland-org/host_applications/linux/CMakeLists.txt 2018-12-04 16:02:51.189384113 +1100
|
||||
+++ rpi-userland-d574b51a60a075baefe863670466ee24e6c4256e/host_applications/linux/CMakeLists.txt 2018-12-04 16:08:25.363548444 +1100
|
||||
@@ -14,10 +14,5 @@ add_subdirectory(apps/dtoverlay)
|
||||
add_subdirectory(apps/dtmerge)
|
||||
|
||||
if(ALL_APPS)
|
||||
- add_subdirectory(apps/vcdbg)
|
||||
- add_subdirectory(libs/elftoolchain)
|
||||
- # add_subdirectory(apps/smct)
|
||||
- add_subdirectory(apps/edid_parser)
|
||||
add_subdirectory(apps/hello_pi)
|
||||
endif()
|
||||
-
|
15
package/v4l2cpp/0001-no-log4cpp.patch.bak
Normal file
15
package/v4l2cpp/0001-no-log4cpp.patch.bak
Normal file
@ -0,0 +1,15 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index a51b316..60b801b 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -5,10 +5,6 @@ CXX ?= $(CROSS)g++
|
||||
AR ?= $(CROSS)ar
|
||||
PREFIX?=/usr
|
||||
|
||||
-ifneq ($(wildcard $(SYSROOT)$(PREFIX)/include/log4cpp/Category.hh),)
|
||||
-CXXFLAGS += -DHAVE_LOG4CPP -I $(SYSROOT)$(PREFIX)/include
|
||||
-endif
|
||||
-
|
||||
V4L2WRAPPER_CPP:=$(wildcard src/*.cpp)
|
||||
V4L2WRAPPER_OBJ:=$(V4L2WRAPPER_CPP:%.cpp=%.o)
|
||||
|
39
package/v4l2cpp/0001-shared-lib.patch
Normal file
39
package/v4l2cpp/0001-shared-lib.patch
Normal file
@ -0,0 +1,39 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index a51b316..7291248 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -5,16 +5,12 @@ CXX ?= $(CROSS)g++
|
||||
AR ?= $(CROSS)ar
|
||||
PREFIX?=/usr
|
||||
|
||||
-ifneq ($(wildcard $(SYSROOT)$(PREFIX)/include/log4cpp/Category.hh),)
|
||||
-CXXFLAGS += -DHAVE_LOG4CPP -I $(SYSROOT)$(PREFIX)/include
|
||||
-endif
|
||||
-
|
||||
V4L2WRAPPER_CPP:=$(wildcard src/*.cpp)
|
||||
V4L2WRAPPER_OBJ:=$(V4L2WRAPPER_CPP:%.cpp=%.o)
|
||||
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
-all: libv4l2wrapper.a
|
||||
+all: libv4l2wrapper.a libv4l2wrapper.so
|
||||
|
||||
%.o: %.cpp
|
||||
$(CXX) -c -o $@ $< $(CXXFLAGS)
|
||||
@@ -22,12 +18,14 @@ all: libv4l2wrapper.a
|
||||
libv4l2wrapper.a: $(V4L2WRAPPER_OBJ)
|
||||
$(AR) rcs $@ $^
|
||||
|
||||
+libv4l2wrapper.so: $(V4L2WRAPPER_OBJ)
|
||||
+ $(CXX) -shared -fPIC $(CXXFLAGS) -o $@ $^
|
||||
|
||||
clean:
|
||||
- -@$(RM) *.a $(V4L2WRAPPER_OBJ)
|
||||
+ -@$(RM) *.a *.so $(V4L2WRAPPER_OBJ)
|
||||
|
||||
install:
|
||||
mkdir -p $(PREFIX)/include/libv4l2cpp/
|
||||
install -D -m 0755 inc/*.h $(PREFIX)/include/libv4l2cpp/
|
||||
install -D -m 0755 *.a $(PREFIX)/lib
|
||||
-
|
||||
+ install -D -m 0755 *.so $(PREFIX)/lib
|
4
package/v4l2cpp/Config.in
Normal file
4
package/v4l2cpp/Config.in
Normal file
@ -0,0 +1,4 @@
|
||||
config BR2_PACKAGE_V4L2CPP
|
||||
bool "v4l2cpp"
|
||||
help
|
||||
Build the V4L2 C++ Wrapper for target use.
|
36
package/v4l2cpp/v4l2cpp.mk
Normal file
36
package/v4l2cpp/v4l2cpp.mk
Normal file
@ -0,0 +1,36 @@
|
||||
#############################################################
|
||||
#
|
||||
# v4l2cpp
|
||||
#
|
||||
#############################################################
|
||||
|
||||
V4L2CPP_VERSION=021d887dc531bcf74c766cb413f87e8fc92579e3
|
||||
V4L2CPP_SITE = https://github.com/jasaw/libv4l2cpp.git
|
||||
V4L2CPP_SITE_METHOD = git
|
||||
V4L2CPP_LICENSE = UNLICENSE
|
||||
V4L2CPP_LICENSE_FILES = LICENSE
|
||||
V4L2CPP_CFLAGS = $(TARGET_CFLAGS)
|
||||
|
||||
ifeq ($(BR2_STATIC_LIBS),y)
|
||||
V4L2CPP_CONFIG_TARGET = linux
|
||||
V4L2CPP_LIBRARY_LINK = $(TARGET_AR) cr
|
||||
else
|
||||
V4L2CPP_CONFIG_TARGET = linux-with-shared-libraries
|
||||
V4L2CPP_LIBRARY_LINK = $(TARGET_CC) -o
|
||||
V4L2CPP_CFLAGS += -fPIC
|
||||
endif
|
||||
|
||||
ifndef ($(BR2_ENABLE_LOCALE),y)
|
||||
V4L2CPP_CFLAGS += -DLOCALE_NOT_USED
|
||||
endif
|
||||
|
||||
define V4L2CPP_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" AR="$(TARGET_AR)" EXTRA_CXXFLAGS="$(V4L2CPP_CFLAGS)" -C $(@D) all
|
||||
endef
|
||||
|
||||
define V4L2CPP_INSTALL_TARGET_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) PREFIX="$(STAGING_DIR)/usr" -C $(@D) install
|
||||
$(INSTALL) -D -m 0755 $(@D)/libv4l2wrapper.so $(TARGET_DIR)/usr/lib
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
59
package/v4l2rtspserver/0001-use-custom-makefile.patch
Normal file
59
package/v4l2rtspserver/0001-use-custom-makefile.patch
Normal file
@ -0,0 +1,59 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index e69de29..fb3f2bf 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -0,0 +1,54 @@
|
||||
+ifneq ($(SRC),)
|
||||
+VPATH=$(SRC)
|
||||
+endif
|
||||
+
|
||||
+ALL_PROGS = v4l2rtspserver
|
||||
+PREFIX?=/usr
|
||||
+DESTDIR?=$(PREFIX)/bin
|
||||
+CC?=$(CROSS)gcc
|
||||
+CXX?=$(CROSS)g++
|
||||
+CXXFLAGS += -I$(SRC) -W -Wall -std=c++11 -g -O3 -D_POSIX_C_SOURCE=2
|
||||
+CXXFLAGS += -Iinc -I$(PREFIX)/include -I$(PREFIX)/include/BasicUsageEnvironment -I$(PREFIX)/include/UsageEnvironment -I$(PREFIX)/include/liveMedia -I$(PREFIX)/include/groupsock
|
||||
+CXXFLAGS += $(EXTRA_CXXFLAGS)
|
||||
+LDFLAGS += -pthread -L$(PREFIX)/lib -lBasicUsageEnvironment -lUsageEnvironment -lliveMedia -lgroupsock -lv4l2wrapper
|
||||
+RM = rm -rf
|
||||
+
|
||||
+RTSPSERVER_OBJS = \
|
||||
+ src/DeviceSource.o \
|
||||
+ src/H264_V4l2DeviceSource.o \
|
||||
+ src/HTTPServer.o \
|
||||
+ src/main.o \
|
||||
+ src/MemoryBufferSink.o \
|
||||
+ src/MJPEGVideoSource.o \
|
||||
+ src/MulticastServerMediaSubsession.o \
|
||||
+ src/ServerMediaSubsession.o \
|
||||
+ src/TSServerMediaSubsession.o \
|
||||
+ src/UnicastServerMediaSubsession.o \
|
||||
+
|
||||
+
|
||||
+# v4l2wrapper
|
||||
+CXXFLAGS += -I$(PREFIX)/include/libv4l2cpp
|
||||
+
|
||||
+# ALSA
|
||||
+ifneq ($(HAVE_ALSA),)
|
||||
+CXXFLAGS += -DHAVE_ALSA
|
||||
+RTSPSERVER_OBJS += src/ALSACapture.o
|
||||
+LDFLAGS += -lasound
|
||||
+endif
|
||||
+
|
||||
+
|
||||
+.DEFAULT_GOAL := all
|
||||
+
|
||||
+all: $(ALL_PROGS)
|
||||
+
|
||||
+v4l2rtspserver: $(RTSPSERVER_OBJS)
|
||||
+ $(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)
|
||||
+
|
||||
+src/%.o : src/%.cpp
|
||||
+ $(CXX) $(CXXFLAGS) -c $< -o $@
|
||||
+
|
||||
+clean:
|
||||
+ $(RM) src/*.o v4l2rtspserver
|
||||
+
|
||||
+install: v4l2rtspserver
|
||||
+ install -D -m 0777 v4l2rtspserver $(DESTDIR)
|
91
package/v4l2rtspserver/0001-use-system-v4l2wrapper.patch.bak
Normal file
91
package/v4l2rtspserver/0001-use-system-v4l2wrapper.patch.bak
Normal file
@ -0,0 +1,91 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 7cf9f3c..3f967b3 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1,5 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
|
||||
+set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||
+
|
||||
project(v4l2rtspserver)
|
||||
|
||||
option(COVERAGE "Coverage" OFF)
|
||||
@@ -39,7 +41,7 @@ message(STATUS "CMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}")
|
||||
|
||||
#pthread
|
||||
find_package (Threads)
|
||||
-target_link_libraries (${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT})
|
||||
+target_link_libraries (${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT})
|
||||
|
||||
#ALSA
|
||||
if (ALSA)
|
||||
@@ -47,9 +49,9 @@ find_package(ALSA QUIET)
|
||||
if (ALSA_LIBRARY)
|
||||
message(STATUS "Alsa available")
|
||||
add_definitions(-DHAVE_ALSA)
|
||||
- target_link_libraries (${PROJECT_NAME} ${ALSA_LIBRARY})
|
||||
-
|
||||
- SET(CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_DEPENDS}libasound2-dev,)
|
||||
+ target_link_libraries (${PROJECT_NAME} ${ALSA_LIBRARY})
|
||||
+
|
||||
+ SET(CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_DEPENDS}libasound2-dev,)
|
||||
endif (ALSA_LIBRARY)
|
||||
endif()
|
||||
|
||||
@@ -59,16 +61,25 @@ if (LOG4CPP_LIBRARY)
|
||||
message(STATUS "Log4Cpp available")
|
||||
add_definitions(-DHAVE_LOG4CPP)
|
||||
target_link_libraries(${PROJECT_NAME} "${LOG4CPP_LIBRARY}")
|
||||
-
|
||||
+
|
||||
SET(CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_DEPENDS}liblog4cpp5-dev,)
|
||||
endif ()
|
||||
|
||||
# v4l2wrapper
|
||||
-EXEC_PROGRAM("git submodule update --init")
|
||||
-aux_source_directory(v4l2wrapper/src LIBSRC_FILES)
|
||||
-include_directories("v4l2wrapper/inc")
|
||||
-add_library(v4l2wrapper STATIC ${LIBSRC_FILES})
|
||||
-target_link_libraries (${PROJECT_NAME} v4l2wrapper)
|
||||
+#set(V4L2WRAPPER_LIBRARY ${CMAKE_SOURCE_DIR}/libv4l2wrapper.a)
|
||||
+target_link_libraries(${PROJECT_NAME} ${CMAKE_SOURCE_DIR}/libv4l2wrapper.a)
|
||||
+#find_library(V4L2WRAPPER_LIBRARY v4l2wrapper REQUIRED)
|
||||
+#find_package(v4l2cpp REQUIRED)
|
||||
+#if (V4L2CPP_LIBRARY)
|
||||
+# message(STATUS "v4l2wrapper available")
|
||||
+# target_link_libraries(${PROJECT_NAME} "${V4L2CPP_LIBRARY}")
|
||||
+#endif ()
|
||||
+
|
||||
+# EXEC_PROGRAM("git submodule update --init")
|
||||
+# aux_source_directory(v4l2wrapper/src LIBSRC_FILES)
|
||||
+# include_directories("v4l2wrapper/inc")
|
||||
+# add_library(v4l2wrapper STATIC ${LIBSRC_FILES})
|
||||
+# target_link_libraries (${PROJECT_NAME} v4l2wrapper)
|
||||
|
||||
# live555
|
||||
set(LIVE ${CMAKE_BINARY_DIR}/live)
|
||||
@@ -97,7 +108,7 @@ if (SYSTEMD_FOUND)
|
||||
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=systemdsystemunitdir systemd OUTPUT_VARIABLE SYSTEMD_SERVICES_INSTALL_DIR)
|
||||
string(REGEX REPLACE "[ \t\n]+" "" SYSTEMD_SERVICES_INSTALL_DIR "${SYSTEMD_SERVICES_INSTALL_DIR}")
|
||||
message(STATUS "SystemD directory '${SYSTEMD_SERVICES_INSTALL_DIR}'")
|
||||
-
|
||||
+
|
||||
configure_file(v4l2rtspserver.service.in ${CMAKE_CURRENT_BINARY_DIR}/v4l2rtspserver.service @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/v4l2rtspserver.service DESTINATION ${SYSTEMD_SERVICES_INSTALL_DIR})
|
||||
endif (SYSTEMD_FOUND)
|
||||
@@ -108,8 +119,8 @@ install (FILES index.html DESTINATION share/${PROJECT_NAME}/)
|
||||
install (FILES hls.js/dist/hls.light.min.js DESTINATION share/${PROJECT_NAME}/hls.js/dist/)
|
||||
|
||||
SET(CPACK_GENERATOR "DEB")
|
||||
-SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Michel Promonet")
|
||||
-SET(CPACK_PACKAGE_CONTACT "michel.promonet@free.fr")
|
||||
+SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Michel Promonet")
|
||||
+SET(CPACK_PACKAGE_CONTACT "michel.promonet@free.fr")
|
||||
SET(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR})
|
||||
STRING(REGEX REPLACE ",$" "" CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}")
|
||||
SET(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
@@ -117,4 +128,3 @@ if(VERSION)
|
||||
SET(CPACK_PACKAGE_VERSION "${VERSION}")
|
||||
endif()
|
||||
INCLUDE(CPack)
|
||||
-
|
6
package/v4l2rtspserver/Config.in
Normal file
6
package/v4l2rtspserver/Config.in
Normal file
@ -0,0 +1,6 @@
|
||||
config BR2_PACKAGE_V4L2RTSPSERVER
|
||||
bool "v4l2rtspserver"
|
||||
select BR2_PACKAGE_V4L2CPP
|
||||
select BR2_PACKAGE_LIVE555
|
||||
help
|
||||
Provides a streaming RTSP server for the target.
|
32
package/v4l2rtspserver/v4l2rtspserver.mk
Normal file
32
package/v4l2rtspserver/v4l2rtspserver.mk
Normal file
@ -0,0 +1,32 @@
|
||||
#############################################################
|
||||
#
|
||||
# v4l2rtspserver
|
||||
#
|
||||
#############################################################
|
||||
|
||||
V4L2RTSPSERVER_VERSION = 13e27dc78f2ed6bc5d43fd6eb759041d8e0b4a66
|
||||
V4L2RTSPSERVER_SITE = https://github.com/mpromonet/v4l2rtspserver.git
|
||||
V4L2RTSPSERVER_SITE_METHOD = git
|
||||
V4L2RTSPSERVER_LICENSE = UNLICENSE
|
||||
V4L2RTSPSERVER_LICENSE_FILES = LICENSE
|
||||
V4L2RTSPSERVER_INSTALL_TARGET = YES
|
||||
V4L2RTSPSERVER_DEPENDENCIES = live555 v4l2cpp
|
||||
V4L2RTSPSERVER_CFLAGS = $(TARGET_CFLAGS) -DVERSION=1
|
||||
|
||||
ifndef ($(BR2_ENABLE_LOCALE),y)
|
||||
V4L2RTSPSERVER_CFLAGS += -DLOCALE_NOT_USED
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
|
||||
V4L2RTSPSERVER_OPTS += "HAVE_ALSA=1"
|
||||
endif
|
||||
|
||||
define V4L2RTSPSERVER_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" EXTRA_CXXFLAGS="$(V4L2RTSPSERVER_CFLAGS)" PREFIX="$(STAGING_DIR)/usr" $(V4L2RTSPSERVER_OPTS) -C $(@D) all
|
||||
endef
|
||||
|
||||
define V4L2RTSPSERVER_INSTALL_TARGET_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) DESTDIR="$(TARGET_DIR)/usr/bin" -C $(@D) install
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
153
package/v4l2tools/02-enable-cross-compile.patch
Normal file
153
package/v4l2tools/02-enable-cross-compile.patch
Normal file
@ -0,0 +1,153 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index e69de29..f337374 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -0,0 +1,148 @@
|
||||
+ALL_PROGS = v4l2copy v4l2source_yuv
|
||||
+PREFIX?=/usr
|
||||
+DESTDIR?=$(PREFIX)/bin
|
||||
+CC?=$(CROSS)gcc
|
||||
+CXX?=$(CROSS)g++
|
||||
+CXXFLAGS += -W -Wall -g -O3 -D_POSIX_C_SOURCE=2
|
||||
+CXXFLAGS += -Iinclude -I$(PREFIX)/include -I$(PREFIX)/include/libv4l2cpp
|
||||
+CXXFLAGS += $(EXTRA_CXXFLAGS)
|
||||
+LDFLAGS += -pthread -L$(PREFIX)/lib -lv4l2wrapper
|
||||
+
|
||||
+.DEFAULT_GOAL := all
|
||||
+
|
||||
+# raspberry tools
|
||||
+ifneq ($(HAVE_RPI_IL),)
|
||||
+ILCFLAGS = $(CXXFLAGS)
|
||||
+ILCFLAGS += -DOMX_SKIP64BIT
|
||||
+ILLDFLAGS = $(LDFLAGS) -lpthread -lopenmaxil -lbcm_host -lvcos -lvchostif -lvchiq_arm -lilclient
|
||||
+
|
||||
+v4l2compress_omx: src/encode_omx.cpp src/v4l2compress_omx.cpp
|
||||
+ $(CXX) -o $@ $^ -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi $(ILCFLAGS) $(ILLDFLAGS)
|
||||
+
|
||||
+v4l2grab_h264: src/encode_omx.cpp src/v4l2grab_h264.cpp
|
||||
+ $(CXX) -o $@ $^ -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi $(ILCFLAGS) $(ILLDFLAGS)
|
||||
+
|
||||
+v4l2display_h264: src/v4l2display_h264.cpp
|
||||
+ $(CXX) -o $@ $^ -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi $(ILCFLAGS) $(ILLDFLAGS)
|
||||
+
|
||||
+
|
||||
+ALL_PROGS+=v4l2grab_h264
|
||||
+ALL_PROGS+=v4l2display_h264
|
||||
+ALL_PROGS+=v4l2compress_omx
|
||||
+endif
|
||||
+
|
||||
+ifneq ($(HAVE_RPI),)
|
||||
+MMALCAM_CFLAGS = $(CXXFLAGS)
|
||||
+MMALCAM_LDFLAGS = $(LDFLAGS) -L/opt/vc/lib -lmmal -lmmal_core -lmmal_util -lpthread -lbcm_host -lvcos -lvchostif -lvchiq_arm
|
||||
+RASPICAM_CFLAGS = $(CFLAGS) -Isrc/raspicam -I/opt/vc/include
|
||||
+RASPICAM_OBJS = \
|
||||
+ src/raspicam/RaspiCamControl.o \
|
||||
+ src/raspicam/RaspiCLI.o \
|
||||
+ src/raspicam/RaspiCommonSettings.o \
|
||||
+ src/raspicam/RaspiHelpers.o \
|
||||
+ src/raspicam/RaspiPreview.o
|
||||
+
|
||||
+v4l2multi_stream_mmal: src/v4l2multi_stream_mmal.cpp $(RASPICAM_OBJS)
|
||||
+ $(CXX) -o $@ $^ -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi $(MMALCAM_CFLAGS) $(RASPICAM_CFLAGS) $(MMALCAM_LDFLAGS)
|
||||
+
|
||||
+src/raspicam/%.o : src/raspicam/%.c
|
||||
+ $(CC) -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -Wno-psabi $(RASPICAM_CFLAGS) -c $< -o $@
|
||||
+
|
||||
+ALL_PROGS+=v4l2multi_stream_mmal
|
||||
+
|
||||
+endif
|
||||
+
|
||||
+# libyuv
|
||||
+ifneq ($(HAVE_LIBYUV),)
|
||||
+ALL_PROGS+=v4l2convert_yuv
|
||||
+
|
||||
+# libh264bitstream & libhevcbitstream
|
||||
+ifneq ($(HAVE_H264BITSTREAM),)
|
||||
+ifneq ($(HAVE_HEVCBITSTREAM),)
|
||||
+ALL_PROGS+=v4l2dump
|
||||
+endif
|
||||
+endif
|
||||
+
|
||||
+# libh264bitstream
|
||||
+ifneq ($(HAVE_H264BITSTREAM),)
|
||||
+ALL_PROGS+=v4l2compress_h264
|
||||
+endif
|
||||
+
|
||||
+# libhevcbitstream
|
||||
+ifneq ($(HAVE_HEVCBITSTREAM),)
|
||||
+ALL_PROGS+=v4l2compress_x265
|
||||
+endif
|
||||
+
|
||||
+# libvpx
|
||||
+ifneq ($(HAVE_LIBVPX),)
|
||||
+ALL_PROGS+=v4l2compress_vpx
|
||||
+endif
|
||||
+
|
||||
+# libjpeg
|
||||
+ifneq ($(HAVE_LIBJPEG),)
|
||||
+ALL_PROGS+=v4l2compress_jpeg v4l2uncompress_jpeg
|
||||
+CFLAGS += -DHAVE_JPEG
|
||||
+endif
|
||||
+
|
||||
+endif
|
||||
+
|
||||
+# libfuse
|
||||
+ifneq ($(HAVE_LIBFUSE),)
|
||||
+ALL_PROGS+=v4l2fuse
|
||||
+endif
|
||||
+
|
||||
+all: $(ALL_PROGS)
|
||||
+
|
||||
+# read V4L2 capture -> write V4L2 output
|
||||
+v4l2copy: src/v4l2copy.cpp
|
||||
+ $(CXX) -o $@ $(CXXFLAGS) $^ $(LDFLAGS)
|
||||
+
|
||||
+# read V4L2 capture -> convert YUV format -> write V4L2 output
|
||||
+v4l2convert_yuv: src/v4l2convert_yuv.cpp
|
||||
+ $(CXX) -o $@ $(CXXFLAGS) -I$(PREFIX)/include/libyuv $^ $(LDFLAGS) -lyuv -ljpeg
|
||||
+
|
||||
+# -> write V4L2 output
|
||||
+v4l2source_yuv: src/v4l2source_yuv.cpp
|
||||
+ $(CXX) -o $@ $(CXXFLAGS) $^ $(LDFLAGS)
|
||||
+
|
||||
+# read V4L2 capture -> compress using libvpx -> write V4L2 output
|
||||
+v4l2compress_vpx: src/v4l2compress_vpx.cpp
|
||||
+ $(CXX) -o $@ $(CXXFLAGS) -I$(PREFIX)/include/libyuv $^ $(LDFLAGS) -lvpx -lyuv -ljpeg
|
||||
+
|
||||
+# read V4L2 capture -> compress using x264 -> write V4L2 output
|
||||
+v4l2compress_h264: src/v4l2compress_h264.cpp
|
||||
+ $(CXX) -o $@ $(CXXFLAGS) -I$(PREFIX)/include/libyuv $^ $(LDFLAGS) -lh264bitstream -lyuv -ljpeg
|
||||
+
|
||||
+# read V4L2 capture -> compress using x265 -> write V4L2 output
|
||||
+v4l2compress_x265: src/v4l2compress_x265.cpp
|
||||
+ $(CXX) -o $@ $(CXXFLAGS) -I$(PREFIX)/include/libyuv $^ $(LDFLAGS) -lhevcbitstream -lyuv -ljpeg
|
||||
+
|
||||
+# read V4L2 capture -> compress using libjpeg -> write V4L2 output
|
||||
+v4l2compress_jpeg: src/v4l2compress_jpeg.cpp
|
||||
+ $(CXX) -o $@ $(CXXFLAGS) -I$(PREFIX)/include/libyuv $^ $(LDFLAGS) -lyuv -ljpeg
|
||||
+
|
||||
+# read V4L2 capture -> uncompress using libjpeg -> write V4L2 output
|
||||
+v4l2uncompress_jpeg: src/v4l2uncompress_jpeg.cpp
|
||||
+ $(CXX) -o $@ $(CXXFLAGS) -I$(PREFIX)/include/libyuv $^ $(LDFLAGS) -lyuv -ljpeg
|
||||
+
|
||||
+# try with opencv
|
||||
+v4l2detect_yuv: src/v4l2detect_yuv.cpp
|
||||
+ $(CXX) -o $@ $(CXXFLAGS) -I$(PREFIX)/include/libyuv $^ $(LDFLAGS) -lopencv_core -lopencv_objdetect -lopencv_imgproc -lyuv -ljpeg
|
||||
+
|
||||
+# dump
|
||||
+v4l2dump: src/v4l2dump.cpp
|
||||
+ $(CXX) -o $@ $(CXXFLAGS) -I$(PREFIX)/include/h264bitstream -I$(PREFIX)/include/hevcbitstream -I$(PREFIX)/include/libyuv $^ $(LDFLAGS) -lh264bitstream -lhevcbitstream -lyuv -ljpeg
|
||||
+
|
||||
+v4l2fuse: src/v4l2fuse.c
|
||||
+ $(CC) -o $@ $(CFLAGS) $^ $(LDFLAGS) -D_FILE_OFFSET_BITS=64 -lfuse
|
||||
+
|
||||
+
|
||||
+upgrade:
|
||||
+ git submodule foreach git pull origin master
|
||||
+
|
||||
+install: all
|
||||
+ mkdir -p $(DESTDIR)/bin
|
||||
+ install -D -m 0755 $(ALL_PROGS) $(DESTDIR)/bin
|
||||
+
|
||||
+clean:
|
||||
+ -@$(RM) $(ALL_PROGS) .*o *.a src/raspicam/.*o
|
8
package/v4l2tools/Config.in
Normal file
8
package/v4l2tools/Config.in
Normal file
@ -0,0 +1,8 @@
|
||||
config BR2_PACKAGE_V4L2TOOLS
|
||||
bool "v4l2tools"
|
||||
select BR2_PACKAGE_V4L2CPP
|
||||
select BR2_PACKAGE_JPEG
|
||||
select BR2_PACKAGE_LIBFUSE
|
||||
help
|
||||
Build the V4L2 tools based on libv4l2cpp.
|
||||
Optional dependencies: libvpx, x264, x265.
|
88
package/v4l2tools/v4l2tools.mk
Normal file
88
package/v4l2tools/v4l2tools.mk
Normal file
@ -0,0 +1,88 @@
|
||||
#############################################################
|
||||
#
|
||||
# v4l2tools
|
||||
#
|
||||
#############################################################
|
||||
|
||||
V4L2TOOLS_VERSION = ab94cf8
|
||||
V4L2TOOLS_SITE = https://github.com/jasaw/v4l2tools.git
|
||||
V4L2TOOLS_SITE_METHOD = git
|
||||
V4L2TOOLS_LICENSE = UNLICENSE
|
||||
V4L2TOOLS_LICENSE_FILES = LICENSE
|
||||
V4L2TOOLS_INSTALL_TARGET = YES
|
||||
V4L2TOOLS_DEPENDENCIES = v4l2cpp
|
||||
V4L2TOOLS_CFLAGS = $(TARGET_CFLAGS)
|
||||
|
||||
define V4L2TOOLS_REMOVE_MAKEFILE
|
||||
rm -f $(BUILD_DIR)/v4l2tools-$(V4L2TOOLS_VERSION)/Makefile
|
||||
endef
|
||||
|
||||
V4L2TOOLS_PRE_PATCH_HOOKS += V4L2TOOLS_REMOVE_MAKEFILE
|
||||
|
||||
ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
|
||||
V4L2TOOLS_DEPENDENCIES += rpi-userland
|
||||
V4L2TOOLS_MAKE_OPTS += HAVE_RPI=1
|
||||
ifeq ($(BR2_PACKAGE_RPI_USERLAND_HELLO),y)
|
||||
V4L2TOOLS_MAKE_OPTS += HAVE_RPI_IL=1
|
||||
V4L2TOOLS_CFLAGS += -I$(STAGING_DIR)/usr/src/hello_pi/libs/ilclient
|
||||
endif
|
||||
endif # BR2_PACKAGE_RPI_USERLAND
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBYUV),y)
|
||||
V4L2TOOLS_DEPENDENCIES += libyuv
|
||||
V4L2TOOLS_MAKE_OPTS += HAVE_LIBYUV=1
|
||||
|
||||
ifeq ($(BR2_PACKAGE_H264BITSTREAM),y)
|
||||
# TODO: pull in h264bitstream from https://github.com/aizvorski/h264bitstream
|
||||
#V4L2TOOLS_DEPENDENCIES += h264bitstream
|
||||
#V4L2TOOLS_MAKE_OPTS += HAVE_H264BITSTREAM=1
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_HEVCBITSTREAM),y)
|
||||
# TODO: pull in hevcbitstream from https://github.com/leslie-wang/hevcbitstream
|
||||
#V4L2TOOLS_DEPENDENCIES += hevcbitstream
|
||||
#V4L2TOOLS_MAKE_OPTS += HAVE_HEVCBITSTREAM=1
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBVPX),y)
|
||||
V4L2TOOLS_DEPENDENCIES += libvpx
|
||||
V4L2TOOLS_MAKE_OPTS += HAVE_LIBVPX=1
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_JPEG),y)
|
||||
V4L2TOOLS_DEPENDENCIES += jpeg
|
||||
V4L2TOOLS_MAKE_OPTS += HAVE_LIBJPEG=1
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBFUSE),y)
|
||||
V4L2TOOLS_DEPENDENCIES += libfuse
|
||||
V4L2TOOLS_MAKE_OPTS += HAVE_LIBFUSE=1
|
||||
endif
|
||||
|
||||
ifndef ($(BR2_ENABLE_LOCALE),y)
|
||||
V4L2TOOLS_CFLAGS += -DLOCALE_NOT_USED
|
||||
endif
|
||||
|
||||
define V4L2TOOLS_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" AR="$(TARGET_AR)" CFLAGS_EXTRA="$(V4L2TOOLS_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" ARFLAGS="$(TARGET_ARFLAGS)" PREFIX="$(STAGING_DIR)/usr" $(V4L2TOOLS_MAKE_OPTS) $(MAKE) -C $(@D) all
|
||||
endef
|
||||
|
||||
define V4L2TOOLS_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -D -m 0755 $(@D)/v4l2copy $(TARGET_DIR)/usr/sbin
|
||||
$(INSTALL) -D -m 0755 $(@D)/v4l2source_yuv $(TARGET_DIR)/usr/sbin
|
||||
$(if $(BR2_PACKAGE_RPI_USERLAND_HELLO), $(INSTALL) -D -m 0755 $(@D)/v4l2grab_h264 $(TARGET_DIR)/usr/sbin )
|
||||
$(if $(BR2_PACKAGE_RPI_USERLAND_HELLO), $(INSTALL) -D -m 0755 $(@D)/v4l2display_h264 $(TARGET_DIR)/usr/sbin )
|
||||
$(if $(BR2_PACKAGE_RPI_USERLAND_HELLO), $(INSTALL) -D -m 0755 $(@D)/v4l2compress_omx $(TARGET_DIR)/usr/sbin )
|
||||
$(if $(BR2_PACKAGE_RPI_USERLAND), $(INSTALL) -D -m 0755 $(@D)/v4l2multi_stream_mmal $(TARGET_DIR)/usr/sbin )
|
||||
$(if $(BR2_PACKAGE_LIBYUV), $(INSTALL) -D -m 0755 $(@D)/v4l2convert_yuv $(TARGET_DIR)/usr/sbin )
|
||||
$(if $(and $(BR2_PACKAGE_LIBYUV),$(BR2_PACKAGE_H264BITSTREAM)), $(INSTALL) -D -m 0755 $(@D)/v4l2compress_h264 $(TARGET_DIR)/usr/sbin )
|
||||
$(if $(and $(BR2_PACKAGE_LIBYUV),$(BR2_PACKAGE_HEVCBITSTREAM)), $(INSTALL) -D -m 0755 $(@D)/v4l2compress_x265 $(TARGET_DIR)/usr/sbin )
|
||||
$(if $(and $(BR2_PACKAGE_LIBYUV),$(BR2_PACKAGE_H264BITSTREAM),$(BR2_PACKAGE_HEVCBITSTREAM)), $(INSTALL) -D -m 0755 $(@D)/v4l2dump $(TARGET_DIR)/usr/sbin )
|
||||
$(if $(and $(BR2_PACKAGE_LIBYUV),$(BR2_PACKAGE_VPX)), $(INSTALL) -D -m 0755 $(@D)/v4l2compress_vpx $(TARGET_DIR)/usr/sbin )
|
||||
$(if $(and $(BR2_PACKAGE_LIBYUV),$(BR2_PACKAGE_JPEG)), $(INSTALL) -D -m 0755 $(@D)/v4l2compress_jpeg $(TARGET_DIR)/usr/sbin )
|
||||
$(if $(and $(BR2_PACKAGE_LIBYUV),$(BR2_PACKAGE_JPEG)), $(INSTALL) -D -m 0755 $(@D)/v4l2uncompress_jpeg $(TARGET_DIR)/usr/sbin )
|
||||
$(if $(BR2_PACKAGE_LIBFUSE), $(INSTALL) -D -m 0755 $(@D)/v4l2fuse $(TARGET_DIR)/usr/sbin )
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
Loading…
x
Reference in New Issue
Block a user