From 2fb7a53122cdc2e45768260094e7bf8b12ae9833 Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Mon, 11 Apr 2022 17:53:06 +0200 Subject: [PATCH] Add sample systemd file --- Makefile | 2 +- cmd/{camera_stream.c => camera-streamer.c} | 2 +- cmd/test_libcamera.c | 30 ---------------------- service/camera-streamer.service | 29 +++++++++++++++++++++ 4 files changed, 31 insertions(+), 32 deletions(-) rename cmd/{camera_stream.c => camera-streamer.c} (99%) delete mode 100644 cmd/test_libcamera.c create mode 100644 service/camera-streamer.service diff --git a/Makefile b/Makefile index cc9e50c..d2777d9 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -TARGET := camera_stream +TARGET := camera-streamer SRC := $(wildcard **/*.c **/*/*.c **/*.cc **/*/*.cc) HEADERS := $(wildcard **/*.h **/*/*.h **/*.hh **/*/*.hh) HTML := $(wildcard html/*.js html/*.html) diff --git a/cmd/camera_stream.c b/cmd/camera-streamer.c similarity index 99% rename from cmd/camera_stream.c rename to cmd/camera-streamer.c index 8029256..59df7bd 100644 --- a/cmd/camera_stream.c +++ b/cmd/camera-streamer.c @@ -41,7 +41,7 @@ camera_options_t camera_options = { }; http_server_options_t http_options = { - .port = 9092, + .port = 8080, .maxcons = 10 }; diff --git a/cmd/test_libcamera.c b/cmd/test_libcamera.c deleted file mode 100644 index 9d017b8..0000000 --- a/cmd/test_libcamera.c +++ /dev/null @@ -1,30 +0,0 @@ -#include "opts/opts.h" -#include "opts/log.h" -#include "opts/fourcc.h" -#include "device/camera/camera.h" - -log_options_t log_options = { - .debug = true, - .verbose = false -}; - -int main(int argc, char *argv[]) -{ - device_t *dev = NULL; - - dev = device_libcamera_open("CAMERA", "/base/soc/i2c0mux/i2c@1/imx519@1a"); - if (!dev) { - printf("Failed to open libcamera\n"); - return -1; - } - - if (device_open_buffer_list(dev, true, 2328, 1748, V4L2_PIX_FMT_VYUY, 0, 4, true) < 0) { - printf("Failed to open buffer list\n"); - return -1; - } - - printf("Opened libcamera\n"); - - device_close(dev); - return 0; -} diff --git a/service/camera-streamer.service b/service/camera-streamer.service new file mode 100644 index 0000000..33fc3b7 --- /dev/null +++ b/service/camera-streamer.service @@ -0,0 +1,29 @@ +[Unit] +Description=camera-streamer web camera +After=network.target + +[Service] +User=nobody +Group=nogroup +SupplementaryGroups=video i2c +ExecStart=/usr/local/bin/camera-streamer \ + -camera-path=/base/soc/i2c0mux/i2c@1/imx519@1a \ + -camera-type=libcamera \ + -camera-format=YUYV \ + -camera-width=2328 -camera-height=1748 \ + -camera-high_res_factor=1.5 \ + -camera-fps=30 +# set auto-focus for IMX519 +ExecStartPost=-/bin/bash -c 'sleep 3s; /usr/sbin/i2ctransfer -y 11 w4@0x0c 0x0 0x85 0x00 0x00' +Restart=always +RestartSec=10 + +Nice=10 +IOSchedulingClass=idle +IOSchedulingPriority=7 +CPUWeight=20 +AllowedCPUs=1-2 +MemoryMax=250M + +[Install] +WantedBy=multi-user.target