From d581629afec588305ed85e493387963b7a20a6e2 Mon Sep 17 00:00:00 2001 From: Jan Stabenow Date: Fri, 3 Jun 2022 18:12:57 +0200 Subject: [PATCH] Add v2.1.0 --- CHANGELOG.md | 62 +++++++++++++++++++++++++++++++ Dockerfile.bundle => Dockerfile | 23 +++--------- LICENSE | 2 +- README.md | 6 +-- run.sh | 21 +++++++++++ ui-root/index.html | 66 +++++++++++++++++++++++++++++++++ ui-root/index_icon.svg | 1 + 7 files changed, 159 insertions(+), 22 deletions(-) create mode 100644 CHANGELOG.md rename Dockerfile.bundle => Dockerfile (50%) create mode 100755 run.sh create mode 100644 ui-root/index.html create mode 100644 ui-root/index_icon.svg diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..82f426b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,62 @@ +# Restreamer + +### v2.1.0 + +- Fix Dockerfile (bundles frontend, backend and FFmpeg) + +#### Restreamer UI v1.0.0 > v1.1.0 + +- Add "HLS cleanup" as an optional function ([Philipp Trenz](https://github.com/philipptrenz)) +- Add /ui info to / ([#326](https://github.com/datarhei/restreamer/issues/326)) +- Add Russian translation (thx Inthegamelp) +- Add missed VAAPI encoder +- Add missed V4L2_M2M encoder +- Add missed Raspberry Pi 64bit Docker image +- Mod updates VideoJS +- Add option to disable playersites share-button (thx Anders Mellgren) +- Fix hides unset content license on playersite (thx Anders Mellgren) +- Fix updates V4L2 device-list on select +- Fix snapshot interval ([#341](https://github.com/datarhei/restreamer/issues/340)) +- Fix reverse proxy issue ([#340](https://github.com/datarhei/restreamer/issues/340)) +- Fix double escape failer ([#336](https://github.com/datarhei/restreamer/issues/336)) +- Fix type in player plugin ([#336](https://github.com/datarhei/restreamer/issues/336)) +- Fix deletes processes with dependencies (thx Patron Ramakrishna Chillara) +- Fix datarhei Core publication service +- Fix dependabot alerts +- Fix code scanning alerts +- Merge security pr + +Preparation for FFmpeg v5.0 (migration will not work) + +- Add FFmpeg v5.0 commands (preparation) +- Mod allows FFmpeg v5.0 (preparation) + +#### Core v16.7.2 > v16.8.0 + +- Add purge_on_delete function +- Mod updated dependencies +- Mod updated API docs +- Fix disabled session logging +- Fix FFmpeg skills reload +- Fix ignores processes with invalid references (thx Patron Ramakrishna Chillara) +- Fix code scanning alerts + +#### FFmpeg v4.2.2 > v4.2.2-1 + +- Mod enables libv4l2 + v4l2_m2m for all Docker images ([#339](https://github.com/datarhei/restreamer/issues/339)) +- Mod updates packages (freetype, libxml2, VAAPI-Libs (gmmlib, media-driver, media-sdk)) +- Fix cuda Docker image ([#328](https://github.com/datarhei/restreamer/issues/328)) +- Fix VAAPI Docker image + +#### FFmpeg v5.0.1 + +- Add FFmpeg v5.0 JSONSTATS patch (preparation) + +#### Documentation + +- Add [Basic troubleshooting guide](https://docs.datarhei.com/restreamer/knowledge-base/troubleshooting/basic-troubleshooting) +- Add [custom playersite guide](https://docs.datarhei.com/restreamer/knowledge-base/user-guides/how-to-integrate-a-website) ([#337](https://github.com/datarhei/restreamer/issues/337)) +- Add [guide for custom RTMP port](https://docs.datarhei.com/restreamer/knowledge-base/user-guides/how-to-change-the-rtmp-port) +- Add [encoding compatiblity list](https://docs.datarhei.com/restreamer/knowledge-base/troubleshooting/encoding-compatibility-list)) + +--- diff --git a/Dockerfile.bundle b/Dockerfile similarity index 50% rename from Dockerfile.bundle rename to Dockerfile index 08fcdb2..847e24b 100644 --- a/Dockerfile.bundle +++ b/Dockerfile @@ -1,26 +1,10 @@ -ARG NODE_IMAGE=node:17-alpine3.15 +ARG RESTREAMER_UI_IMAGE=datarhei/restreamer-ui:latest ARG CORE_IMAGE=datarhei/base:alpine-core-latest ARG FFMPEG_IMAGE=datarhei/base:alpine-ffmpeg-latest -FROM $NODE_IMAGE as restreamer-ui - -ARG NODE_SPACE_SIZE=10240 -ENV NODE_OPTIONS="--openssl-legacy-provider --max-old-space-size=$NODE_SPACE_SIZE" - -ENV PUBLIC_URL "/ui" - -COPY . /ui - -RUN cd /ui && \ - npm config set fetch-retries 10 && \ - npm config set fetch-retry-mintimeout 100000 && \ - npm config set fetch-retry-maxtimeout 600000 && \ - npm config set cache-min 3600 && \ - npm config ls -l && \ - npm install && \ - npm run build +FROM $RESTREAMER_UI_IMAGE as restreamer-ui FROM $CORE_IMAGE as core @@ -29,6 +13,9 @@ FROM $FFMPEG_IMAGE COPY --from=core /core /core COPY --from=restreamer-ui /ui/build /core/ui +COPY ./run.sh /core/bin/run.sh +COPY ./ui-root /core/ui-root + RUN ffmpeg -buildconf ENV CORE_CONFIGFILE=/core/config/config.json diff --git a/LICENSE b/LICENSE index 8f71f43..3714d95 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {yyyy} {name of copyright owner} + Copyright 2022 FOSS GmbH Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.md b/README.md index 0d706f8..1ec09ce 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ docker run -d --restart=always --name restreamer \ *`--privileged` just for local devices like soundcard or HDMI-out.* -**ARMv7 Raspberry Pi:** +**ARMv7/ARM64 Raspberry Pi:** ```sh docker run -d --restart=always --name restreamer \ -v /opt/restreamer/config:/core/config -v /opt/restreamer/data:/core/data \ @@ -62,7 +62,7 @@ docker run -d --restart=always --name restreamer \ ```sh docker run -d --restart=always --name restreamer \ -v /opt/restreamer/config:/core/config -v /opt/restreamer/data:/core/data \ - --runtime=nvidia \ + --runtime=nvidia --privileged \ -p 8080:8080 -p 8181:8181 -p 1935:1935 datarhei/restreamer:cuda-latest ``` @@ -70,7 +70,7 @@ docker run -d --restart=always --name restreamer \ ```sh docker run -d --restart=always --name restreamer \ -v /opt/restreamer/config:/core/config -v /opt/restreamer/data:/core/data \ - --privileged \ + -v /dev/dri:/dev/dri --privileged \ -p 8080:8080 -p 8181:8181 -p 1935:1935 datarhei/restreamer:vaapi-latest ``` diff --git a/run.sh b/run.sh new file mode 100755 index 0000000..2228c69 --- /dev/null +++ b/run.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# Start script for the Restreamer bundle + +# First run the import program. It will read the db.dir from the config file in order to +# find an old v1.json. This will be converted to the new db format. + +./bin/import +if [ $? -ne 0 ]; then + exit 1 +fi + +# Create a hint for the admin interface if there is no index.html + +if ! [ -f "${CORE_STORAGE_DISK_DIR}/index.html" ]; then + cp /core/ui-root/index.html /core/ui-root/index_icon.svg ${CORE_STORAGE_DISK_DIR} +fi + +# Now run the core with the possibly converted configuration. + +./bin/core diff --git a/ui-root/index.html b/ui-root/index.html new file mode 100644 index 0000000..4d210fe --- /dev/null +++ b/ui-root/index.html @@ -0,0 +1,66 @@ + + + + + + + + + + Restreamer + + + +
+
+ datarhei Restreamer logo +

+ An easy to use video server and framework for video streaming. +

+

+


+ Did you mean to go to the admin panel? +

+
+
+ + diff --git a/ui-root/index_icon.svg b/ui-root/index_icon.svg new file mode 100644 index 0000000..d936e2c --- /dev/null +++ b/ui-root/index_icon.svg @@ -0,0 +1 @@ + \ No newline at end of file