Hallo liebe Community,
ich möchte etwas besonders mit euch teilen. Und zwar meine Anleitung für die eigene (sehr vorteilhafte) Mediathek. YouTube, Twitch, DieMediathek, Arte, etc ... EDIT: nun sogar LIVE Ansicht möglich!!!!
- keine Werbung (SponsorBlock oder jegliche TwitchAds)
- keine Beeinflussung durch den Algorithmus
- gar nichts verpassen (kurze TestStreams oder zeitliche Begrenzung)
- Datenschutzkonform
- Handy-HomeScreen mit Lesezeichenfunktion möglich.
- Bild im Bild auf dem Handy möglich.
- Ton im Handy Sperrbildschirm möglich.
- automatisches löschen um Festplattenplatz zu sparen
- immer höchste Bildqualität
- offline abspielen möglich
- keine nachträgliche Zensur, Kürzung oder Bearbeitung.
- immer gleiche Steuerung mit der Fernbedienung an der AppleTV
- Bildvorschau mit schnellerem spulen
- TwitchChat kann nicht nachträglich moderiert werden.
- YT-Videos oder Twitch-VODs bleiben auch bei Löschung oder Strikes erhalten.
- eigenes Archiv über Jahre mit gesammelten Content
- perfekt für Journalisten oder Fans
- bezahlte Mitgliedfunktionen funktionieren weiterhin.
- alle Programme können auch den ganzen Kanal runterladen. (lokal offline backuppen)
Meine Hardware: NAS uGreen 4800+ mit Synology DSM im Bootloader dann Docker. Es geht aber auch jeder Rechner.
Twitch = Ganymede (https://github.com/Zibbp/ganymede)
Das kann alles aufzeichnen. Am besten ist LiveStream.
Wenn man einen russischen oder ukrainischen Proxy verwendet, wo keiner Werbung bei Twitch bucht, so schaltet Twitch auch zu 99,9% keine Werbeunterbrechung. ![]()
Anleitung für Portainer, weiter unten.
YouTube = Pinchflat (https://github.com/kieraneglin/pinchflat)
Sofortige downloads bei Veröffentlichung. LiveStreams oder Shorts sind auch möglich. Sogar nachträglich werden die SponsorBlocks aus dem Video entfernt.
Anleitung für Portainer, weiter unten.
Mediathek = Über das WebInterface, manuell oder im JDownloader.
https://mediathekviewweb.de/#query=ZDF Magazin Royale
Oder mit dem Docker Cotnainer automatisieren.
MediathekView
Es gibt sicherlich auch für den Streamingdienst Kick eine Möglichkeit genau das so hinzubekommen. Oder etwas für Instagram, um die Medien auf dem TV zu schauen und gesammelt zu haben. Falls ihr da schon was habt, gerne über die Kommentare teilen.
Jellyfin: [TUT] Jellyfin in Portainer installieren
Plex: [TUT] Plex in Portainer installieren
Ergebnis:
Einmal eingerichtet, hat man die oben erwähnten Vorteile. Und nur noch eine Stelle wo man seine Median schaut. Ich, auf der AppleTV im Wohnzimmer. Eine Fernbedihung, eine App, einheitliche Steurrung. Keine Werbung, Fertig. Viel ruhiger, viel effizenter, viel wenig einehmend und beinflussend.
Wie findet ihr das?
Fotos:
![]()
![]()
![]()
![]()
![]()
![]()
PS: Da man die Videodatei nun direkt auf dem Server hat, kann man besonders einfach die Audio Datei davon trennen, alles transkribieren und sogar dank Stimmenerkennung die Videos zusamenfassen lassen. Alles mit KI, damit das Ergeniss sehr gut wird. Aber das dauert. 3 Std. YouTube Interview = ca. 1 Std. KI Berechnung
8 Std. Twitch live IRL Stream = ca. 12 Std. Bild- & Stimmen-KiErkennung mit Zusammenfassung.
Pinchflat Portainer Installation:
services:
pinchflat:
container_name: Pinchflat
image: ghcr.io/kieraneglin/pinchflat:latest
security_opt:
- no-new-privileges:false
- seccomp:unconfined
healthcheck:
test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/8945' || exit 1
interval: 10s
timeout: 5s
retries: 3
start_period: 90s
environment:
BASIC_AUTH_USERNAME: name
BASIC_AUTH_PASSWORD: pw
TZ: Europe/Berlin
volumes:
- /volume2/docker/pinchflat/config:/config:rw
- /volume1/main/youtube:/downloads:rw
ports:
- 8945:8945
restart: on-failure:5
logging: # das hier alles darunter, damit das log kleiner bleibt.
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
Instalation Ganymede
services:
ganymede:
image: ghcr.io/zibbp/ganymede:latest
container_name: ganymede
restart: unless-stopped
depends_on:
db:
condition: service_healthy
ports:
- "4000:4000"
environment:
TZ: Europe/Berlin
PUID: "1026"
PGID: "100"
DB_HOST: db
DB_PORT: "5432"
DB_USER: ganymede
DB_PASS: supersecret_db_password
DB_NAME: ganymede_prd
DB_SSL: disable
TWITCH_CLIENT_ID: "xxxselber eintragen"
TWITCH_CLIENT_SECRET: "xxx selber eintragen"
REQUIRE_LOGIN: "true"
DEFAULT_LOCALE: "de"
SHOW_LOCALE_BUTTON: "true"
VIDEOS_DIR: /data/videos
TEMP_DIR: /data/temp
LOGS_DIR: /data/logs
CONFIG_DIR: /data/config
XDG_CACHE_HOME: /data/.cache
MAX_VIDEO_DOWNLOAD_EXECUTIONS: "10"
MAX_CHAT_DOWNLOAD_EXECUTIONS: "10"
MAX_VIDEO_CONVERT_EXECUTIONS: "2"
MAX_CHAT_RENDER_EXECUTIONS: "2"
volumes:
- /volume2/docker/ganymede/temp:/data/temp
- /volume2/docker/ganymede/logs:/data/logs
- /volume2/docker/ganymede/config:/data/config
- /volume2/docker/ganymede/cache:/data/.cache
- /volume1/920main/ganymede:/data/videos
healthcheck:
test: ["CMD-SHELL", "curl -fsS http://localhost:4000/api/v1/health >/dev/null || exit 1"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
db:
image: postgres:16-alpine
container_name: ganymede-db
restart: unless-stopped
environment:
TZ: Europe/Berlin
POSTGRES_USER: ganymede
POSTGRES_PASSWORD: supersecret_db_password
POSTGRES_DB: ganymede_prd
# Wichtig: weglassen, sonst kannst du dir genau den "no pg_hba.conf entry ... no encryption" Mist bauen
# POSTGRES_HOST_AUTH_METHOD: scram-sha-256
# POSTGRES_INITDB_ARGS: "--auth-host=scram-sha-256 --auth-local=scram-sha-256"
volumes:
- /volume2/docker/ganymede/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ganymede -d ganymede_prd"]
interval: 10s
timeout: 5s
retries: 5