Radio-TS in ein MP3 konvertieren

  • Hallo!


    Ich habe eine Aufnahme von einem DVB-S-Radiosender (also ohne Videospur) auf der Dream-Platte liegen und auch schon auf dem PC. Die möchte ich in ein 192 kbit MP3 konvertieren. Ich habs schon mit ProjectX demuxed und mit VLC transcodiert. Aber was dabei rauskommt ist ein Raw-MP3 das zwar vom Winamp abgespielt wird aber von keinem meiner Audio-Schnittprogramme eingelesen werden kann.


    Kann mir jemand eine funktionierende Softwarekette nennen mit der ich vom TS in ein normales MP3 komme?

  • Alternative siehe anbei. Geht nur direkt auf der Dream (wenn auch langsam, oder du kompilierst dir die beiden tools für PC-Linux) und sollte auch mit .mpa files funktionieren. Den mplayer findest du hier im Board. Lame hängt unten an.


    ===========================================
    M P L A Y E R


    Der MPLAYER kann als Decoder verwendet werden, daher hier ein kurzer Exkurs zum Thema WMA nach MP3 Konvertierung. !


    WMA2MP3 - Was wird gebraucht?
    MPLAYER (wmv decoder, Quelle: www.mplayerhq.hu)
    LAME (mp3encoder, Quelle: http://lame.sourceforge.net)
    Hinweis: wer sich fragt, warum hier nicht MENCODER zum Einsatz kommt: er enkodiert nur AV streams, d.h. "audio only" macht er nicht.



    Hier ein Beispiel, wie beide Programme miteinander kombiniert werden können:


    1. MPLAYER decodiert den WMA file nach WAV:
    ./mplayer input.wma -ao pcm:file=output.wav


    2. LAME codiert WAV nach MP3
    ./lame output.wav


    Ergebnis: output.mp3


    Um beide Programme zu vernetzen ist eine sog. "named pipe" notwendig. Eine pipe ist eine Art Kommunikationskanal für Programme. Sie ist hier notwendig, weil MPLAYER seinen output nicht nach stdout kopieren kann und hat sonst keinen Nachteil.


    Man kann sie anlegen mit:
    mkfifo pipe1


    Ergo:
    ./mplayer input.wma -ao pcm:file=pipe1 -really-quiet | ./lame pipe1


    Ergebnis auch hier: pipe1.mp3


    Hier der Screenlog eines Beispiels:


    ./mplayer input.wma -ao pcm:file=pipe1 -really-quiet | ./lame -f --preset cbr 16 pipe1
    LAME 3.97 32bits
    Resampling: input 44.1 kHz output 8 kHz
    Using polyphase lowpass filter, transition band: 3645 Hz - 3742 Hz
    Encoding pipe1 to pipe1.mp3
    Encoding as 8 kHz 16 kbps j-stereo MPEG-2.5 Layer III (16x) qval=7


    ____Frame_______|CPU time/estim|REAL time/estim|play/CPU|__ETA
    1826/169084 ( 1%)|20:15/31:15:51|30:51/47:36:55|0.1082x|47:06:04


    ReplayGain: -6.6dB


    Und zur Info ein log, der die Verteilung der CPU Zeit zeigt ('top'):


    PID_USER__STATUS__ RSS__PPID_%CPU_%MEM_COMMAND
    5801_root____ R_____2392__5661_62.8__3.8____lame
    5800_root_____S____2052__5661_25.6__3.3____mplayer
    (...)


    Fazit: Konvertierung konnte demonstriert werden. Allerdings gilt auch hier, daß die Dreambox mit diesen 'mächtigen' Tools aus der PC-Linux-Welt für "on-the-fly" Konvertieren zu langsam ist. Wenn man ein brauchbares Ergebnis erzielen will, dann sollte die mp3-bitrate >= 128kbit sein. Die Dreambox braucht dafür ca. 30x mehr Zeit als "real time". D.h. ein MP3 dauert dann mal schnell 30x t(Songlänge), also mal locker 1,5h.