Autor Thema: DVB-T2 per Linux-Kommandozeile  (Gelesen 5170 mal)

Lunatic

  • Newbie
  • *
  • Beiträge: 5
    • Profil anzeigen
DVB-T2 per Linux-Kommandozeile
« am: Juni 19, 2017, 08:54:22 Nachmittag »
Da Sundtek für eine DVB-T2-Anleitung wohl keine Zeit hat, hier ein Kochrezept für Leute, die, nachdem sie mit DVB-T2 "beglückt" wurden, einfach nur wieder auf dem (X86-)Notebook im Fenster TV gucken wollen.


Mein Notebook (Vierkerner i5-3320M @ 2.60GHz) ist zu langsam, um H265 auf einem Kern zu decodieren; vorher hatte ich jedoch herausgefunden, dass ich eine mit einer Settop-Box aufgezeichnete *.ts-Datei auf meinem Notebook mit "ffplay" angucken kann. Ffplay hat den Vorteil, dass es mehrere Kerne nutzen kann.

Da TVB-T2 unter Linux ein haariges Thema ist, habe ich mir den Sundtek MediaTV Pro III gegönnt und gehofft, dass man "Plug und Pray" bekommt, wenn man 90 statt 40 Euro ausgibt. War natürlich ein Schuss in den Ofen. Der Sundtek-Installer murkelt da irgendwas auf dem System rum, alle Ausgaben werden nach /dev/nul umgelenkt,  man weiss nicht, was der überhaupt angerichtet hat, und manpages oder gar eine Dokumentation werden nicht installiert.

Stattdessen darf man sich das Nötigste aus einem Sack voller Foren- und Wiki-Beiträge zusammenreimen. Und irgendeine funktionierende GUI gibt's schon gar nicht, obwohl Sundtek die DVB-T2-Eignung seines Sticks bewirbt. Ob es mal eine GUI geben wird? Hoffen wir's mal ....


Daher hier ein Rezept, wie man auf der Kommandozeile TV gucken kann, bis die Sundtek-GUI fertig ist oder die Distributionen DVB-T2-fit sind:

Benötigt wird das neueste ffmpeg (z.Zt. 3.3.2) - muss man daher ggf. selbst kompilieren. Da w_scan-10270107 nicht alle Sender findet, benötigt man ausserdem eine Liste mit den in der Region belegten Fernsehkanälen. Umrechnung in Frequenzen: 474000000 Hz (474 MHz) ist Kanal 21, die Kanäle sind 8000000 Hz (8MHz) breit.
Beispiel: Kanal 35 ist also
8 MHz * (35-21) + 474 MHz = 586 Mhz = 586000000 Hz


Der grundsätzliche Ablauf ist:
# mediasrv muss gestartet sein; ggf. mit
/opt/bin/mediasrv -d starten

# Frequenz und Modus einstellen:
/opt/bin/mediaclient -m DVBT -D DVBT -b 8 -f 538000000

# mit ffplay TV schauen:
ffplay -x 1024 -y 576 -framedrop /dev/dvb/adapter0/dvr0

Mit der Taste "c" kann man die Programme des Bouquets durchschalten.
Die Parameter -x und -y bestimmen die Fenstergrösse, auf die das HDTV-Zeugs herunterskaliert wird.


Der Installer legt unter /etc/systemd /etc/hal und /etc/udev/rules.d Dateien an, die "/opt/bin/mediasrv" automatisch starten.

Habe ich alles gelöscht und starte mediasrv (als root) mit "dvb-up" von Hand, wenn er wirklich benötigt wird:

#/usr/local/sbin/dvb-up
/opt/bin/mediasrv -d --pluginpath=/opt/bin --wait-for-devices --verbose --config=/etc/sundtek.conf

In /etc/sundtek.conf, die man selber nach /etc kopieren muss, habe ich folgendes geändert:

loglevel=full
ir_disabled=1  # Infrarot brauch' ich nicht
initial_dvb_mode=DVBT
disable_analogtv=1  # brauch' ich auch nicht
soft_volume=100    # kann nicht schaden ;)

Die Sender eines Bouquets rufe ich auf mit vier Dateien namens "dvba", "dvbz" usw., die im Suchpfad liegen müssen (die Frequenzen sind für die Region Bremen/Unterweser):

#dvba (ARD-Bouquet)
/opt/bin/mediaclient -m DVBT -D DVBT -b 8 -f 538000000
ffplay -x 1024 -y 576 -framedrop /dev/dvb/adapter0/dvr0

#dvbz (ZDF-Bouquet)
/opt/bin/mediaclient -m DVBT -D DVBT -b 8 -f 586000000
ffplay -x 1024 -y 576 -framedrop /dev/dvb/adapter0/dvr0

#dvb3 ("Dritte"-Bouquet)
/opt/bin/mediaclient -m DVBT -D DVBT -b 8 -f 746000000
ffplay -x 1024 -y 576 -framedrop /dev/dvb/adapter0/dvr0

#dvbr (Radio Bremen 3; eigenes Bouquet)
/opt/bin/mediaclient -m DVBT -D DVBT -b 8 -f 674000000
ffplay -x 1024 -y 576 -framedrop /dev/dvb/adapter0/dvr0

Die Sender des Bouquets kann man, wie bereits erwähnt, mit der Taste "c" durchschalten. Die Umschaltzeit innerhalb des Bouquets beträgt nur etwa 1 Sekunde(!).

Nicht sehr komfortabel - EPG fehlt, videotext fehlt - aber zumindest wird der Bildschirm wieder hell ;)

PS: Weiss jemand, wie man Videotext ans laufen bekommt?


