Files
Flaro/Tools/demo-medien.sh
T
ScarriffleandClaude Opus 5 705ec87416 Ein lokaler Server mit Beispielmedien, zum Ausprobieren
`Tools/demo-medien.sh` legt unter `~/.flaro-medien` einen kleinen Bestand
an: Der Untergang, Matrix, Blade Runner 2049, Inception, Dark mit drei
Folgen, Notruf Hafenkante. Echte Namen, damit TMDB etwas zu finden hat —
aber jede Datei ist zwei Sekunden Testbild mit Ton und wiegt ein paar
Kilobyte.

**Eine davon hat zwei Tonspuren**, Deutsch und Audiodeskription, mit
gesetzter Sprache und gesetztem Namen. Das ist der Fall, um dessentwillen
der ganze Server existiert: Jellyfins Transcode-Endpunkt bildet eine
Tonspur je Sitzung ab, und einmal hat die App dabei still die
Audiodeskription gewählt — drei Gigabyte Mobilfunk für eine unbrauchbare
Datei. Wer das nachstellen will, braucht eine Datei, die es kann.

`docker-compose.local.yml` daneben: benannte Volumes statt NAS-Pfaden,
Port 18080 statt 8080, Beiwerk eingeschaltet.

**`user: "0:0"` ist eine Mac-Eigenheit und steht deshalb kommentiert da.**
Colimas Dateifreigabe reicht die Besitzverhältnisse des Wirts nicht in die
VM durch — eingehängte Ordner erscheinen im Container als root, und ein
Server, der als 1000 läuft, kann dort keine NFO ablegen. Auf einem
Linux-NAS gehört die Zeile weg.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-03 21:07:44 +02:00

44 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
# Erzeugt einen kleinen Bestand zum Ausprobieren: echte Dateinamen, winzige
# Dateien. Jede ist eine Sekunde Testbild mit Ton — damit der Scan, die
# Metadaten und das Umpacken etwas zu tun haben, ohne Gigabytes zu brauchen.
set -euo pipefail
ZIEL="${1:-$HOME/.flaro-medien}"
command -v ffmpeg >/dev/null || { echo "ffmpeg fehlt."; exit 1; }
mach() { # mach <pfad> <schachtel> [zweite-tonspur]
mkdir -p "$(dirname "$1")"
if [ "${3:-}" = "zwei" ]; then
ffmpeg -y -loglevel error \
-f lavfi -i "testsrc=duration=2:size=320x240:rate=12" \
-f lavfi -i "sine=frequency=440:duration=2" \
-f lavfi -i "sine=frequency=880:duration=2" \
-map 0:v -map 1:a -map 2:a \
-metadata:s:a:0 language=deu -metadata:s:a:0 title=Deutsch \
-metadata:s:a:1 language=deu -metadata:s:a:1 title=Audiodeskription \
-c:v libx264 -preset ultrafast -c:a aac "$1"
else
ffmpeg -y -loglevel error \
-f lavfi -i "testsrc=duration=2:size=320x240:rate=12" \
-f lavfi -i "sine=frequency=440:duration=2" \
-c:v libx264 -preset ultrafast -c:a aac "$1"
fi
echo " $(basename "$1")"
}
echo "Filme:"
mach "$ZIEL/Filme/Der Untergang (2004)/Der Untergang (2004).mkv" mkv zwei
mach "$ZIEL/Filme/The Matrix (1999)/The Matrix (1999).mkv" mkv
mach "$ZIEL/Filme/Blade Runner 2049 (2017)/Blade Runner 2049 (2017).mp4" mp4
mach "$ZIEL/Filme/Inception (2010)/Inception (2010).mkv" mkv
echo "Serien:"
mach "$ZIEL/Serien/Dark/Staffel 1/Dark - S01E01.mkv" mkv
mach "$ZIEL/Serien/Dark/Staffel 1/Dark - S01E02.mkv" mkv
mach "$ZIEL/Serien/Dark/Staffel 2/Dark - S02E01.mkv" mkv
mach "$ZIEL/Serien/Notruf Hafenkante/Staffel 1/Notruf Hafenkante - S01E01.mkv" mkv zwei
chmod -R a+rwX "$ZIEL"
echo
echo "Fertig: $ZIEL"