Release: v2.6.0
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
*.sh text eol=lf
|
||||||
@@ -126,6 +126,7 @@ nano jobs/mein-stream.job
|
|||||||
| `MAX_DURATION` | Nein | Aufnahmedauer in Sekunden (wird bei Zeitplanung automatisch aus Endzeit oder Laufzeit berechnet) |
|
| `MAX_DURATION` | Nein | Aufnahmedauer in Sekunden (wird bei Zeitplanung automatisch aus Endzeit oder Laufzeit berechnet) |
|
||||||
| `EXTRA_FFMPEG_ARGS`| Nein | Zusätzliche ffmpeg-Parameter |
|
| `EXTRA_FFMPEG_ARGS`| Nein | Zusätzliche ffmpeg-Parameter |
|
||||||
| `PLIK_ENABLED` | Nein | Plik-Upload aktivieren (`true`/`false`) |
|
| `PLIK_ENABLED` | Nein | Plik-Upload aktivieren (`true`/`false`) |
|
||||||
|
| `DELETE_AFTER_UPLOAD` | Nein | Lokale Datei nach erfolgreichem Upload löschen (`true`/`false`) |
|
||||||
|
|
||||||
### Zeitplan-Parameter
|
### Zeitplan-Parameter
|
||||||
|
|
||||||
|
|||||||
+27
-5
@@ -8,15 +8,15 @@
|
|||||||
# Web: https://www.cleveradmin.de
|
# Web: https://www.cleveradmin.de
|
||||||
# Repository: https://git.techniverse.net/scriptos/stream-recorder.git
|
# Repository: https://git.techniverse.net/scriptos/stream-recorder.git
|
||||||
# License: MIT
|
# License: MIT
|
||||||
# Version: v2.5.0
|
# Version: v2.6.0
|
||||||
# Date: 06.09.2026
|
# Date: 06.09.2026
|
||||||
# Modifications: Zeitplanung vereinfacht: Endzeit oder Laufzeit statt separater Max-Dauer
|
# Modifications: optionale Dateilöschung nach Upload
|
||||||
###############################################
|
###############################################
|
||||||
|
|
||||||
set -uo pipefail
|
set -uo pipefail
|
||||||
|
|
||||||
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
readonly VERSION="2.5.0"
|
readonly VERSION="2.6.0"
|
||||||
|
|
||||||
# --- Standardwerte (überschreibbar via Konfiguration) ---
|
# --- Standardwerte (überschreibbar via Konfiguration) ---
|
||||||
CONFIG_FILE="${SCRIPT_DIR}/config/stream-recorder.conf"
|
CONFIG_FILE="${SCRIPT_DIR}/config/stream-recorder.conf"
|
||||||
@@ -197,6 +197,11 @@ upload_to_plik() {
|
|||||||
fi
|
fi
|
||||||
notify "upload" "Plik-Upload" "${stream_name}: ${browser_url}"
|
notify "upload" "Plik-Upload" "${stream_name}: ${browser_url}"
|
||||||
|
|
||||||
|
if [[ "${DELETE_AFTER_UPLOAD:-false}" == "true" ]]; then
|
||||||
|
rm -f "$file"
|
||||||
|
log "INFO" "Lokale Datei gelöscht: ${file}"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "$browser_url"
|
echo "$browser_url"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -353,6 +358,7 @@ load_job() {
|
|||||||
SCHEDULE_START=""
|
SCHEDULE_START=""
|
||||||
SCHEDULE_STOP=""
|
SCHEDULE_STOP=""
|
||||||
PLIK_ENABLED="false"
|
PLIK_ENABLED="false"
|
||||||
|
DELETE_AFTER_UPLOAD="false"
|
||||||
|
|
||||||
if [[ ! -f "$job_file" ]]; then
|
if [[ ! -f "$job_file" ]]; then
|
||||||
log "ERROR" "Job-Datei nicht gefunden: ${job_file}"
|
log "ERROR" "Job-Datei nicht gefunden: ${job_file}"
|
||||||
@@ -554,12 +560,18 @@ record_stream() {
|
|||||||
if [[ $ret -eq 143 || $ret -eq 130 ]]; then
|
if [[ $ret -eq 143 || $ret -eq 130 ]]; then
|
||||||
log "INFO" "Aufnahme gestoppt: ${STREAM_NAME}"
|
log "INFO" "Aufnahme gestoppt: ${STREAM_NAME}"
|
||||||
notify "stop" "Aufnahme gestoppt" "${STREAM_NAME} wurde gestoppt"
|
notify "stop" "Aufnahme gestoppt" "${STREAM_NAME} wurde gestoppt"
|
||||||
|
if [[ -s "$output_file" ]]; then
|
||||||
|
upload_to_plik "$output_file" "$STREAM_NAME"
|
||||||
|
fi
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -f "$pid_file" ]]; then
|
if [[ ! -f "$pid_file" ]]; then
|
||||||
log "INFO" "Aufnahme gestoppt: ${STREAM_NAME}"
|
log "INFO" "Aufnahme gestoppt: ${STREAM_NAME}"
|
||||||
notify "stop" "Aufnahme gestoppt" "${STREAM_NAME} wurde gestoppt"
|
notify "stop" "Aufnahme gestoppt" "${STREAM_NAME} wurde gestoppt"
|
||||||
|
if [[ -s "$output_file" ]]; then
|
||||||
|
upload_to_plik "$output_file" "$STREAM_NAME"
|
||||||
|
fi
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -898,9 +910,14 @@ create_job() {
|
|||||||
echo ""
|
echo ""
|
||||||
echo "--- Plik-Upload (optional) ---"
|
echo "--- Plik-Upload (optional) ---"
|
||||||
local plik_enabled="false"
|
local plik_enabled="false"
|
||||||
|
local delete_after_upload="false"
|
||||||
if [[ -n "${PLIK_URL:-}" ]]; then
|
if [[ -n "${PLIK_URL:-}" ]]; then
|
||||||
read -rp "Plik-Upload aktivieren? [j/N] " plik_input
|
read -rp "Plik-Upload aktivieren? [j/N] " plik_input
|
||||||
[[ "$plik_input" =~ ^[JjYy]$ ]] && plik_enabled="true"
|
if [[ "$plik_input" =~ ^[JjYy]$ ]]; then
|
||||||
|
plik_enabled="true"
|
||||||
|
read -rp "Lokale Datei nach Upload löschen? [j/N] " delete_input
|
||||||
|
[[ "$delete_input" =~ ^[JjYy]$ ]] && delete_after_upload="true"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo " (Übersprungen - PLIK_URL nicht konfiguriert)"
|
echo " (Übersprungen - PLIK_URL nicht konfiguriert)"
|
||||||
fi
|
fi
|
||||||
@@ -940,7 +957,11 @@ create_job() {
|
|||||||
else
|
else
|
||||||
echo " Zeitplan: deaktiviert"
|
echo " Zeitplan: deaktiviert"
|
||||||
fi
|
fi
|
||||||
echo " Plik: ${plik_enabled}"
|
if [[ "$plik_enabled" == "true" && "$delete_after_upload" == "true" ]]; then
|
||||||
|
echo " Plik: ${plik_enabled} (nach Upload löschen)"
|
||||||
|
else
|
||||||
|
echo " Plik: ${plik_enabled}"
|
||||||
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
read -rp "Job erstellen? [J/n] " confirm
|
read -rp "Job erstellen? [J/n] " confirm
|
||||||
if [[ "$confirm" =~ ^[Nn]$ ]]; then
|
if [[ "$confirm" =~ ^[Nn]$ ]]; then
|
||||||
@@ -976,6 +997,7 @@ SCHEDULE_STOP="${sched_stop}"
|
|||||||
###############################################
|
###############################################
|
||||||
|
|
||||||
PLIK_ENABLED=${plik_enabled}
|
PLIK_ENABLED=${plik_enabled}
|
||||||
|
DELETE_AFTER_UPLOAD=${delete_after_upload}
|
||||||
JOBEOF
|
JOBEOF
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
Reference in New Issue
Block a user