[HowTo]Tvheadend m3u mit persistentem Auth Erstellen / Transcoding Profile verwenden

  • [h1] Tvheadend und m3u Erstellung[/h1]

    An dieser Stelle möchte ich Step by Step erklären wie ihr eine m3u von eueren gemappten Channels aus Tvheadend erstellt, Ziel soll es sein diese auf mobilen Endgeräten (mit oder ohne Streaming Profile) verwenden zu können. Auch ist es möglich 2 Tvheadends über solch eine .m3u über 2 Standorte zu verbinden.

    Wir müssen Dazu :

    1. Eigenes Streaming Profile für die .m3u erstellen
    2. Einen neuen Tvheadend User mit Speziellen Berechtigungen erstellen
    3. Auth Key für persistentes Login erstellen
    1. .m3u Abrufen


    [h2]Eigenes Streaming Profile für die .m3u erstellen[/h2]

    Einloggen auf Tvheadend Web UI

    • Reiter Konfiguration ---> Stream ---> Codec Profiles
    • Neues Profile mit "+ Hinzufügen" erstellen, Codec hevc_vaapi (für bandbreiten spaarendes h265 auswählen)
    • Bitrate und Auflösung Beispiel 720P mit 3000kb/s, als Device muss euer DRI interface ausgewählt werden.
    • Mit einem Klick auf "Anlegen" wird unser neuer Codec angelegt ;)
    • Als letzten Step müssen wir ein neues Streaming Profil erstellen welches unseren neuen Video Codec verwenden soll.
    • Reiter Konfiguration ---> Stream ---> Streamprofile klick auf "+Hinzufügen" und "Transkodierung/av-lib auswählen"
    • Hier jetzt bitte euer neuen Video Codec auswählen, Einstellungen wie aus Screenshot, ggf nach eigenen Wünschen anpassen.


    [h2]Einen neuen Tvheadend User mit Speziellen Berechtigungen erstellen[/h2]

    • Reiter Konfiguration ---> Benutzer ---> Zugriffseinträge
    • "+ Hinzufügen" Berechtigungen anpassen :

      • Reiter "Ändere Parameter" --> überall ein Haken Setzen
      • "Weboberfläche" --> Haken
      • "Streaming" --> Einfach, Erweitert, HTSP
      • "Streamingprofil" ---> unser neu erstelltes "hevc_720"
      • Kanalnummernbereich der für den User verfügbar sein Soll (Im Beispiel nur Kanal 1 bis 5) (Geht auch alternativ mit Kanaltags)
      • ... Siehe Screen


    [h2]Auth Key für persistentes Login erstellen[/h2]

    • Reiter Konfiguration ---> Benutzer ---> Passwörter
    • "+ Hinzufügen" Benutzername eintippen, Passwort einstellen und wichtig, Persistent Authentication auf Aktiviert !

    [h2]m3u Abrufen[/h2]

    Folgender Befehl dient zum Abrufen der m3u, funktioniert mindestens unter Linux !

    curl -L --digest "http://Testuser:testpassword@Meinedomain.deOderIP:9981/playlist/auth/channels"


    Um den Output direkt in eine Datei zu schreiben muss ein Ziel angegeben werden, beispielsweise >test.m3u

    curl -L --digest "http://Testuser:testpassword@Meinedomain.deOderIP:9981/playlist/auth/channels" >test.m3u


    Der Inhalt der M3U sollte eure freigegebene Kanalrange (oder ausgewählte Kanal Tags) beinhalten, sieht z.b so aus :

    Wie Ihr seht hat Tvheadends integrierte Option zum erstellen einer .m3u das "Problem" das hinter jedem Extinf das eingestellte Standart Profil verwendet wird, in meinem fall "htsp"

    &profile=htsp

    Da wir unser neues Profil (hevc_720) verwenden wollen, müssen wir alle "htsp" in "hevc_720" editieren.

    Das geht auch einfacher mit einem SED ersetzen Befehl sed 's/htsp/hevc_720/g

    als Abruf Oneliner geht das über PIPE |

    curl -L --digest "http://Testuser:testpassword@Meinedomain.deOderIP:9981/playlist/auth/channels" |sed 's/htsp/hevc_720/g' >test.m3u


    PS, wer 2 Tvheadends über eine M3U verbinden will, muss bzw sollte ffmpegs PIP verwenden pipe:///usr/bin/ffmpeg -i BLABLUB -c copy -f mpegts pipe:1
    z.b

    Code
    #EXTM3U
    #EXTINF:-1 logo="http://Meinedomain.deOderIP:9981/imagecache/592091?auth=PnHjATPG7knemRy6gT-rcunPV9aY" tvg-id="6a874f8af22b5961073a6b94163ee041" tvg-chno="1",Das Erste HD
    pipe:///usr/bin/ffmpeg -i "http://Meinedomain.deOderIP:9981/stream/channelid/172984170?auth=PnHjATPG7knemRy6gT-rcunPV9aY&profile=hevc_720" -c copy -f mpegts pipe:1

    2 Mal editiert, zuletzt von DeBaschdi (16. April 2021 um 06:53)

  • Moin
    Gute Anleitung, insbesondere wie man von seinen Channels einfach eine m3u-Liste erstellt. Danke schon mal dafür.
    Laut deiner Anleitung muß man zuerst ein Codec-Profil anlegen, diese Option gibt es bei mir nicht. Meine TVheadend-Version ist 4.2.8-36~g5bdcfd8ac mit natürlich Export-Mode, welche Version nutzt du ?

    Ein wenig Offtopic: Es wäre super, wenn es auch eine Anleitung geben würde, wie man (allgemein) einen Hardware-Decoder nutzt/einstellt/installiert und ihn dann in TVheadend nutzt. Hintergrund ist, nutze seit kurzem einen neuen TVheadend-Server mit einer Intel N4000 CPU, die Hardware-Coding unterstützt, bekomme sie aber nicht richtig ans laufen - die meisten Anleitungen gehen von einer Installation mit Oberfläche aus, bei mir natürlich nicht gegeben.

    Tschau nepo

  • Laut deiner Anleitung muß man zuerst ein Codec-Profil anlegen, diese Option gibt es bei mir nicht. Meine TVheadend-Version ist 4.2.8-36~g5bdcfd8ac mit natürlich Export-Mode, welche Version nutzt du ?

    Denke mal bei Deiner Version findest Du das unter Stream - - > Stream Profile

  • Wenn man das Thema m3u über Windows machen möchte oder allgemeinen über einen Desktop-PC, dann kann man in einem beliebigen Browserhttp://XXX:9981/playlist eintippen (XXX natürlich mit der korrekten IP-Adresse vom TVH Server tauschen) und lädt somit die komplette m3u herunter.
    Danach kann man mit einem Editor wie notepad o.ä. über suche/ersetze das Profil gegen ein gewünschtes tauschen.

    Edit:
    Natürlich fehlt bei meiner Methode dann aber jegliche Form von Zugangsdaten.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

    Einmal editiert, zuletzt von bennySB (7. April 2021 um 10:11)

  • @Onkel-W Man kann beim Anlegen eines neuen Profils unter 'Stream Profile' den Options-Bereich "Transcoding" nutzen und dort seine Werte eintragen. Schöner wäre es natürlich wie @DeBaschdi vorher separat ein Codec-Profil anzulegen, das man immer wieder nutzen kann. Daher meine Frage zu der TVheadend-Version; ist dies erst bei der 4.3-Version möglich ?

    Tschau nepo

  • Die Anleitung bezieht sich zu 100% auf das aktuelle Tvheadend 4.3.X

    Unter dem veraltetem Tvheadend 4.2 mag einiges abweichen, oder garnicht erst möglich sein.

  • Passt zwar hier nicht unbedingt rein, aber eventuell liest ja hier auch ein User mit der das ganze unter Armbian am laufen hat wie ich
    Hatte das ganze unter armbian-config installieren lassen
    Würde aber auch gerne mal auf eine neuere Version schwitchen und bin mir nicht ganz sicher wie bzw will da nix versauen da das ganze einrichten schon Zeitaufwendig war
    Zumindest für mich als Newbie [af]
    Vielleicht kann mir ja mal jemand sagen wie genau ich das anstellen muss

  • Sobald du das Device /dev/dri:/dev/dri an den Container durchreichst sollte es schon funktionieren, solange deine Hardware es auch unterstützt.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • Die Hardware habe ich durchgereicht i915 v1.6.0 (/dev/dri/renderD128) Intel Core i7-4790K.
    Denke mal die CPU ist zu alt und unterstützt kein h265, oder?

    Kurz: ja, zu alt, geht nicht… :)
    Außer du hast ne zweite gpu drin…

    Deine CPU hat eine Intel Hd graphics 4600 Grafikkarte, siehe: https://www.intel.de/content/www/de…ifications.html

    diese kann folgende Codecs de-/encodieren: https://www.cpu-monkey.com/en/igpu-intel_hd_graphics_4600-9

  • Schönen guten Abend,

    hab jetzt meine Nvidia Karte dem Server hinzugefügt und sie wird auch im TVheadend als Auswahl angezeigt: nvidia-drm v0.0.0 (/dev/dri/renderD129)
    Das dumme ist aber jetzt. Kein Bild, nur Ton und folgende Fehlermeldungen:

    Code
    libav: AVHWDeviceContext: libva: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
    2022-12-04 00:14:52.765 libav: AVHWDeviceContext: Failed to initialise VAAPI connection: -1 (unknown libva error).
    2022-12-04 00:14:52.765 vaapi: failed to create a context for device: /dev/dri/renderD129

    Mein Server läuft headless, also kein graphischer Schnickschnack. Kann doch nicht deswegen Probleme geben? Sehe aber auch libav und libva? Ist das ein Unterschied?

    Einmal editiert, zuletzt von Woti (4. Dezember 2022 um 00:31)

Jetzt mitmachen!

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