Radio mit DVB-s. Hilfe: welcher Player ist besser als mpg321?
Hallo Leute! Immerhin kommen einige interessante Radioprogramme über den Sateliten. Meine Testversion von zapdvb kommt damit inzwischen auch gut zurecht, aber ich habe keine grosse Lust einen eigenen Player zu schreiben. Nun ist das mit den vorhandenen MP3 Playern nicht ganz einfach, die passen ihre eigene Geschwindigkeit nicht an die Eingabedaten an, und entsprechend gibt es gelegtlich Underruns, die sich als kleine Blupser äussern. *** WER KENNT EINEN PLAYER DER MPEG Layer 2 VON STDIN SPIELT *** Vor allem soll er keine Blupser (Underruns) machen. Mplayer könnte das, aber der braucht offenbar immer ein Video Signal (oder gibt's einen Trick?). Status: plaympeg geht nicht gut und hat Macken, mpg123 geht gar nicht, mpg321 geht zur Not. Gruss Jürgen
Hallo Leute!
Immerhin kommen einige interessante Radioprogramme über den Sateliten. Meine Testversion von zapdvb kommt damit inzwischen auch gut zurecht, aber ich habe keine grosse Lust einen eigenen Player zu schreiben. Nun ist das mit den vorhandenen MP3 Playern nicht ganz einfach, die passen ihre eigene Geschwindigkeit nicht an die Eingabedaten an, und entsprechend gibt es gelegtlich Underruns, die sich als kleine Blupser äussern.
*** WER KENNT EINEN PLAYER DER MPEG Layer 2 VON STDIN SPIELT *** Vor allem soll er keine Blupser (Underruns) machen. Mplayer könnte das, aber der braucht offenbar immer ein Video Signal (oder gibt's einen Trick?).
Status: plaympeg geht nicht gut und hat Macken, mpg123 geht gar nicht, mpg321 geht zur Not.
Gruss Jürgen
Derzeit nutze ich um Satellitenradio zu hören xmms +DVB Plugin. Außerdem arbeitet Gerd mit seinem xawtv4 ebenfalls an einer Implementierung von Satellitenradio. Gruß Gerhard
"Dr. Juergen Pfennig"
Immerhin kommen einige interessante Radioprogramme über den Sateliten. Meine Testversion von zapdvb kommt damit inzwischen auch gut zurecht, aber ich habe keine grosse Lust einen eigenen Player zu schreiben. Nun ist das mit den vorhandenen MP3 Playern nicht ganz einfach, die passen ihre eigene Geschwindigkeit nicht an die Eingabedaten an, und entsprechend gibt es gelegtlich Underruns, die sich als kleine Blupser äussern.
... was allerdings auch kein so triviales Problem ist. Wie bekommt man die Datenraten so genau gemessen? Insbesondere wenn der Rechner halt ein bischen Last hat und der Player nicht jedesmal wenn Daten da sind sofort die CPU bekommt ... xawtv4 macht da auch nix weiter als im Bedarfsfall ein paar Nullen in den Datenstrom zur Soundkarte einzustreuen, was man als kleine Knackser auch hört. Radio könnte mit etwas Glück im heutigen snapshot funkionieren (sozusagen als "Fernsehen ohne Bild"), zumindest hab ich ein paar diesbezügliche Bugs gefixt. Ein kleines, schnuckliges radio-only GUI auf der xawtv4 codebase zusammenzubauen sollte auch kein allzugroßes großes Problem sein. Gerd -- return -ENOSIG;
On Friday 16 July 2004 19:15, Gerd Knorr wrote:
xawtv4 macht da auch nix weiter als im Bedarfsfall ein paar Nullen in den Datenstrom zur Soundkarte einzustreuen, was man als kleine Knackser auch hört.
Hi, Soundkarte? Was ist das. In meinem minimalistischen Universum kommt sowas nicht vor. Da keiner einen trivialen Vorschlag machen konnte löse ich das Problem folgendermassen: (1) per default wird als player mpg321 genutzt. Damit bin ich erstmal nicht von KDE abhängig (ausser vom Source-Code um zu verstehen wie mpeg sound überhaupt funktioniert). (2) Es werden einzelne mpeg audio frames bei Bedarf dupliziert oder weggelassen, dass hört man glüchlicherweise nicht - unser Gehirn bzw. Gehör scheint recht fehlertolerant zu sein. Als gestandener Windows-Programmierer musste ich allerdings wegen der in Linux nötigen Klimmzüge für asynchronen IO lachen (immerhin muss ich ja ermitteln ob der Player zuviel oder zuwenig Daten hat). Gruss Jürgen
"Dr. Juergen Pfennig"
On Friday 16 July 2004 19:15, Gerd Knorr wrote:
xawtv4 macht da auch nix weiter als im Bedarfsfall ein paar Nullen in den Datenstrom zur Soundkarte einzustreuen, was man als kleine Knackser auch hört.
Hi, Soundkarte? Was ist das. In meinem minimalistischen Universum kommt sowas nicht vor.
Na das Ding mit den DA-Wandlern, wo man die Lautsprecher anschließt. Ok, ist heute meistens keine Karte mehr sondern onboard. Ich nenne es trotzdem noch Soundkarte (oder gibt es 'ne bessere Bezeichnung?) ...
(2) Es werden einzelne mpeg audio frames bei Bedarf dupliziert oder weggelassen, dass hört man glüchlicherweise nicht - unser Gehirn bzw. Gehör scheint recht fehlertolerant zu sein.
Oder die Samples sind kurz genug. Die Idee mpeg frames zu duplizieren (oder wegzulassen) ist nett, das hört man warscheinlich schwerer raus als wenn man das gleiche mit den decodierten Samples probiert. Muß ich mal testen ...
Als gestandener Windows-Programmierer musste ich allerdings wegen der in Linux nötigen Klimmzüge für asynchronen IO lachen (immerhin muss ich ja ermitteln ob der Player zuviel oder zuwenig Daten hat).
Wie machst Du das genau? dvbstream | your-tool-here | mpg321 ? Evtl. ist es auch einfacher mad (mpeg audio decoder library) zu nehmen und alles in ein Programm zu stecken statt derer drei mit pipes zusammenzubandeln. Dann hat man auch direkten Zugriff auf die I/O buffer und deren aktuelle Füllstände und braucht nicht so viel zu raten ;) Gerd -- return -ENOSIG;
So, endlich eine Antwort. Bei Hitze mag mein Rechner nicht gerne booten. Nur wenn ich die KNC-1 Karte ausbaue. Seltsam. On Tuesday 20 July 2004 14:54, Gerd Knorr wrote:
xawtv4 macht da auch nix weiter als im Bedarfsfall ein paar Nullen in den Datenstrom zur Soundkarte einzustreuen, was man als kleine Knackser auch hört.
Das ist ok. Wie ich inzwischen weiss ist mpg321 nicht so gut darin von stdin zu lesen. mpg123 kann das aber sehr gut. Allerdings ist mpg321 toleranter gegen Datenmüll. Inzwischen liefere ich aber einen korrekten ES und mpg123 ist happy.
(2) Es werden einzelne mpeg audio frames bei Bedarf dupliziert oder weggelassen, dass hört man glüchlicherweise nicht - unser Gehirn bzw. Gehör scheint recht fehlertolerant zu sein.
Das Ergebnis ist nicht so gut wie ich zuerst dachte. Das Verfahren geht nur zu Not und wenn man ignorant ist wie ich (was ist eine Soundkarte?). Ich wollte aber auf keinen Fall einen eigenen Dekoder implementieren. Aber mpg321 kommt mit den Underruns gut zurecht. Ich werde also das Duplizieren von Frames bzw. das Weglassen (bei Overrun) konfigurierbar machen. Wie gesagt: mgp123 kommt gut allein zurecht und damit ist die Qualität von DVB-Audio über das künftige zapdvb wirklich gut. Duplizieren von Frames erzeugt eine Art Glucksen und ist je nach Programminhalt störend. Allerdings berechne ich die Zahl der Duplizierten/Weggelassenen Frames dynamisch. Wenn die PC-Uhr richtig tickt passiert dann sowieso nichts.
Wie machst Du das genau? dvbstream | your-tool-here | mpg321 ?
Nun, meine Tools sind zapdvb und zapcvt. Zapcvt ist eigentlich eher ein Kommandozeilen Video-Schnittwerkzeug. Dem habe ich jetzt beigebracht Video oder Audio ES zu extrahieren. Das ist wohl hier noch nicht so interessant. Aber zapdvb vereinigt szap und die TS zu PES Konvertierung. Dort habe ich jetzt einen kleinen ES Extraktor für Audio zugebaut. Das Programm forkt von jeher Mplayer (oder was anderes). Jetzt halt auch mpg321 (oder was anderes). Alternativ kann man zum Aufnehmen von Sendungen direkt in eine Datei schreiben, siehe dann zapcvt.
Evtl. ist es auch einfacher mad (mpeg audio decoder library) zu nehmen und alles in ein Programm zu stecken statt derer drei mit pipes zusammenzubandeln. Dann hat man auch direkten Zugriff auf die I/O buffer und deren aktuelle Füllstände und braucht nicht so viel zu raten ;)
Ja, aber dann lerne ich kaum was. Zudem sind meine Tools ganz absichtlich minimalistisch. Die Sourcen sind recht kurz. Der ganze Audio-Kram bedeutet nur rund 200 Zeilen. Für mich ist viel interessanter automatisch anzufangen auf File zu schreiben wenn jemand den (Video-)Player anhält. Die neue Version von zapdvb soll sowieso aus laufender Sendung heraus aufzeichnen können (früher ging das nur über at-jobs). Gruss Jürgen
Hi, 0n 04/07/16@17:47 Dr. Juergen Pfennig told me:
Immerhin kommen einige interessante Radioprogramme über den Sateliten. Meine Testversion von zapdvb kommt damit inzwischen auch gut zurecht, aber ich habe keine grosse Lust einen eigenen Player zu schreiben. Nun ist das mit den vorhandenen MP3 Playern nicht ganz einfach, die passen ihre eigene Geschwindigkeit nicht an die Eingabedaten an, und entsprechend gibt es gelegtlich Underruns, die sich als kleine Blupser äussern.
*** WER KENNT EINEN PLAYER DER MPEG Layer 2 VON STDIN SPIELT ***
Das mjpeg howto empfiehlt plaympeg. ---cut--- maik@mobby maik(0) $ cat stream.dump | plaympeg - -: MPEG audio stream Audio MPEG-1 Layer 2 128kbit/s 44100Hz stereo maik@mobby maik(0) $ qpkg -f `which plaympeg` media-libs/smpeg * maik@mobby maik(0) $ qpkg -i media-libs/smpeg media-libs/smpeg-0.4.4-r4 * SDL MPEG Player Library [http://www.lokigames.com/development/smpeg.php3 ] ---cut--- Geht hier. -- bye maik
Hi, 0n 04/07/17@09:22 Maik Holtkamp told me:
Hi,
0n 04/07/16@17:47 Dr. Juergen Pfennig told me:
Immerhin kommen einige interessante Radioprogramme über den Sateliten. Meine Testversion von zapdvb kommt damit inzwischen auch gut zurecht, aber ich habe keine grosse Lust einen eigenen Player zu schreiben. Nun ist das mit den vorhandenen MP3 Playern nicht ganz einfach, die passen ihre eigene Geschwindigkeit nicht an die Eingabedaten an, und entsprechend gibt es gelegtlich Underruns, die sich als kleine Blupser äussern.
*** WER KENNT EINEN PLAYER DER MPEG Layer 2 VON STDIN SPIELT ***
Das mjpeg howto empfiehlt plaympeg.
Status: plaympeg geht nicht gut und hat Macken, mpg123 geht gar nicht, mpg321 geht zur Not.
Ja, naechstes mal lese ich bis zum Ende :(, sorry. Aber die von Dir genannten tun hier alle problemlos. -- bye maik
participants (4)
-
Dr. Juergen Pfennig
-
Gerd Knorr
-
Gerhard Bauer
-
Maik Holtkamp