Update 1

Bei "ffplay" die Option "-framedrop" nachgetragen.

Update 2

Statt die in der Region belegten TV-Kanäle aus einer Liste zu entnehmen, kann man auch einen Suchlauf mit mediaclient durchführen. Wenn der Sundteck-Stick das einige bzw. erste DVB-Gerät ist:
/opt/bin/mediaclient --blindscan=/dev/dvb/adapter0/frontend0  -m DVBT -D DVBT

In der Liste sind allerdings auch die verschlüsselten Privatsender-Kanäle enthalten.

« Letzte Änderung: Juli 31, 2017, 01:17:53 Nachmittag von Lunatic »

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:DVB-T2 per Linux-Kommandozeile
« Antwort #1 am: Juni 19, 2017, 10:00:41 Nachmittag »
DVB-T2 kannst Du auch über den Streamingserver abspielen:

http://support.sundtek.com/index.php/topic,2075.0.html

Die Playlist nach dem Scan lautet:
http://localhost:22000/freehdtv.m3u
Failure is a good thing! I'll fix it

Lunatic

  • Newbie
  • *
  • Beiträge: 5
    • Profil anzeigen
Re:DVB-T2 per Linux-Kommandozeile
« Antwort #2 am: Juni 19, 2017, 10:27:28 Nachmittag »
Danke für den Tip,

aber da mein Notebook schon ziemlich ins Röcheln kommt, wenn sich Bildinhalte abrupt ändern, wollte ich eine Lösung, die möglichst wenig Ressourcen verbraucht. Aber ich werde es mal ausprobieren (wichtiger wäre mir allerdings, alevt ans Laufen zu bekommen).

Viele Grüße,
Lunatic

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:DVB-T2 per Linux-Kommandozeile
« Antwort #3 am: Juni 19, 2017, 10:29:52 Nachmittag »
ffplay kannst Du mit den einzelnen Playlist Einträgen verwenden.

Es ist bekannt das nur die aktuelle FFMPEG Version brauchbar funktioniert, es hat weniger mit Multithreading als mit einem verbesserten Code zu tun. Auch auf MacOSX sinkt die CPU Auslastung von 100% auf 50%.
Failure is a good thing! I'll fix it

Lunatic

  • Newbie
  • *
  • Beiträge: 5
    • Profil anzeigen
Re:DVB-T2 per Linux-Kommandozeile
« Antwort #4 am: Juni 19, 2017, 11:21:29 Nachmittag »
Zitat
Es ist bekannt das nur die aktuelle FFMPEG Version brauchbar funktioniert,

Es mag bekannt sein, aber nicht jedem.

Ich wollte lediglich die Erkenntnisse weitergeben (die mich stundenlanges Suchen im Forum und Abende mit Herumprobieren gekostet haben), um anderen Leuten die Sucherei zu ersparen.

Das ganze sollte ein Workaround für Eure fehlende Dokumentation sein. Und wenn der Streamingserver Eure Lösung für alle Probleme sein soll, dann schreibt es bitte in eine Manpage, in ein PDF, das man unter /opt/doc findet, oder wenigstens ins Wiki. Zusammen mit all den anderen Informationen, die man in einer konsistenten Doku finden möchte.

Dann braucht Ihr auch nicht so viele Forenposts zu beantworten; das schiene mir die ökonomischere Arbeitsweise.

Viele Grüße,
Lunatic


Ach ja, alevt:

Ich habe eine gepatchte Version 1.6.2, die unter dem klassischen DVB-T funktioniert hat.

Mit "alevt -vbi /dev/dvb/adapter0/demux0 -pid 0x1110" startet der zwar, zeigt aber nur die Hilfeseiten 900 ff. an. Bekommt man den irgendwie ans Laufen oder ist das hoffnungslos?

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:DVB-T2 per Linux-Kommandozeile
« Antwort #5 am: Juni 19, 2017, 11:27:22 Nachmittag »
Der Streamingserver ist auf der Produktseite - an aller erster Stelle verlinkt nur zur Information.

Sobald diese Arbeiten dann mal abgeschlossen sind werden wir die Produktseiten aber auch mit Screenshots versehen.
Failure is a good thing! I'll fix it

Lunatic

  • Newbie
  • *
  • Beiträge: 5
    • Profil anzeigen
Re:DVB-T2 per Linux-Kommandozeile
« Antwort #6 am: Juni 20, 2017, 12:02:02 Vormittag »
Na gut,

aber bitte noch eine kleine Antwort zum Thema Videotext.

"alevt -vbi /dev/dvb/adapter0/demux0 -pid 0x1110" funktioniert nicht wie erhofft.

Gibts einen anderen Weg, um DVB-T2-Videotext zu empfangen?

Viele Grüße,
Lunatic

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:DVB-T2 per Linux-Kommandozeile
« Antwort #7 am: Juni 20, 2017, 12:04:14 Vormittag »
VLC kann videotext anzeigen (VLC hat aber auch das Codec Problem mit dem Video bei den meisten Distributionen, man kann das Video dort aber auch deaktivieren).
Failure is a good thing! I'll fix it

Lunatic

  • Newbie
  • *
  • Beiträge: 5
    • Profil anzeigen
Re:DVB-T2 per Linux-Kommandozeile
« Antwort #8 am: Juni 20, 2017, 12:14:56 Vormittag »
Ok,

danke für die Info.

VLC selber zu kompilieren (um an eine aktuelle Version zu kommen), ist wegen der zahllosen Abhängigkeiten ziemlich "pain in the ass", aber vielleich probiere ich auch das einmal.

Viele Grüße,
Lunatic