Posts by kprdvb

    Ok, ich sehe das kann ein endloses Thema werden, und eine perfekte (einfache) Lösung gibt es nicht - auch zu viele Sonderfälle seitens der Hersteller zu beachten.


    Zusammengefaßt:

    Für das Scannen wären Optionen mit user provided Startwerten als Ersatz für fehlende Parameter sehr hilfreich, sonst passiert nämlich gar nichts. Ohne Software Update kann man dieses Problem mit Panasonic TVs nicht umgehen.


    Beim Output hat man immer noch die Möglichkeit der Nachbearbeitung in einer Pipe (z.B. sed, und die fehlenden Parameter einfügen).

    Je nach Kenntnis der User wäre aber auch hier eine Option einfacher, die diese Arbeit übernimmt, z.B. die o.g. Startwerte auch in den Output schreibt.


    Wer die Optionen nicht benutzt hat die normale Funktionalität.


    Da ich meine Lösung gefunden habe, ist dieser Thread ausreichend behandelt. Für eventuelle Tests stehe ich aber gerne zur Verfügung.


    Grüße

    kprdvb

    Quote

    Das sind genau die Parameter zurückgemeldet, die w_scan_cpp zuvor da reingeschrieben hat.

    so nicht ganz richtig:


    w_scan_cpp (modifiziert) sendet:

    SETUP rtsp://192.168.2.168:554/?freq=626&bw=8&tmode=8k&mtype=64qam&gi=18&fec=34&msys=dvbt2&plp=3&t2id=0&sm=0&pids=0,16,17,18,2400,2410,2420,2430


    Server antwortet (RTCP nach erfolgreichem lock):

    tuner=1,255,1,15,626.00,8,dvbt2,2k,qpsk,132,12,3,49023,0;pids=0,16,17,18,2400,2410,2420,2430


    Quote

    Das ist ein No-Go. w_scan_cpp soll Kanäle finden, nicht bestimmte Eigenheiten von Tunern.


    Sollte sagen "Nachteil ist womöglich...", da ich dies nicht getestet habe.


    Dies bezieht sich auch nur auf fec und tmode. Alle anderen Parameter in der Channelliste sind korrekt.

    in der Regel möchte man Channel Listen mit der Hardware erzeugen (mit Hilfe eines scan Programms), die man benutzt.


    Für das Veröffentlichen von Channelllisten eignen sich wahrscheinlich nur eine begrenze Zahl von Tunern.

    Ich hatte ja angefangen mit Public Channellisten, nur haben darin die FEC Werte gefehlt. Und erst ein Abgleich mit der Satip Spec haben mich auf die richtige Spur gebracht.


    Für mich nicht notwendigerweise ein No-Go.


    Deshalb die Frage:

    In der Software werden ja die Tuner Parameter gelesen und falls vorhanden in OutputFormats.cpp ausgegeben.

    Woher kommen diese für den SAT>IP Fall?

    Eine Möglichkeit wäre, die (zum Teil falschen) Parameter vom Server zu nehmen.

    Der SAT>IP Server gibt die Tunerparameter in den RTSP DESCRIBE messages (einmal beim Tunen) und in fortlaufend in den RTCP UDP packets aus.


    Beispiel hier für 3 Sender (sollte in Wirklichkeit 64QAM sein)

    3sat HD
    tuner=1,234,1,15,578.00,8,dvbt2,8k,qpsk,132,23,3,48991,0;pids=0,16,17,18,2100,2110,2120,2130


    Das Erste HD

    tuner=1,239,1,15,554.00,8,dvbt2,8k,qpsk,132,23,3,49087,0;pids=0,16,17,18,4112,4113,4114,4116


    ORF 1

    tuner=1,232,1,15,498.00,8,dvbt2,8k,qpsk,132,23,3,48975,0;pids=0,16,17,18,407,4070,4071,4075


    aus dem Spec:

    ver=1.1;tuner=<feID>,<level>,<lock>,<quality>,<freq>,<bw>,<msys>,<tmode>,<mtype>,<gi>,<fec>,<plp>,<t2id>,<sm>;pids=<pid0>,…,<pidn>


    Dies wäre insofern konsistent, daß die Scan Software das übernimmt was der Server anbietet.

    Wo kommen denn die Parameter bei Standardtunern her?


    Nachteil ist, daß SAT>IP Channel Listen nicht für andere Tuner passen.

    Mit "gültiger Wert" meine ich natürlich "gültiger Wert laut Spec".

    Reden wir besser von "Startwerten".

    In der Tat funktioniert für diesen SAT>IP Server jeder Wert (fec=12, 34 ...) als Startwert erfolgreich . Nur ohne Angabe von fec und mtype funktioniert gar nichts.


    Man könnte ja auch die Startwerte vom User definieren lassen, z.B. als commandline parameter, um Tuner zu unterstützen die dies benötigen. Damit wäre die Software konsistent, und erlaubt Spezialfälle wie diese. Natürlich mit einer Anmerkung im README, damit die User Bescheid wissen.


    Für mich selbst habe ich eine ausreichende Lösung gefunden, es geht hier eher um andere User die das gleich Problem haben.

    Hallo,


    seit längerem versuche ich schon die Resourcen des Panasonic TV Geräts TX-58DX730W für Streaming zu nutzen.

    Der TV hat einen sehr guten DVBT2 Receiver, und gibt mir insbesondere Zugriff auf ORF1.


    Ein Tuner (von zweien) ist als DVB-T SATIP Server eingerichtet.

    Das Gerät gibt nur dann einen Stream aus wenn im rtsp request (getestet mit VLC) alle Parameter (freq ... pids) in der richtigen Reihenfolge eingegeben werden.


    z.B für ORF1

    rtsp://192.168.2.168/?freq=498&amp;bw=8@@@WCF_LITERAL_AMP@@@tmode=32k@@@WCF_LITERAL_AMP@@@mtype=qpsk@@@WCF_LITERAL_AMP@@@gi=116@@@WCF_LITERAL_AMP@@@fec=12@@@WCF_LITERAL_AMP@@@msys=dvbt2@@@WCF_LITERAL_AMP@@@plp=0@@@WCF_LITERAL_AMP@@@t2id=8232@@@WCF_LITERAL_AMP@@@sm=0@@@WCF_LITERAL_AMP@@@pids=0,16,17,18,407,4070,4071,4075

    (Nicht alle Parameter sind richtig, werden aber vom Server akzeptiert und automatisch korrigiert).


    Selbst zum Tunen/Suchen müssen nahezu alle Parameter (ohne pids) übergeben werden, auch wenn sie noch nicht bekannt sind. Pids werden ja dann dynamisch addiert/gelöscht.

    Und alle Parameter müssen gültige Werte nach satip Standard haben.

    Deshalb sind alle bisherigen Versuche zum Scannen fehlgeschlagen


    Nun habe ich es mit der letzten Version von w_scan_cpp-20220105 versucht, zuerst mit dem gleichen Ergebnis (nichts gefunden).


    Mit tcpdump kam heraus, daß nur "fec=..." gefehlt hat.

    Dies konnte ich in den wirbelscan src files leicht korrigieren, habe caps_fec=12 als "default FEC" gesetzt in scanner.cpp.


    $ diff -u vdr/PLUGINS/src/wirbelscan/scanner.cpp.bak vdr/PLUGINS/src/wirbelscan/scanner.cpp

    --- vdr/PLUGINS/src/wirbelscan/scanner.cpp.bak 2022-10-03 14:17:00.897685712 +0200

    +++ vdr/PLUGINS/src/wirbelscan/scanner.cpp 2022-10-03 14:18:24.411017279 +0200

    @@ -452,7 +452,7 @@

    if (crAuto)

    caps_fec = 999;

    else {

    - caps_fec = 0;

    + caps_fec = 12;

    dlog(5, "C999 not supported, trying C" + IntToStr(caps_fec) + ".");

    }

    if (t2Support)


    Damit lief der Scan durch und hat alle DVB-T2 Streams gefunden.


    Im VLC satip Format Output haben aber wieder 2 Parameter gefehlt: mtype=... und fec=...

    Deshalb auch noch entsprechende Änderungen in OutputFormats.cpp gemacht, und auch dort default Werte eingefügt:


    $ diff -u OutputFormats.cpp.bak OutputFormats.cpp

    --- OutputFormats.cpp.bak 2022-10-03 14:00:59.010976222 +0200

    +++ OutputFormats.cpp 2022-10-03 14:18:34.559179351 +0200

    @@ -1056,6 +1056,7 @@

    else if (c.Modulation == 16) ss << "@@@WCF_LITERAL_AMP@@@mtype=16qam";

    else if (c.Modulation == 64) ss << "@@@WCF_LITERAL_AMP@@@mtype=64qam";

    else if (c.Modulation == 256) ss << "@@@WCF_LITERAL_AMP@@@mtype=256qam";

    + else ss << "@@@WCF_LITERAL_AMP@@@mtype=qpsk";


    if (c.Guard == 4) ss << "@@@WCF_LITERAL_AMP@@@gi=14";

    else if (c.Guard == 4) ss << "@@@WCF_LITERAL_AMP@@@gi=18";

    @@ -1072,6 +1073,7 @@

    else if (c.FEC == 45) ss << "@@@WCF_LITERAL_AMP@@@fec=45";

    else if (c.FEC == 56) ss << "@@@WCF_LITERAL_AMP@@@fec=56";

    else if (c.FEC == 78) ss << "@@@WCF_LITERAL_AMP@@@fec=78";

    + else ss << "@@@WCF_LITERAL_AMP@@@fec=12";


    if (c.DelSys == 0) {

    ss << "@@@WCF_LITERAL_AMP@@@msys=dvbt";


    Dies ist eine "quick and dirty" Lösung, hat aber erst mal den erhofften Erfolg gebracht, gestartet mit
    w_scan_cpp -ft -c DE --satip -V > satip.xspf


    Vielleicht hat wirbel einen besseren und sauberen Lösungsvorschlag, der auch die tatsächlichen Parameter erkennt.