Beiträge von stego

    Wenn man die gepatchte libfec Version wie im README beschrieben mit "debuild -b -us -uc" baut sie bei mir, configure geht scheinbar bei der gepatchten version nicht mehr. Ist aber auch egal, notfalls kann man auch die RS-Fehlerkorrektur abschalten. Dazu die for-Schleife in lib/dab_dabplusdec.cc ab Zeile 187 auskommentieren. Es werden dann keine Fehler mehr korrigiert und man braucht die libfec nicht mehr.


    Ansonsten ist entweder der Empfang zu schlecht oder die Frequenz stimmt nicht. Zur Kontrolle des Empfangs kann man in GNURadio einfach mal eine OSMSdr-Source mit einem WX GUI Waterfall Sink verbinden. Wichtig ist es auch die ppm-Korrektur zu ermitteln, ab besten die Empfangsfrequenz gegen einen bekannten Träger testen, vorher den Stick warm laufen lassen. Im Combine-Script ist dieser Wert dann als freqCorr einzutragen. Die -102 passen nur zu meinem Stick.


    Der Slider ist nur zur Feinkorrektor nötig, wenn der Stick nicht so temperaturinstabil wäre, könnte man ihn auch weglassen. Den Slider innerhalb einiger Sekunden von einem Ende zum anderen ziehen, damit sollte man die passende Frequenz recht schnell finden. Der Empfang ist optimal, wenn 4 Wolken von Abtastwerten angezeigt werden, in jeden Quadranten eine (links oben, rechts oben, links unten und rechts unten).

    Unter


    http://dl2stg.de/stefan/dab/gr-dab.tgz


    liegt eine Erweiterung für GNURadio, die bei mir DAB+ live decodiert.


    Das ganze funktioniert auch mit dem RTL2832-USB-Stick, wobei das Teil hier in Berlin durch diverse starke UKW-Sender Probleme hat. Man hat überall IM-Mischprodukte. Vorraussetzung ist GNU-Radio (aktuell aus git), libfec (ist im tgz-File enthalten) und libfaad2. Für libfaad liegt ein Patch bei, damit man aus dem AAC-Datenstrom die Zusatzdaten (DLS(Radiotext), Bilder, etc.) bekommt. Wenn man den Patch anwendet kann man in dab_audio_decoder.cpp den auskommentierten Abschitt wieder aktivieren und bekommt dann den Radiotext auf die Konsole.


    Ansonsten kann die Erweiterung wie üblich mit "cd build", "cmake ..", "make" und "make install" übersetzt werden. Das Combine.py-Script startet die Suche nach den den Sendern im Packet, Die Frequenzeinstellung ist sehr kritisch und muss auf +-20 Hz stimmen, dazu einfach mal am Regler schieben. Der Kanal kann im Skript eingestellt werden. Nun kann das Fenstger geschlossen werden, es wird nach dem Sender gefragt und die Dekodierung wird gestarte (Frequenz nochmal fein einstellen!). Das ganze ist noch sehr experimentell: einige Sender benutzen eine Samplereate von 32k, das wird nicht berücksichtigt, bei schlechen Empfang kommt es auch hin und wieder zum Absturz, DAB (ohne +) wird nicht live decodiert und nur in eine Datei geschrieben, ..


    Aber man kann es schon benutzen.

    Ich habe mal ein kleines Python-Script gemacht, das über 7000 Internetradios als pls-Files in geordneten Directorys für das MP3-Plugin anlegt. Es werden nur die MP3-Streams berücksichtigt, für die wma-Sender ist mir noch nichts eingefallen.


    SG


    Der Thread ist zwar schon ganz schön alt, aber ich hatte immer noch das selbe Problem. Scheinbar bracht in den betreffenden USB-Sticks der Hardware-PID-Filter einige Zeit, bevor er erneut verwendet werden kann. Wenn man vor dem Setzen neuer PIDs beim Kanalwechsel etwas wartet, geht alles bestens. Einfach und schmutzig z.B. durch ein usleep(100000); in cDvbDevice::OpenFilter im File dvbdevice.c.


    Stefan

    Hi,


    die hohe CPU-Last und damit der träge Aufbau der Menus scheint von der Skalierung der Bildes vor der Ausgabe in den Framebuffer zu kommen. Mit meinem EPIA-Board ist mit graphtft nicht mal mehr das unterbrechungsfreie Abspielen von MP3's möglich. Ohne diese Skalierung geht alles prima. Nur leider muß man dann die Skins von Hand an die Displaygröße anpassen. Ich habe mal einen kleinen Patch gemacht, der die Sklalierung abschaltet, im Makefile ist die Größe des Framebuffers anzupassen.


    Stefan