tvHeadend Kodi 3x3 pip

  • Eine Vorstellung meiner Lösung oder auch Inspiration für ein neues/vorhandenes Add-On.
    Der Wunsch war, eine Übersicht zu erhalten was läuft im Moment auf den EVENT Kanälen der ÖR Sender.
    Entstanden durch zum Beispiel:
    ... die weitere Sport Live Übertragung findet im Livestream statt ...
    ... Sendung XY im Livestream am ... um ... Uhr ...
    nicht zuletzt kürzlich, Format des TV Beitrag mit DGS, die nach wie vor vermisste HBBTV Funktion "Auf ROT geht's los!"
    Der Anspruch, Lösung mit tvHeadend und Kodi.

    Die Lösung pip Funktion 3x3 Streams zur Übersicht gleichzeitig sehen und dann zum Kanal schalten.
    Es sind nun 6 Streams mit je 3x3 pip Funktions-Streams verfügbar, welche im Loop jeweils den Stream für 10 Sekunden
    abspielen.
    Die Hardware Anforderungen an den tvHeadend Server mit zusätzlichen 9 einzelnen ffmpeg Instanzen sind schon gewaltig.
    Mit Hilfe der integrierten Intel-Grafik wird aktiv die GPU genutzt, die CPU Last wird mit zusätzlichen
    ffmpeg Parametern beschränkt.
    Die Adressen der Streams kommen von den Listen "Kodinerds IPTV - Fertige Liste mit freien IPTV-Kanälen", einer Liste von "EmBeEins" (Github) und einer Liste von Nutzer "buers" hier aus dem Forum.
    Das pip-tvheadend-System selber ist ein LXC-Container auf einem Proxmox Server.
    Mainboard: PRIME Z370-P, CPU: Intel i7-8700K 3,7 GHz, 32 GB Ram
    Container: Ubuntu 18.04, tvHeadend last 4.3.0, standard ffmpeg, 4 Cores, 2 GB Ram, vaapi mit durchgereichten /dev/dri/renderD128

    Quellen:
    Der Ausgang des Projekts war ein Eintrag im tvHeadend Forum:
    https://tvheadend.org/boards/5/topics/33581
    weitere Ressourcen:
    https://mrod.space/2019/10/04/bra…ith-ffmpeg.html
    https://trac.ffmpeg.org/wiki/Hardware/VAAPI
    https://superuser.com/questions/1124…ture-in-picture
    xttps://http://gist.github.com/elalemanyo/5d7d607b5d4d8b966d5f
    https://www.oodlestechnologies.com/blogs/PICTURE-…t-using-FFMPEG/
    https://tvheadend.org/issues/4155
    https://tvheadend.org/boards/4/topics/36842
    https://stackoverflow.com/questions/1155…redirect=1&lq=1

    zur CPU Cptimierung:
    https://www.reddit.com/r/ffmpeg/comme…caling_hdsdlow/
    https://lorenzo.mile.si/limiting-cpu-u…ith-ffmpeg/114/
    https://askubuntu.com/questions/3651…recording-video

    Bilder: pip-last Snapshot der GPU/CPU Auslastung, die Aufnahme und Wiedergabe der Sendung "Sho... Que..."
    durfte nicht beeinträchtigt werden bei den Tests, sonst hinge der Haussegen schief :) und auch andere Container und VM's sollten weiter gut laufen.

    Snapshot der einzelnen Streams, es wird dann eben gezählt und umgeschaltet, Beispiel: in pip509-517 möchte ich 2:2 sehen, dann wähle 513...

    Die Konfiguration in tvHeadend und die Scripte dann im nächsten Thead.

    Viele Grüße
    Mike

  • Die Konfiguration in tvHeadend:
    General: IPTV threads: 12, Packet backlog: on

    DVB Inputs Networks: ohne "Use A/V library" Maximum timeout: 15
    als Automatic Network die Event m3u von "Kodinerds IPTV - Fertige Liste mit freien IPTV-Kanälen"
    54 Muxes vorhanden, 19 Services
    als Automatic Network eine Liste von "EmBeEins" (Github)
    44 Muxes vorhanden, 35 Services
    als Automatic Network eine Liste von Nutzer "buers" hier aus dem Forum
    94 Muxes vorhanden, 55 Services
    als IPTV Network einen zuverlässigen Stream von intern (DVB) als Backup
    als IPTV Network "3x3-pip" für die manuellen 3x3 Streams

    DVB Inputs Muxes: EPG scan bei allen deaktiviert
    Muxe der m3u's mit Service aktiviert
    zusätzlich 6 Stück manuelle Muxe mit pipe im Format: pipe:///home/hts/5xx-5xx.mosaic.sh, Respawn: on, kill timeout: 30

    DVB Inputs Services: Prio alle Services auf 0, nur Backup Service auf -5


    Stream Stream Profiles: pass: default, Restart on error, Rewrite 0 alles deaktiviert

    Configuration Channel / EPG: Name aus Mux/Service der Streams, jedem Stream noch den "Backup-Stream" zugeordnet weil sonst die Scripte zum erstellen der temporären Dateien nicht funktionieren wenn einer der Event Kanäle gerade nicht verfügbar ist, die Nummern der Streams von 500 bis 551 gegeben, zusätzlich die 3x3-pip Streams als Channel mit Namen "Event-Mosaic-500-508" "Event-Mosaic-509-517" ... erstellt/benannt


    der LXC Container ist eine eigene tvHeadend "Instanz" die Playlist wird an den eigentlichen tvHeadend Server übergeben und somit die Kanäle dann dem PVR von Kodi zur Verfügung gestellt.

    hmm, hoffe nichts vergessen zu haben.

    Die Scripte für pipe und ffmpeg.
    500-508.3x3.sh.txt
    500-508.mosaic.sh.txt
    509-517.3x3.sh.txt
    509-517.mosaic.sh.txt
    518-526.3x3.sh.txt
    518-526.mosaic.sh.txt
    527-535.3x3.sh.txt
    527-535.mosaic.sh.txt
    536-544.3x3.sh.txt
    536-544.mosaic.sh.txt
    545-553.3x3.sh.txt
    545-553.mosaic.sh.txt

  • Vielen Dank für die Rückmeldungen, einige ToDo sind aber noch:
    - ein Switch von Mosaic zu Mosaic klappt nicht, die ffmpeg Instanzen werden nicht korrekt beendet, dann kommt es zur doppelten Anzahl von den temporären Aufzeichnungen
    -- workaround zur Zeit, Mosaic-Kanal in Kodi stoppen dann nächstes Mosaic starten
    - woher, wie die m3u aktuell halten
    - alle ZDF Streams sind im Moment nicht verfügbar
    - die Lösung kann auf alle verfügbaren Streams angewendet werden, sofern genügend Quellen verfügbar sind oder geschickt die Transponder/Services vom DVB Stream kombiniert werden
    - auf einem anderen Proxmox Server läuft der Container nicht, bringt Proxmox Server zum Absturz (Z68 Pro3 Gen3 mit Intel i5-2500 CPU 3,30GHz)

    Hätte jemand einen Tip zur Optimierung, Lösung?

Jetzt mitmachen!

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