Probleme mit streamdev-server und ts2shout

  • Hallo,


    ich würde gerne einen VDR 2.2.0 mit streamdev-server 0.6.1+git20150213-3 unter Raspbian Stretch benutzen, um mittels ts2shout 0.71+git20190405-1 Audioströme im SHOUTcast-Format auf Squeezebox-Clients abspielen zu können. Leider kommen bislang beim Client keine Audiodaten an; er steigt deshalb nach einer Weile mit Timed out waiting for data aus.

    Laut Apache-Log auf dem Server scheint ts2shout den Audiostrom zu erkennen, danach aber nur noch "nutzlose" SDT-Einträge und EIT-Einträge für "andere" Sender auf dem gleichen Transponder zu sehen. Von den gut 13 MB Daten der ersten Minute werden 0 MB weitergeleitet:

    Meine Konfigurationsdatei für Apache sieht so aus:

    Und die URI in meinem Eintrag in der Favoritenliste auf dem Logitech Media Server ist

    Code
    1. http://radio.my.lan/shoutcast/C-1-1101-28400.ts

    Was mache ich falsch?

  • Hi,


    das habe ich auch mal erfolglos probiert, allerdings mit den elementary streams vom streamdev für Radio,. also


    Code
    1. SetEnv TVHEADEND "http://127.0.0.1:3000/ES"

    bei apache2 und vdr/streamdev auf dem selben host,


    und dann bei der URI statt Programmnummer zB für BR-Klassik S19.2E-1-1093-28403 mitgegeben,

    bei deiner apache2 conf datei fehlen aber zur Zeit noch die URI Einträge für die einzelnen Stationen,


    aber hat damals wie gesagt nicht geklappt und ich habe mir dann eine tvheadend Instanz aufgesetzt, damit klappt es


    also wie im ts2shout Readme am Beispiel BR-Klassik in der conf Datei vom apache2


    Code
    1. SetEnv TVHEADEND "http://192.168.1.170:9981/stream/channelnumber"
    2. SetEnvIf REQUEST_URI "BR-KLASSIK$" PROGRAMMNO=17

    und in der favorites.opml dann

    Code
    1. <outline URL="http://192.168.1.133:8060/radio/BR-KLASSIK" icon="html/images/bayern4klassik.png" text="BR-Klassik" type="audio" />

    wobei der apache2 hier auf port 8060 läuft,


    viele Grüsse pbg4

    vdr1:Produktivsystem: Zotac Box mit Atom 525/ION 2.Generation yaVDR 0.6.1 und satip plugin, mit digibit r1/minsatip
    vdr2:Zotac CI-320 vdr für ARD radio transponder und VDR Aufnahmen server yaVDR 0.6.1,.. und weiterer minisatip-server + Hauppauge WinTV-Quad HD,
    vdr3: testsystem: Shuttle NC02U mit Skylake und Softhddevice VAAPI/HEVC für DVB-T2, Ubuntu Zesty, VDR von Hand auf Basis yaVDR,..
    vdr4: testsystem: Acer Laptop ES11-132 mit Braswell und Softhddevice VAAPI/HEVC für DVB-T2, Ubuntu Zesty, VDR von Hand auf Basis yaVDR,..

  • Carsten Groß, der Entwickler von ts2shout, hat sich netterweise das Problen angesehen und mir Folgendes geschrieben:

    Ich habe ihm daraufhin eine Testdatei geschickt und folgende Antwort erhalten:

    Quote

    Wenn Du Dir den Code anschauen willst, bist Du in der Datei ts2shout.c in extract_sdt_payload() und extract_eit_payload() richtig. Im code im git gibt es aktuell noch das Problem, daß der Start der "continued" Frames nicht richtig erkannt wird, das fixe ich mal noch, ansonsten hängt es dann vom Zufall ab, ob er die Tabelle mit den Stationsnamen überhaupt finden kann (oder nicht).


    Im EIT wird richtig gesucht, allerdings müsste da implementiert werden, daß nur die "current transmission" des tatsächlichen Streams herausgesucht wird, das ist denke ich eher einfach einzubauen. Im SDT Scan muß allerdings sinngemäß das gleiche wie für EIT implementiert werden (also alle Deskriptoren abscannen und den richtigen raussuchen, da wird momentan einfach nur das erste genommen, was mit tvheadend auch klappt), dann sollte es schon auch mit VDR laufen


    Ich will mal sehen, ob meine C-Kenntnisse dafür ausreichen...

  • Ja, mit der direkten Übernahme von Daten des streamdev-Servers hatte ich auch keinen Erfolg, obwohl sich zumindest ein Beitrag in diesem alten Thread so liest, als ob es bei jeibie funktioniert habe.


    Die Definition der einzelnen Kanäle würde ich gerne aus der Apache-Konfiguration heraushalten. Ich hoffe, dass das ausschließlich über die Einträge in der Favoritenliste des LMS zu lösen ist. Bisher habe ich allerding habe nur testweise einen Favoriten im LMS-GUI eingetragen und favrites.opml nicht benutzt.

  • Hi,


    also das mit dem streamdev-server funktioniert schon, zB BR-Klassik mit folgendem Eintrag in die favorites.opml:


    Code
    1. <outline URL="http://192.168.1.133:3000/ES/S19.2E-1-1093-28403" icon="html/images/radio.png" text="Bayern 4 Klassik" type="audio" />

    die squeezeboxen können ja alle mp2 dekodieren, es gibt dann aber keine epg Programminfos zum laufenden Programm, mehr steht ja auch nicht in dem alten thread von jeibie,.. auch ist mit streamdev beim Umschalten der Sender das buffern der squeezeboxen recht kurz,..


    mit der Lösung von Carsten mit ts2shout hat man aber die Infos zum laufenden Programm, das ist schon ganz nett,.. das buffern dauert etwas länger wg eit payload extract, aber ist schon OK so,..


    viele Grüsse pbg4

    vdr1:Produktivsystem: Zotac Box mit Atom 525/ION 2.Generation yaVDR 0.6.1 und satip plugin, mit digibit r1/minsatip
    vdr2:Zotac CI-320 vdr für ARD radio transponder und VDR Aufnahmen server yaVDR 0.6.1,.. und weiterer minisatip-server + Hauppauge WinTV-Quad HD,
    vdr3: testsystem: Shuttle NC02U mit Skylake und Softhddevice VAAPI/HEVC für DVB-T2, Ubuntu Zesty, VDR von Hand auf Basis yaVDR,..
    vdr4: testsystem: Acer Laptop ES11-132 mit Braswell und Softhddevice VAAPI/HEVC für DVB-T2, Ubuntu Zesty, VDR von Hand auf Basis yaVDR,..

  • Ja, Du hast recht, die Wiedergabe von ES-Audiodaten funktioniert. Ich hatte es versäumt, die Konfiguration von streamdev und Firewall darauf anzupassen, dass Server und Clients in unterschiedlichen Teilnetzen hängen.


    Allerdings habe ich noch ein Restproblem: Wenn ich in der URI des Favoriten keine IP-Adresse sondern einen Namen im lokalen Netzwerk angebe, beendet der Streamdev Server die Verbindung fast sofort und der Squeezebox Client meldet "Connection reset by remote host". Im Log des Clients steht dann "squeezeplay: WARN audio.decode - Playback.lua:796 write error: Connection refused"