[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Stream aufzeichnen



Dirk Salva schrieb:

> On Sun, Jun 07, 2015 at 09:18:46PM +0200, Manfred Schmitt wrote:
> > Hihi, ich sehe gerade Deluxe Music gibt es sowieso auch als MP3-Stream:
> > http://www.deluxemusic.tv/radio/music.html
> > Bzw. http://radio.cdn.deluxemusic.tv:8000/deluxemusic.tv/mp3
> 
> Ok. Und wie zeichne ich den dann auf? BTW: welche Qualität hat der
> denn? Sollte schon minigens so 128kBps sein.
> 
Der MP3-Stream ist mit 128 KBit/s bei 44,1 KHz Abtastrate und konstanter 
Bitrate kodiert.
Das AAC im Video mit 96 kbit/s, 48 KHz, und variabler Bitrate.
Letztlich koennte das, weil AAC "besser" komprimiert und eben weil die 
Bitrate Variabel ist eine hoehere Qualitaet haben (Wobei, eben beim 
kurzen Test waren es immer 96,1 kBit/s, eventuell wird das also real
doch mit konstanter Bitrate kodiert und nur im Dateiheader steht 
"Variabel").
Letztlich ist das ja beides nur auf dem Level "zum nebenbei anhoeren 
reicht's".

Zum aufzeichnen kann man so ziemlich jedes Programm nehmen das http:// 
spricht ;)
Also wget, curl, mplayer, mpv, vlc, streamripper, iceweasel, netcat...
Z.B. das schon genannte mplayer -dumpstream $url erstellt also bei dem
MP3-Stream abspielbare Dateien. 
Ich wuerde trotzdem eher streamripper oder eben, da ja sowieso keine 
Titelinformationen in den Metadaten drin sind, eventuell auch ganz simpel 
wget nehmen. Andererseits gibt es bei wget ja keinen "Laengen-Parameter", 
man muesste den Prozess also wenn man es per cron startet zum beenden 
selber abschiessen.
Ausserdem ist streamripper ja eben genau dafuer gedacht, das kann ja z.B. 
die Tracks auch anhand der Stille zwischen den Stuecken splitten und kennt 
eben auch den Parameter -l seconds.

Ach so, der Vollstaendigkeit halber:
Tatsaechlich ohne das Audio neu zu kodieren kann man den Videostream,  
aber ohne das Video mit abzuspeichern, z.B. so rippen:

avconv -i "http://flash.cdn.deluxemusic.tv/deluxemusic.tv-live/web_850.stream/playlist.m3u8"; -acodec copy -vcodec null -f adts out.aac
[...]
Input #0, applehttp, from 'http://flash.cdn.deluxemusic.tv/deluxemusic.tv-live/web_850.stream/playlist.m3u8':
  Duration: N/A, start: 8326.409156, bitrate: N/A
    Stream #0.0: Data: [21][0][0][0] / 0x0015
    Metadata:
      variant_bitrate : 1540547
    Stream #0.1: Video: h264 (Main), yuv420p, 720x406 [PAR 1:1 DAR 360:203], 25 tbr, 90k tbn, 50 tbc
    Metadata:
      variant_bitrate : 1540547
    Stream #0.2: Audio: aac, 48000 Hz, stereo, s16
    Metadata:
      variant_bitrate : 1540547
File 'out.aac' already exists. Overwrite ? [y/N] y
Output #0, adts, to 'out.aac':
  Metadata:
    encoder         : Lavf53.21.1
    Stream #0.0: Audio: aac, 48000 Hz, stereo
    Metadata:
      variant_bitrate : 1540547
Stream mapping:
  Stream #0:2 -> #0:0 (copy)

Also copy, keine Neukodierung. 
Die Prozessorbelastung ist dabei auch quasi bei Null.

Der Parameter -f adts ist eigentlich nicht noetig. 
Wenn man in der falschen Sekunde startet beendet sich avconv aber 
manchmal direkt beim starten mit der Fehlermeldung
[adts @ 0x872c960] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 90 >= 90
av_interleaved_write_frame(): Invalid argument

Meine vage Hoffnung war nun das es besser klappt wenn man vorgibt was 
fuer ein Format das sein soll. Ich glaub das aendert aber auch nix.

So, habe nun gerade mal ein Paar Minuten der Chillout-Nachtschleife 
parallel in beiden Formaten aufgezeichnet und auf 'nem recht guten 
Sony-Kopfhoerer aber ueber eine simple Notebook-Onboard-Soundkarte 
im Vergleich angehoert:
Eventuell klingt das MP3 etwas runder, satter, klarer.
Die Unterschiede sind aber imo minimal bis nicht zu vernehmen.

Und wech,
Manne


Reply to: