Streams absichtlich mit Zeitversatz schauen

Am Samstag (06.09.25) Vormittag werde ich ein Update der Forensoftware (inkl. aller Plugins) durchführen. Das Forum wird deshalb auf unbestimmte Zeit nicht verfügbar sein. Neuigkeiten wird es im Matrix Chat geben: https://www.kodinerds.net/thread/79927-freischaltung-matrix-chat/
  • Moin an alle,

    in Großbritannien, gibt es für viele TV-Sender +1 Varianten. Diese strahlen das reguläre TV-Programm mit einer Stunden Verzögerung aus, sodass man es auch dann sehen kann, wenn man erst später Zeit hat. Ich bin am Grübeln, ob man sich dies nicht auch selbst (ohne ein kostenpflichtiges Zattoo-Abo) für TVHeadend basteln kann. Folgende Beobachtungen bringen mich dazu:

    1. In Kodi gibt es das ARDundZDF-Addon. Dieses beinhaltet für die öffentlich rechtlichen Streams die Möglichkeit, bis zu zwei Stunden zurückzuspulen.
    2. Wenn man IPTV-Streams direkt (ohne ffmpeg) in TVHeadend einbindet, werden sie teilweise, wenn sie überhaupt laufen, mit Zeitversatz angezeigt.

    Nun meine Fragen:

    1. Wie kann ich einen Stream gezielt so (mit pipe über ffmpeg) in TVHeadend einbinden, dass er gezielt das Programm streamt, welches vor einer oder vor zwei Stunden ausgestrahlt wurde?

    2. Und wie bekomme ich heraus, wie weit in die Vergangenheit man mit einem Stream "reisen" kann?

    3. Lässt sich vielleicht sogar mit TVHeadend umsetzen, dass ich einen Sender mit dem gegenwärtigen Programm einschalte, dann aber zurückspule (also ohne der Sender vorher schon in TVHeadend lief?

  • Zunächst mal nur dazu:

    2. Und wie bekomme ich heraus, wie weit in die Vergangenheit man mit einem Stream "reisen" kann?

    Nehmen wir den Stream für ZDF aus der kodinerds Liste: https://zdf-hls-15.akamaized.net/hls/live/2016498/de/veryhigh/master.m3u8

    Mit wget (oder curl) schaue ich mir den Inhalt an. Z.B.:

    Dort identifiziere ich den (z.B.) den Video-Stream https://zdf-hls-15.akamaized.net/hls/live/2016498/de/d1cfc54d10a4d0f48c6aa299ad227dd8/3/3.m3u8. Den schaue ich mir gleichermaßem mit wget an. Einmal mit "head" (die ersten Zeilen)

    Code
    >wget -O- https://zdf-hls-15.akamaized.net/hls/live/2016498/de/d1cfc54d10a4d0f48c6aa299ad227dd8/3/3.m3u8 | head
    [...]
     #EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-TARGETDURATION:2
    #EXT-X-MEDIA-SEQUENCE:1640574
    #EXT-X-PROGRAM-DATE-TIME:2025-05-17T05:15:50Z
    #EXTINF:2.000,
    1640574.ts
    #EXT-X-PROGRAM-DATE-TIME:2025-05-17T05:15:52Z

    Zeitstempel in ISO-Zeit-Format (UTC) ist 2025-05-17T05:15:50Z, also vor 3 Stunden (meine Abfrage war um 10:15 CEST = 8:15 UTC)

    Mit tail sieht man auch das Ende zur Gegenkontrolle. Kann man natürlich auch leicht skripten/automatisieren. Deine Copilot-Erfahrung wird dir da sicher helfen. Head und tail brauchst du auch nicht wirklich, kannst einfach durch die Ausgabe von wget oder curl durchscrollen. (curl ist bei Windows dabei)

    Kodi 21.2, 17.6, 21.1, 16, 21.2 on Windows 11 Pro, Android 6, Android 12, FireTV Box 2nd Gen, FireTV 4k Max 2nd Gen
    Media on NAS, OpenMediaVault 7 (Debian Linux).

    Einmal editiert, zuletzt von buers (17. Mai 2025 um 10:50)

  • 1. Wie kann ich einen Stream gezielt so (mit pipe über ffmpeg) in TVHeadend einbinden, dass er gezielt das Programm streamt, welches vor einer oder vor zwei Stunden ausgestrahlt wurde?

    Habe mal die ffmpeg Doku überflogen/darin gesucht. Nicht mit ffmpeg und tvh getestet aber mal kurz mit ffplay experimentiert. In FFmpeg Formats Documentation fand ich auf Anhieb nur "live_start_index: segment index to start live streams at (negative values are from the end)." Die Segmente sind bei ZDF 2 s lang. -3600 sollte als um zwei Stunden früher starten. Schien zu funktionieren. Also in der ffmpeg pipe sowas wie ffmpeg -i https://zdf-hls-15.akamaized.net/hls/live/2016498/de/veryhigh/master.m3u8 -live_start_index -3600 -map 0 -c copy -f mpegts pipe:1 könnte ein Ansatz sein. Evt. brauchst du noch den Parameter -re, damit nicht so schnell wie möglich alles bis zur Jetzt-Zeit abgespielt wird.

    Aber, wieso willst du das mit tvh machen? Kodi kann ja direkt mit IPTV Simple Client ohne Tricks in den 2-3 h Puffer der ÖR springen. Klar, Kodi kann nicht ohne weiteres aufnehmen - da kommt tvh gelegen. Nur, zeitversetzt aufnehmen zu können hat meines Erachtens keine große praktische Relevanz. (Gut, ich könnte mir vorstellen, man landet beim Zappen in der Mitte eines Filmes, und möchte den nun von Anfang an aufnehmen).

    Kodi 21.2, 17.6, 21.1, 16, 21.2 on Windows 11 Pro, Android 6, Android 12, FireTV Box 2nd Gen, FireTV 4k Max 2nd Gen
    Media on NAS, OpenMediaVault 7 (Debian Linux).

  • Habe mal die ffmpeg Doku überflogen/darin gesucht. Nicht mit ffmpeg und tvh getestet aber mal kurz mit ffplay experimentiert. In FFmpeg Formats Documentation fand ich auf Anhieb nur "live_start_index: segment index to start live streams at (negative values are from the end)." Die Segmente sind bei ZDF 2 s lang. -3600 sollte als um zwei Stunden früher starten. Schien zu funktionieren. Also in der ffmpeg pipe sowas wie ffmpeg -i https://zdf-hls-15.akamaized.net/hls/live/2016498/de/veryhigh/master.m3u8 -live_start_index -3600 -map 0 -c copy -f mpegts pipe:1 könnte ein Ansatz sein. Evt. brauchst du noch den Parameter -re, damit nicht so schnell wie möglich alles bis zur Jetzt-Zeit abgespielt wird.

    Aber, wieso willst du das mit tvh machen? Kodi kann ja direkt mit IPTV Simple Client ohne Tricks in den 2-3 h Puffer der ÖR springen. Klar, Kodi kann nicht ohne weiteres aufnehmen - da kommt tvh gelegen. Nur, zeitversetzt aufnehmen zu können hat meines Erachtens keine große praktische Relevanz. (Gut, ich könnte mir vorstellen, man landet beim Zappen in der Mitte eines Filmes, und möchte den nun von Anfang an aufnehmen).

    Danke. Mit dem Copilot hatte ich gestern tatsächlich schon ein bisschen dazu herumgespielt. Allerdings ist es mir nicht gelungen ein Script zu entwickeln, was z.B. aus allen möglichen Streams der Kodinerds IPTV-Liste +1-Sender generiert hätte. Es klappte immer nur für bestimmte Sender. Zudem hatten die Sender teils kein Audio.

    Vielleicht nehme ich mir das als Ferienprojekt im Sommer vor, falls Langeweile aufkommt.

    Und ja, genau: Sinn ist, dass man beim Zappen etwas entdeckt, was man gerne aufgenommen hätte. Als ich noch Zattoo Premium aus der Schweiz hatte, ist mir das häufiger passiert und war dann ja kein Problem.

  • Mit Unicable/Satip kannst du problemlos mind. 8 TV-Sender gleichzeitig schauen bzw. aufnehmen. Was ein paar Freaks wohl auf die Idee gebracht hatte, ihre Lieblingssender quasi in einer Schleife dauerhaft aufzunehmen. Bei Bedarf kann dann das frühere, gespeicherte Programm angeschaut werden. Irgendwo in den Untiefen des tvheadend-Forums schrieb mal jemand sowas. Ist aber m.E. nur bedingt alltagstauglich.

  • Mit Unicable/Satip kannst du problemlos mind. 8 TV-Sender gleichzeitig schauen bzw. aufnehmen. Was ein paar Freaks wohl auf die Idee gebracht hatte, ihre Lieblingssender quasi in einer Schleife dauerhaft aufzunehmen. Bei Bedarf kann dann das frühere, gespeicherte Programm angeschaut werden. Irgendwo in den Untiefen des tvheadend-Forums schrieb mal jemand sowas. Ist aber m.E. nur bedingt alltagstauglich.

    Ja, das würde eine Menge Strom fressen und wäre möglicherweise auch für die Festplatte nicht allzu gesund. Ohnehin habe ich aber auch nur einen Unicalbe-LNB für maximal 4 Teilnehmer und mein Twintuner könnte glaube ich auch nur dann mehr als zwei Sender zugleich aufnehmen, wenn sie pro Tuner auf demselben Transponder liegen. Oder geht das - ist ein Gerät mit Openpli.

  • Mit dem Copilot hatte ich gestern tatsächlich schon ein bisschen dazu herumgespielt. Allerdings ist es mir nicht gelungen ein Script zu entwickeln, was z.B. aus allen möglichen Streams der Kodinerds IPTV-Liste +1-Sender generiert hätte. Es klappte immer nur für bestimmte Sender.

    Das ist sprachlich nicht ganz eindeutig. Für alle Sender kann es nicht funktionieren, da die meisten Sender der kodinerds-Liste keinen (längeren) Zeitpuffer haben.

    Grade noch Mal probiert mit einer Pipe (analog wie das tvh macht). Scheint einwandfrei zu funktionieren:

    Code
    ffmpeg -loglevel fatal -live_start_index -5400 -i https://zdf-hls-15.akamaized.net/hls/live/2016498/de/veryhigh/master.m3u8 -map 0 -c copy -copy_unknown -f mpegts pipe:1 | "C:\Program Files\VideoLAN\VLC\vlc.exe" -

    Soll heißen, zeige mir ZDF von vor 3 h (5400*2s). Scheint einwandfrei zu funktionieren. Gerade liefen die Spieler ein des DFB Pokalfinale. Für mich erstaunlicherweise sogar ohne -re. Ähnliches Kommando kann auch aus dem Server-Zeitpuffer der ÖR Sender aufnehmen.

    ffmpeg -ss mag auch hilfreich sein. Funktionierte bei mir allerdings auf Anhieb nicht wie erwartet.

    Kodi 21.2, 17.6, 21.1, 16, 21.2 on Windows 11 Pro, Android 6, Android 12, FireTV Box 2nd Gen, FireTV 4k Max 2nd Gen
    Media on NAS, OpenMediaVault 7 (Debian Linux).

    Einmal editiert, zuletzt von buers (25. Mai 2025 um 08:43) aus folgendem Grund: Copy+Paste Fehler korrigiert

  • Das ist sprachlich nicht ganz eindeutig. Für alle Sender kann es nicht funktionieren, da die meisten Sender der kodinerds-Liste keinen (längeren) Zeitpuffer haben.

    Das meinte ich anders. Nicht so, dass mir für alle Streams +1 Sender generiert, sondern halt für alle möglichen. Ich hatte die KI also gebeten, also m3u-Dateien entsprechend zu untersuchen. Das erwies sich aber als ungeahnt komplex, weil in den m3u-Dateien erneut m3u8-Dateien sein können, die ggf. wiederum auf weitere m3u8-Dateien verweisen. Die Ki war dann überfordert selbstständig zu erkennen, welcher Stream der eigentlich relevante ist und ob er sich für einen +1-Sender eignet. Mit etwas mehr Geduld durch mich hätte es aber vielleicht geklappt. Zumindest für die WDR-Sender funktionierte am Ende das Python-Script.

  • SIch die ganzen interessanten Sender per Dauerschleife aufzunehmen ist sicher eine witzige Idee, hatte ich auch schon mal ueberlegt. Die rechlich oeffentlichen HD verwenden 6 ASTRA transponder. Wenn man einen 8 Tuner SAT-IP Empfaenger hat hat man also noch mal 2 Transponder uebrige, z.b. SAT1/Pro7 und RL oder so.

    Sagen wir mal 30Mbps netto pro transponder, mal 8 transponder = 30 Mbytes/sec Gesamtdatenrate. Da kriegt man auf eine 1TByte Festplatte also knapp 9 1/2 Stunden drauf bevor die voll ist.

    Auf Geizhals geschaut, sagen wir mal 50 Euro/TB derzeit mit ca. 300TBW. Also nimmt man 4 TB im System (1 oder 2 TB Platten), das sind dann 37 Stunden Ringpuffer. Muss man jeder Platte na ca. 462 Tagen auswechseln. Kostet also pro Jahr 156 Euro an Festplatten.

    Interessanter Weise vergroessren sich die laufenden Kosten nicht, wenn man laenger pufferen will, da braucht man zwar initial mehr Platten, aber dafuer werden die auch seltener beschrieben.

    Bloss ist das halt totale Geldverschwendung wenn man da nicht genuegend Leute hat die dann auch die Leseleistung der Platten ausnutzen. Sagen wir die wollen alle gleichzeitig eine Aufnahme von gestern sehen. SSD mit PCIe4x4 schafft 40Gbps Leserate, 15Mbps Aufzeichnung = kannst Du 2666 Leute mit bespassen. Bloss das Du dafuer auch 40Gbps Netwerk braeuchtest.

    Aber so fuer eine Wohnanlage mit sagen wir mal 100 Wohneinheiten waere das kein Problem. 2.5Gbps ethernet, laufende Kosten pro Jahr fuer SSD Austausch < 2 Euro pro Wohneinheit/Jahr, sagen wir gleich mal 1 Woche Pufferspeicher.

  • Sagen wir mal 30Mbps netto pro transponder

    Solche Abschätzungen mag ich auch.

    Eher 43 Mbit/s, zumindest der Transponder mit Das Erste, Arte und zwei SWR, den ich gerade geprüft habe. Alle Astra 19.2° Ost Sender auf Frequenz 11494, Transponder 19

    Die anderen Zahlen kann ich einigermaßen nachvollziehen. Mit 43 Mbit/s Transpondern komme ich auf 81 Tage Lebenszeit für 300 TBW. 4 Stück -> 1 Jahr. Dazu kommt, dasss man für so ein Szenario den Platz vielleicht nur zu 80-90% nutzen sollte.

    Meine Erfahrung aus Enterprise IT zeigte, dass die TBW in vielen Szenarien schon realistisch sind, bei vielen parallelen Zugriffen (das war sogenannter Citrix Write Cache von 80 parallelen Sessions pro Platte) gingen sie aber schneller kaputt, als wir abgeschätzt hatten. Das Risiko war uns bewusst. Ich denke mal 8 Files sind noch nicht "viele" parallelen Zugriffe, aber sollte man sich schon Gedanken drüber machen. In die 8 Files wird ja dauernd geschrieben.

    Ein kleiner Test zeigt z.B. für meine SSD hier im Desktop, dass die Datenrate bei 8 parallelen Zugriffen (mein eigener Lastgenerator, der sich in dem Fall wie ein Transponder-aufnehmendes Programm verhält und Zufallsdaten auf Platte brennt) auf unter 50% fällt des Maximalwertes bei nur einem File. Komme aber immerhin noch auf 180 MByte/s pro File, zeigt also, dass noch viel Luft ist für die pro Transponder benötigte Bandbreite. Zeigt aber auch, dass sich da schon schlechtere Skalierung äußert, als man erwarten könnte. Die Schreibzugriffe pro File sind ja streng sequentiell (und das Filesystem ist jetzt auch nicht extrem fragmentiert). Bei 4 parallel genutzen Platten mag TBW-Abschätzung durchaus gut sein.

    Interessanter Weise vergroessren sich die laufenden Kosten nicht, wenn man laenger pufferen will, da braucht man zwar initial mehr Platten, aber dafuer werden die auch seltener beschrieben.

    Ja. Allerdings werden die SSDs auch so Mal ein Ende ihrer Lebenszeit erreichen, unabhängig von den TBW. Wäre technisch eine Herausforderung, mit mehr SSDs nicht auch signifikant mehr Energie zu verbrauchen.

    kannst Du 2666 Leute mit bespassen.

    Wird trotz irrwitziger IOPS-Kennzahlen in den Datenblättern bei Weitem nicht funktionieren. Insbesondere, wenn auf die identischen Platten auch noch geschrieben wird. Ich will oder kann das jetzt im Detail nicht technisch begründen, aber die SSDs skalieren nicht sooo gut bei Parallel-Zugriffen, wie man das aus den Datenblättern erwarten könnte.

    Kostet also pro Jahr 156 Euro an Festplatten.

    Plus weitere Kosten. Z.B. schätze ich Mal bei Dauerschreibzugriff 5 W pro SSD. Was sonst noch hinzukommt, kommt bisschen auf die Situation an. Brauche ich extra SAT-Karten/einen Sat-IP Server oder habe ich den eh schon oder muss ich was größeres/teureres kaufen. Energieverbrauch von SAT-IP wird oft mit ca. 10 W angegeben. Das "ca." steht auch in den Datenblättern. Könnte mir vorstellen, dass das in Wirklichkeit signifikant höher ist bei 8 durchgehend genutzten Tunern. Vielleicht kann das hier mal jemand interessehalber messen? Bei Unicable mag es nochmals anders sein. Brauche ich extra Server? Könnte mir vorstellen, dass echte Low-Energy Server den Workload nicht schaffen. Die ganze HW muss auch abgeschrieben werden.

    Der Gesamtenergieverbrauch alleine kann leicht teurer werden, als der jährliche SSD Wechsel.

    Zu dem Wohneinheiten-Szenario - wer soll es machen? Wenn es eine Firma macht und wartet, werden da hohe Wartungskosten drauf kommen. Nicht alle SSDs werden 1 Jahr durchhalten - also auch störanfällig oder noch teurer mit RAID. Wenn man das als Nerd für sich macht, ist es anders. Unsere Zeit mit sowas verbrauchen wir ja gerne ...

    Kodi 21.2, 17.6, 21.1, 16, 21.2 on Windows 11 Pro, Android 6, Android 12, FireTV Box 2nd Gen, FireTV 4k Max 2nd Gen
    Media on NAS, OpenMediaVault 7 (Debian Linux).

  • Jo, die effektive Performance von SSD - da habe ich keine Ahnung. Muesste man mal Leute von Netflix & Co befragen ;)

    Das das parallele Lesen den Gesamtdurchsatz schmaelern sollte faende ich verwunderlich bei PCie SSD, aber hab mich echt noch nicht praktisch angeschaut. Aber die sind eigentlich schon fuer extrem viele parallele Operationen designed von den APIs - dachte ich.

    Wenn sowas wie "7 Tage rechtlich öffentlich" marketingtechnisch interessant wäre, dann würden ja z.b. Hotels das nachfragen. Als ich wegen dem Octopus Net mit dem support von Digital Devices gequatscht habe wurde mir klar, das deren Hauptgeschäft ja genau solche MDU/MTU Anlagen sind. Firmen, Hotels, Wohnblöcke etc. pp. Aber die Leute kriegen ja 95% des Materials eh von der Mediathek, deswegen ist es kein Business solche Caches zu bauen (glaube ich). Das die Mediathek natürlich kacke ist, und selbst in Talk-Shows Teile fehlen, und wenn man nachts nicht schlafen kann gibt es natuerlich keine mediathekaufname der Sendung von vor 3 Stunden etc. pp. - geschenkt, drauf geschissen. Das ist bloss ein ein Problem fuer Profimeckerer wie mich (oder Dich ? ;-).

    Bei Digital Devices hatte ich ja gefragt, ob ich mir die Kiste mit CI Slot kaufen sollte, aber im Prinzip macht das keinen Sinn, weil die CI Karten mit denen die Octopus NET wirklich decrypten können auch wieder nur Spezialteile sind, die Sky oder andere Anbieter speziell fuer MTU/MDU/Firmenkunden schnitzen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!