[gelöst]HDMI Eingang als Kanal

  • Do you really need to watch the stream as a channel, or do you just need to watch it? if it doesn’t matter how, then it’s very easy to watch any stream through the MPV plugin, just feed it a playlist.

    At the end my final setup would be, that I have several IPTV channels, all targeting the same HDMI source, but I want to execute some scripts depending on which IPTV channel is chosen to make some adjustments. Plus I want to record the stream of the HDMI input. So yes, somehow I need channels in VDR to distinguish the setups and be able to record it via the VDR mechanisms.

  • Ich habe mit dem iptv-Plugin und seiner mangelhaften Doku auch schon graue Haare bekommen...


    Bei mir liegen diese Dateien in /usr/local/share/vdr/plugins/iptv:

    Code
    image.sh
    iptvstream-notrap.sh
    linein.sh
    webcam.sh
    internetradio.sh
    iptvstream.sh
    vlc2iptv

    Das dürfte daran liegen, dass vdr mit PREFIX /usr/local kompiliert wurde, sonst wäre es wohl /usr/share/vdr/plugins/iptv

    /var/lib/vdr/plugins/iptv ist bei mir leer.

    Hmm, ich habe bei mir per gepatchter Make.config meine VDRs nach /opt/vdr verlagert und dabei z.B. das CONFDIR nach /opt/vdr/conf verlegt. Darin finde ich dann z.B. auch das ursprünglich leere Verzeichnis plugins/iptv und dort habe ich das Skript abgelegt. Ist aber ein guter Hinweis, eventuell sucht iptv woanders. Schaue ich mir nachher mal an. Wobei die Fehlermeldung da vermutlich eine andere wäre.


    Alternativ ist dein Hinweis aus dem zweiten Post auch interessant, eventuell sollte ich die "aktuellen" Skripte aus den Sourcen nehmen. Dann geht es über die conf-Dateien im Verzeichnis vlcinput.


    PS: nach dem Gewurschtel mit ffmpeg und VLC habe ich vermutlich keine Haare mehr, die grau werden können... :D Der hls-Weg hat auch noch den Nachteil einer gewissen Latenz, die vermutlich nicht beliebig klein werden kann. Das ist mir aber momentan beim proof-of-concept egal, optimieren kann man später.

  • Auf einem anderen vdr habe ich in /var/lib/vdr/plugins/iptv/ den Unterordner vlcinput. Darin die Datei frühstyxradio.conf mit diesem Inhalt:

    Code
    URL="https://ffn-de-hz-fal-stream09-cluster01.radiohost.de/ffn-comedy_mp3-192"

    Der dazugehörige channels.conf-Eintrag lautet:

    Code
    frühstyxradio;IPTV:2:S=0|P=0|F=EXT|U=vlc2iptv|A=2:I:0:0:128=@4:0:0:2:0:0:0

    Auf diesem Rechner habe ich die Datei vlc2iptv in /usr/local/share/vdr/plugins/iptv gegenüber dem Original aus den Plugin-Sourcen an einer Stelle modifiziert:

    Code
    -CHANNEL_SETTINGS_DIR=/etc/vdr/plugins/iptv/vlcinput/
    +CHANNEL_SETTINGS_DIR=/var/lib/vdr/plugins/iptv/vlcinput/

    Ok, iptv ist manchmal etwas anders... Interessanterweise sucht iptv die Skript-Dateien nicht unter dem conf-Verzeichnis des VDRs, sondern unter /usr/local/share/vdr/plugins/iptv. Ergebnis:

    • mit meinem Skript analog zur Wiki-Seite: kein Bild, kein Ton - obwohl die TS-Dateien vom hls-Server geladen werden
    • mit dem vlc2iptv Skript bekomme ich zwar einen Ton (etwas gehackt am Anfang, am Ende kommt ein Stück flüssig), aber kein Bild. Jetzt hängt es vermutlich an dem früher im Thread schonmal angedeuteten Problem mit dem passenden Videostreamformat.

    Hier die Ausgabe beim Umschalten auf den vlc2iptv-Kanal:

    Ich sehe im ganzen Log keinen Verweis auf einen Video-Codec. Müsste hier nicht analog zu "codec: audio 'MP2 (MPEG audio layer 2)'" auch ein Video-Codec erkannt werden? Könnte das einer der iptv-Nutzer im Log nachschauen?


    Hat jemand schonmal einen selbst erstellten Stream (egal von welcher Quelle) in iptv gespeist? Vielleicht kann ich anhand der Konfiguration ableiten, was ich bei mir noch ändern muss.

  • don-baba , hattest du Erfolg bzw. Erkenntnisse bei deinen Tests?

  • Sorry ich kam noch nicht dazu. Vielleicht im Februar.

    Wohnzimmer: NUC10I3 - Logitech z-5500 - Panasonic 55" TV - Hauppauge Dual DVB-C Stick - Ubuntu 22.04 LTS - yavdr ansible
    Schlafzimmer: NUC10I3 - LG 42" TV - Hauppauge Dual DVB-C Stick - Ubuntu 22.04 LTS - yavdr ansible

    Streamingserver: -im Aufbau-
    diverse Test Clients: -Raspberry Pi + openelec, i3 mit Geforce1030

  • alles klar, kein prob - kam selbst die letzten Wochen nicht dazu, hieran weiterzuarbeiten. Ich habe mittlerweile auch gesehen, dass es HDMI encoder gibt, die ein HDMI Signal per TS stream/RTMP/RTSP/UDP/TCP/IP/HTTP/ONVIF bereitstellen. Also quasi das, was ich per Tools nachbilden wollte. Eventuell bestelle ich mir mal ein Teil in Fernost... Könnte die Lösung für meinen Anwendungsfall sein.

  • Ich habe mittlerweile auch gesehen, dass es HDMI encoder gibt, die ein HDMI Signal per TS stream/RTMP/RTSP/UDP/TCP/IP/HTTP/ONVIF bereitstellen.

    Hast du schon so etwas gefunden und würdest du mir bitte einen Link dazu geben?

    Software: yaVDR0.7-Ansible Ubuntu 22.04 (jammy) mit vdr-2.6.7
    DVB-T2: Hauppauge WinTV-dualHD

    Fernseher: SONY KDL-32D3000

  • Wohnzimmer: NUC10I3 - Logitech z-5500 - Panasonic 55" TV - Hauppauge Dual DVB-C Stick - Ubuntu 22.04 LTS - yavdr ansible
    Schlafzimmer: NUC10I3 - LG 42" TV - Hauppauge Dual DVB-C Stick - Ubuntu 22.04 LTS - yavdr ansible

    Streamingserver: -im Aufbau-
    diverse Test Clients: -Raspberry Pi + openelec, i3 mit Geforce1030

  • Meint ihr sowas?


    https://www.amazon.de/EXVIST-E…66-4790-acf8-e520aaf28cd3


    HDMI Quelle dran anschließen, Stream als RTSP ausgeben und diesen mit dem IPTV oder SAT-IP Plugin abgreifen.

    Genau, das wäre die Idee. Man spart etwas, wenn man es in China bestellt - mit allen Vor- und Nachteilen.


    blau : hast du selbst einen konkreten Anwendungsfall? Ich dachte mittlerweile schon, dass nur ich den Usecase habe und da lohnt sich eine Umsetzung in SW eventuell nur bedingt. Wenn wir mehrere sind schon eher. :)

  • blau : hast du selbst einen konkreten Anwendungsfall? Ich dachte mittlerweile schon, dass nur ich den Usecase habe und da lohnt sich eine Umsetzung in SW eventuell nur bedingt. Wenn wir mehrere sind schon eher.

    Ich dachte flüchtig daran, Inhalte von OTT Streaming Providern mit dem VDR aufzunehmen und dabei einen oder mehrere dieser Streaming Sticks mit HDMI-Ausgang zu nutzen.

    Ich habe etwas herumgesucht, aber bisher keine direkten Weg vom OTT Streaming Provider in den VDR gefunden.

    Software: yaVDR0.7-Ansible Ubuntu 22.04 (jammy) mit vdr-2.6.7
    DVB-T2: Hauppauge WinTV-dualHD

    Fernseher: SONY KDL-32D3000

  • Ich dachte flüchtig daran, Inhalte von OTT Streaming Providern mit dem VDR aufzunehmen und dabei einen oder mehrere dieser Streaming Sticks mit HDMI-Ausgang zu nutzen.

    Ich habe etwas herumgesucht, aber bisher keine direkten Weg vom OTT Streaming Provider in den VDR gefunden.

    Moin,


    das wird wegen HDMI Verschlüsselung (HDCP) schon nichts werden...

    Wohnzimmer: NUC10I3 - Logitech z-5500 - Panasonic 55" TV - Hauppauge Dual DVB-C Stick - Ubuntu 22.04 LTS - yavdr ansible
    Schlafzimmer: NUC10I3 - LG 42" TV - Hauppauge Dual DVB-C Stick - Ubuntu 22.04 LTS - yavdr ansible

    Streamingserver: -im Aufbau-
    diverse Test Clients: -Raspberry Pi + openelec, i3 mit Geforce1030

    Einmal editiert, zuletzt von don-baba ()

  • Habe mir nun einen HDMI Encoder (ON-DMI-16E) zugelegt. Das Teil funktioniert sehr stabil sowohl per Zugriff über Web-Browser als auch per VLC. Leider bekam ich es per iptv noch nicht direkt im vdr ans laufen und habe mir deshalb inspiriert durch diesen Thread tvheadend angeschaut. Mal abgesehen davon, das dessen Konfiguration mehr als gewöhnungsbedürftig ist (vielleicht werde ich auch nur alt... ;) ), funktioniert der Zugriff über tvheadend auf den Encoder relativ gut. Relativ, da ich zeitweise minutenlang ein stabiles Bild habe, dann ruckt es kurz bevor es sich wieder fängt. Könnte an der Konfiguration von tvheadend liegen, aber auch durchaus daran, dass ich es gerade auf meinem Thinkcentre teste und vermutlich parallel noch Prozesse laufen (ist ein FullFeatured Debian Linux und keine Minimal-Installation).

    Wie im o.g. Thread bereits angedeutet, versuche ich nun von VDR auf tvheadend zuzugreifen und idealerweise würde das per satip-Plugin gehen. Nur scheitere ich gerade daran, den Sat-IP Server von tvheadend als DVB-C device (oder auch irgendein anderes) mit dem IP-Stream zu aktivieren. Obwohl der gewählte Sat-IP Server-Port durch tvheadend offen ist, findet w_scan_cpp nichts. Vermutlich ist der Sat-IP Server schlicht noch nicht mit INhalt gefüllt. Hat hierzu jemand Erfahrung, wie man aus tvheadend einen "funktionierenden" Kanal als einen DVB-x Kanal per Sat-IP Server rausbekommt?

    Ansonsten braucht man ja auch noch eine Herausforderung für die kommenden Tage... Prinzipiell bin ich aber schon wesentlich weiter, als mit den "billigen" HDMI2USB Konverter. :)

  • Bin mittlerweile einen grossen Schritt weiter. Konnte nun in tvheadend einen SATIP Server aufsetzen und meinen HDMI Encoder-Kanal als DVB-C Kanal anbieten. Nun habe ich per w_scan_cpp den korrekten(?) channels.conf Eintrag erzeugen lassen (hab nur einen Kanal angeboten, w_scan_cpp gibt auch nur einen Eintrag aus). Er sieht wie folgt aus:

    Code
    HDMI:114000:I0C0M256:C:6900:256=36:257@15:0:0:1:0:1:0

    Leider bekomme ich beim Tunen auf den Kanal folgende Fehlereinträge und ein schwarzes Bild:

    video: not detected wird dann noch regelmässig wiederholt. Wahrscheinlich liegt es am Fehler SATIP-ERROR: bool cSatipFrontends::Attach(int, int) no Frontend found for attaching deviceID 0 (TP 114). Hat hier einer der SATIP Profis eine Idee, an was das liegen könnte bzw. wie könnte ich den SATIP-Server von tvheadend sonst noch prüfen?

  • SATIP Profi

    Bin ich leider auch nicht.

    Aber Joe_D hat hier geschrieben (Zitat):

    "Ist der tvheadend Sat>IP-Server "ganz normal" mit VLC erreichbar?

    Bei VLC unter "Ansicht" -> "Wiedergabeliste" unter "Lokales Netzwerk" -> "Universal Plug'n'Play"??


    Normale SAT>IP-Server werden dort sichtbar, man kann dann einfach die Liste der Kanäle anklicken. So mal als ersten Test.


    Ansonsten ist Wireshark ein gutes Tool um zu schauen was zwischen SAT>IP-Server und satip-Plugin hin und hergeht.

    Oder das Logging erweitern, da muss man aber die satip-Plugin Experten fragen..."


    Hast du schon versucht, ob VLC den tvheadend Sat>IP-Server sehen kann?

    Software: yaVDR0.7-Ansible Ubuntu 22.04 (jammy) mit vdr-2.6.7
    DVB-T2: Hauppauge WinTV-dualHD

    Fernseher: SONY KDL-32D3000

  • Hi,

    Warum läßt du nicht direkt für VDR eine channels.conf erzeugen.

    Macht viel mehr Sinn.

    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Warum läßt du nicht direkt für VDR eine channels.conf erzeugen.

    Für welchen Übertragungsweg? Ich habe momentan 3 mögliche Wege, den HDMI Stream am VDR zu empfangen:

    1. VDR iptv-plugin empfängt den ts-Stream vom HDMI Encoder --> wäre meine Wunschkonstellation
      hierfür habe ich folgende 2 channels.conf-Einträge erstellt:
      IP1;IPTV:10:S=0|P=0|F=HTTP|U=192.168.0.12/ts/1_0|A=80:I:0:513=2:660=@4:2321:0:4:0:0:0
      IP2;IPTV:20:S=0|P=0|F=CURL|U=http%3A//192.168.0.12%3A80/ts/1_0|A=0:I:0:513=2:660=@4:2321:0:4:0:0:0
      Bei beiden gibt es kein Bild und es kommen im vdr-Log "dauerhaft" TS-Sync Einträge vom iptv-plugin
    2. VDR iptv-plugin empfängt über tvheadend als Streamserver den Kanal, der wiederum den Stream vom HDMI Encoder wiedergibt
      hierfür habe ich folgenden channels.conf-Einträge erstellt:
      TV6;IPTV:50:S=0|P=0|F=CURL|U=http%3A//192.168.0.18%3A9981/stream/channelid/1814832835?profile=pass|A=0:I:0:513=2:660=@4:2321:0:4:0:0:0
    3. VDR satip-plugin empfängt über tvheadend als Sat-IP-Server den Kanal, der wiederum den Stream vom HDMI Encoder wiedergibt
      hierfür habe ich die channels.conf per w_scan_cpp erzeugt und er hat auch den einen von mir erzeugten Kanal im channels.conf Format ausgegeben:
      HDMI:114000:I0C0M256:C:6900:256=36:257=@15:0:0:1:0:1:0
      Frage: passt das? Frequenz stimmt schonmal, bei den restlichen xPIDs bin ich mir nicht sicher. Gebe ich bei tvheadend leider nicht an und muss auf w_scan_cpp vertrauen. Ich sehe im tvheadend aber, dass zumindest ein Subscribing erfolgt --> Zugriff an sich erfolgt also korrekt, nur verliere ich irgendwo zwischen tvheadend und satip-Plugin das Signal

    Das Videobild von 1 und 2 konnte ich problemlos mit VLC anstelle des VDR's mit iptv-plugin abspielen (die Aufruf-URLs im VLC / Menüpunkt Medieninformationen sind genau die wie in der channels.conf angegeben). Somit ist sichergestellt, dass sowohl der Stream vom HDMI Encoder "funktioniert", als auch das Durchreichen in tvheadend. Letzteres ist natürlich nicht wirklich sinnhaft. Ich dachte, vielleicht verpackt tvheadend den Stream nochmals so, dass das iptv-plugin den Stream abspielen kann.
    Variante 3 funktionierte noch nirgends, auch nicht mit VLC. Könnte vtl. auch daran liegen, das der Streamserver von tvheadend aktiv ist und VLC dann bevorzugt nur den Stream anzeigt und nicht den Sat-IP Server. Das ganze obwohl der Sat-IP Server von w_scan_cpp auch ohne die Angabe der IP Adresse direkt erkannt wird und der Scan ein scheinbar korrektes Ergebnis bringt.


    Wie oben geschrieben funktioniert in VLC die Sat-IP Verbindung noch nicht. In der Wiedergabeliste taucht momentan nur ein tvheadend Eintrag (zwar mit korrektem Sat-IP-Server Port) auf, jedoch verbindet er sich beim Anklicken des einzigen Kanals ganz normal auf den Stream unter dem tvheadend Streamserver Port 9981 und nicht als Sat-IP Client.


    Ich werde spätestens am WE das Logging/Debugging im satip-Plugin einschalten in der Hoffnung, dass ich da etwas brauchbares sehe. Wireshark würde mir bei SatIP dann weiterhelfen, wenn ich zum Vergleich ein Protokoll einer funktionierenden Verbindung hätte. Ich habe auch in einem anderen Thread hier gelesen, dass mitunter tvheadend's Sat-IP Server Probleme hat, wenn der Kanal ein Stream als Quelle hat und kein "richtiges" Device. Das teste ich am WE auch mal mit meinem USB SAT-Empfänger. Falls da der Sat-IP Server korrekt funktioniert, kann man tvheadend nicht als Durchreiche für den Stream nutzen.


    Für Ideen, insbesondere wie das einer der 3 genannten Wege ertüchtigt werden kann, bin ich natürlich dankbar. :)

  • Nabend,
    probiere mal folgendes zu Punkt 1 aus:


    Erstelle die test.ts Datei mit den selben Rechten wie sie auch dein VDR User hat und stelle sicher das der VDR User auch den Stream umleiten darf.

    Anstelle von mpv kannst du auch vlc oder mplayer nehmen...


    mkfifo test.ts

    mpv http://192.168.0.12/ts/1_0 > test.ts

    In der channels.conf legst du folgenden Kanal an:
    IPTV:3:IPTV|FILE|/PFAD-ZUR-DATEI/test.ts|5:P:0:514:670:2321:0:3:0:0:0

    Wichtig ist hierbei das der VDR User auch auf den Pfad wo die test.ts liegt Zugriff hat.


    Probiere aus ob du den Kanal erreichen kannst.

    Wohnzimmer: NUC10I3 - Logitech z-5500 - Panasonic 55" TV - Hauppauge Dual DVB-C Stick - Ubuntu 22.04 LTS - yavdr ansible
    Schlafzimmer: NUC10I3 - LG 42" TV - Hauppauge Dual DVB-C Stick - Ubuntu 22.04 LTS - yavdr ansible

    Streamingserver: -im Aufbau-
    diverse Test Clients: -Raspberry Pi + openelec, i3 mit Geforce1030

  • habe ich die channels.conf per w_scan_cpp erzeugt und er hat auch den einen von mir erzeugten Kanal im channels.conf Format ausgegeben:
    HDMI:114000:I0C0M256:C:6900:256=36:257=@15:0:0:1:0:1:0
    Frage: passt das? Frequenz stimmt schonmal, bei den restlichen xPIDs bin ich mir nicht sicher.

    Das bedeutet, dass das satip Plugin auf dem Computer auf dem du w_scan_cpp ausgeführt hast, ebenso erfolgreich funktioniert hat.

    w_scan_cpp nutzt intern das satip Plugin.


    Ich glaube, wenn das funktioniert, dann ist diese config auf der VDR Seite für das satip Plugin ok. Zumindest hast du Empfang und die DVB SI Tables kommen an.

    Der Stream meldet sich H.265 mit Audio ISO/IEC 13818-7 Audio with ADTS transport.

  • Ich würde mal vlc plus tvheadend testen. Einfach die datei im Anhang in xspf umbenennen und dann mit vlc öffnen.

  • Ich würde mal vlc plus tvheadend testen. Einfach die datei im Anhang in xspf umbenennen und dann mit vlc öffnen.

    Vielen Dank für den Tipp. Ich habe es ausprobiert und leider rödelt VLC beim Starten ewig ohne jegliche Fehlermeldung, aber auch leider ohne Bild. Ich bekomme beim Start von VLC in tvheadend eine Subscription-Meldung analog zur Meldung beim satip-plugin. Somit scheint beim Verbindungsaufbau schonmal kein Unterschied. Weiss jemand, wie man VLC gesprächiger machen kann?


    Was hat es mit der pids-Angabe in deiner xspf-Datei auf sich? Im Vergleich dazu sind die durch w_scan_cpp gefundenen pids übersichtlicher oder sehe ich das falsch: HDMI:114000:I0C0M256:C:6900:256=36:257=@15:0:0:1:0:1:0


    Ergänzung:

    warum auch immer habe ich den VDR auf dem HDMI satip Kanal stehen lassen und plötzlich kam ein Bild bzw. besser gesagt ein Trickfilm. Der Video lief viel zu schnell und stoppte dann wieder. Nach einer Weile das gleiche Spiel und er stoppte wieder. :o Hast du dafür eine Erklärung?

    Ergänzung2:

    der Ton läuft im vdr flüssig, nur das Bild steht die meiste Zeit (bisher beobachtet habe ich, dass nach dem Umschalten auf den Kanal der erste Trickfilm kommt, dann steht das Bild, dann kommt wieder ein Trickfil, dann steht wieder das Bild und bleibt stehen - Ton kommt sauber)


    Im Log sehe ich

    Code
    Feb 21 21:41:05 odroid vdr: video: not detected
    Feb 21 21:41:12 odroid vdr: message repeated 728 times: [ video: not detected]
    Feb 21 21:41:12 odroid vdr: video: h264 detected
    Feb 21 21:41:18 odroid vdr: CodecVideoOpen h264
    Feb 21 21:41:18 odroid vdr: AmlVideoSink - VIDEO/H264
    Feb 21 21:41:18 odroid vdr: amlreset
    Feb 21 21:41:18 odroid vdr: internal close pip 0
    Feb 21 21:41:18 odroid vdr: AmlVideoSink - VIDEO/H264
    Feb 21 21:41:18 odroid vdr: first vpts: 0x0020d3c816

    Und dann steht das Bild...

    3 Mal editiert, zuletzt von mrjoe ()

Jetzt mitmachen!

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