Yo24hua
727 Posts
wrote on 15.07.11 at 20:02 last edited by Yo24hua on 15.07.11 at 20:17
Link to this post
Aufgenomene AAC Streams haben keine korrekten Codec informationen.
Es fehlen Bitrate (KBit), Samplingrate (KHz), Samplingbreite (16/32-Bit), Tag-Typ (MP4), Codec-Typ infos (AAC LC / AAC HQ bzw. AAC+ SBR etc.), sowie korrekte Längenangaben etc.
Und der Containertyp scheint nicht übereinzustimmen, üblich ist eigentlich der typ "M4A" auch als dateinamen erweiterung "*.m4a" für Radiostreams.

Ist irgenntwie sehr seltsam, die dateien werden trotzdem korrekt abgespielt (Player/Decoder brauchen diese infos doch eigentlich um die abspielgeschwindigkeit bestimmen zu können) ?!
Zumindest werden diese Codec infos von "Mp3tag", "VLC-Player" und anderen Programmen nicht angezeigt. Man kann somit nur erschwert prüfungen/entscheidungen über die Qualitativen merkmale machen.


Desweiteren wird die im Browser angegebene Bitrate (KBps) bei den aufnahmen in "Gespeicherte Tracks" nicht korrekt angezeigt

Z.B.: bei aufnahmen von "GotRadio - New Age" (AAC) wird:
- im Browser mit 48 KBps
- und in "Gespeicherte Tracks" mit 64 KBps angezeigt.

Legalität, Radio Verzeichnisse, Diskographie Verzeichnisse, Reguläre Ausdrücke, Videos...:
Yo24hua's streamWriter Special: > > > https://sites.google.com/site/yo24hua < < <

Alles mit Ruhe & Muse, denn Unmöglich sind nur die Dinge, die man nicht tut!
Befreie dich, Befreie dich, Befreie dich und du wirst deinen Weg finden!
··· ¥oæhua ···
 
alex
2538 Posts
wrote on 16.07.11 at 02:40 last edited by alex on 16.07.11 at 02:42
Link to this post
Lange Frage, kurze Antwort. Ich habe absolut keine Ahnung vom AAC-Format, ich habe da mal nach geschaut aber habe auf Anhieb nichts gefunden was mir dabei hilfreich ist. Ich mache aber gleich ein Issue auf, dass ich bei Zeiten mal nach schaue. Die AAC-Funktion ist nur da, weil sich das irgendwann irgendwer gewünscht hat, und Winamp die aufgenommenen Dateien abspielen kann. Das einzige Format, von dem ich ein bisschen Ahnung habe, ist MP3.

Für den letzten Punkt gibt es eigentlich nur eine Erklärung: Das, was im Browser steht, ist das, was der Stream-Server im Header des Streams ausgibt. Dort steht sowas wie: "icy-br: 48". Dieser Header wird aber nur alle drei Tage vom Server aktualisiert. streamWriter prüft die Bitrate allerdings bei der Aufnahme/Wiedergabe selber (nicht aus dem Header, sondern aus den empfangenen Audio-Daten), und zeigt dann den korrekten Wert an. Das heißt, dass der Sender bei seiner "icy-br" lügt, oder dass er die Bitrate dynamisch ändert (z.B. je nach dem, wieviele Menschen gerade zuhören).


LG,

Alex
LG/Best regards, Alex

"Journalism is printing what someone else does not want printed. Everything else is public relations."
- George Orwell

D1734FA178BF7D5AE50CB1AD54442494
 
Radiohoerer
205 Posts
wrote on 11.12.11 at 17:01
Link to this post
Also, ich greife dieses Thema nochmal auf. Es soll hier sowas wie ein Erklärungs- und/oder Lösungsversuch (Betonung liegt hier ganz klar auf Versuch!!!) werden.

Ich hab' die letzten paar Tage ein wenig rumgegoogelt und rumprobiert, und dabei bin ich zu folgenden Erkenntnissen gekommen:

1.) Das Format der AAC-Aufnahmen in Streamwriter ist ADTS AAC. ADTS steht für Audio Data Transport Stream und ist - meiner Meinung nach - genau das richtige Format für die Aufnahmen. Zum Vergleich: Wer sich von Euch in seiner Freizit mit DVB-T/-C/-S-Aufnahmen beschäftigt, hat es im Video-Bereich ebenfalls mit Transport-Strömen (Transport Streams) zu tun, nämlich m2ts. Das Pendent dazu im Audio-Bereich für AAC-Dateien ist eben (wie oben erwähnt) ADTS. Ja, AAC macht hier - im Gegensatz zu MP3 - Unterschiede.

2.) Nicht jede Abspiel-Software ist in der Lage, dieses Format wiederzugeben.
Abspielbar in
a1) Media Monkey v3 = mit mehreren Libraries
a2) Media Monkey v4 = ???
b) Winamp = ??? (nativ/mit Plug-ins)
c) MusicBee = mit Library "bass_aac.dll"

3.) a1) Media Monkey v3 zeigt keine Tags an, Dauer = 0:00, keine weiteren Infos über Datei wie z. B. Sampling-Freq, Mono/Stereo, Bitrate, usw.
a2) Media Monkey v4 = ???
b) Winamp = ???
c) MusicBee = keine Tags, aber in Datei-Eigenschaften wird Dauer, Dateigröße, Sampling-Freq und Mono/Stereo angezeigt.

4.) MusicBee bringt an den Tag, dass die Tags der aufgenommenen AAC-Dateien ein falsches Format haben, nämlich ID3v1, es müsste aber MPEG4 sein!

Ab hier gibt es dann somit 2 Möglichkeiten auf diese Umstände zu reagieren:

1.) Das Tag-Format wird in MPEG4 korrigiert, damit Tags gesetzt werden können. Ob und wie das in Streamwriter möglich ist = ??? (auch gerade im Bezug auf Streamwriter und Open Source)

2.) ADTS AAC-Datei konvertieren in M4A-Datei mit Formatwandler-Programmen, z. B.

a1) Media Monkey v3 = nicht möglich
a2) Media Monkey v4 = ???
b) Winamp = ???
c) MusicBee = möglich über Plug-in "neroAACenc.exe", und dann Tags setzen.

So, ich hoffe, ich konnte hier ein wenig weiterhelfen.

LG

Radiohoerer

LG

Radiohoerer

 
Radiohoerer
205 Posts
wrote on 12.12.11 at 13:18
Link to this post
Ich hab' da noch was vergessen zu erwähnen, und zwar zu Punkt 2 (Formatwandler-Programme):

Es kann natürlich auch jedes andere Programm dazu benutzt werden, das in der Lage ist, von einem Audio-Format in ein Anderes zu konvertieren. Wichtig dabei ist jedoch, dass dieses Programm dieses besondere ADTS AAC-Format als Quell-Format unterstützt. Ich hab' nämlich auch Andere als die hier aufgeführten Programme ausprobiert, doch die kamen alle nicht mit diesem ADTS AAC zurecht, sodass die Zieldatei keine Angaben zu Länge, Größe, Bitrate usw. enthielt.

LG

Radiohoerer

LG

Radiohoerer

 
alex
2538 Posts
wrote on 12.12.11 at 14:34
Link to this post
Ich habe jetzt auch mal ein bisschen gelesen und verstehe es folgendermaßen: Ich müsste die AAC-Daten in einen MPEG-Container packen (Endung .mp4) und dann könnte man Taggen wie es sein sollte. Für beides gibt es scheinbar kostenlose Tools, die man irgendwie integrieren könnte… Weiß aber nicht wann ich mich darum kümmere. Wer da selber etwas rumprobieren möchte ist dazu herzlich eingeladen, wenn es mit kleinen Kommandozeilen-Tools irgendwie möglich ist wäre das quasi für mich optimal und ich könnte zusagen, das zeitnahe einzubauen.
LG/Best regards, Alex

"Journalism is printing what someone else does not want printed. Everything else is public relations."
- George Orwell

D1734FA178BF7D5AE50CB1AD54442494
 
Radiohoerer
205 Posts
wrote on 12.12.11 at 17:34 last edited by Radiohoerer on 12.12.11 at 17:44
Link to this post
Hi, Alex!

Also, MP4-Container wäre eigentlich die offizielle richtige Wahl, aber MP4 ist sozusagen doppelt belegt: für Video (weshalb das hier womöglich zu Problemen führen könnte) und für Audio. Deshalb drängte Apple hier auf eine Unterscheidung in der Endung (nämlich m4a).

Mit der Methode, die ich da für MusicBee beschrieben habe, funktioniert das gut. Der Nachteil dabei ist jedoch, das die Datei dabei erneut konvertiert wird, und somit Qualitätsverluste erleidet.

Es müsste also praktisch ein/e Programm/Library geben, die den Roh-Stream aus der ADTS AAC-Datei demuxed (rauslöst), um ihn dann - ohne Qualitätsverlust - in eine m4a-Datei (auch in gewisser Art und Weise ein MP4-Container) zu remuxen (einzubetten).

Ich weis aber ehrlich gesagt nicht, in wie weit diese Vorgehensweise Streamwriter belastet, und ob und wo man solche Programme/Libraries finden könnte.

BTW: Ich bin nämlich schon auf der Suche danach und bin leider noch nicht fündig geworden.

Deshalb vielleicht erst mal meine oben beschriebene Vorgehensweise als kleinen Workaround, jedoch mit Inkaufnahme eines Nachteils. Ich hab' das mal anhand von Aufnahmen mit einer Bitrate von 128 kBit/s ausprobiert und muss sagen, dass ich im Endergebnis (neue m4a-Datei) kaum einen Unterschied im Klang festgestellt habe. Audiophile werden hier wahrscheinlich eher Unterschiede hören.

Ach, übrigens, Alex, das hier sollte von mir keine Aufforderung sein, Dich adhoc darum zu kümmern. Es ist Weihnachtszeit, Zeit der Besinnung und der Ruhe, die auch Du Dir verdient hast und auch nehmen solltest.

Also, in diesem Sinne,

LG

Radiohoerer


PS: Der Weihnachtsmann ist zu Dir unterwegs!!


PPS: Mir fällt gerade ein, dass möglicherweise dieses De- und Remuxen garnicht ausreicht im Bezug auf die Atome. Ich hab' das mit diesen Atomen nämlich nicht so ganz verstanden. Atome sind wichtig fürs spätere Taggen, aber reicht es aus, den Roh-Stream in den richtigen Container zu verfrachten??

LG

Radiohoerer

 
Radiohoerer
205 Posts
wrote on 12.12.11 at 19:56 last edited by Radiohoerer on 12.12.11 at 19:58
Link to this post
Nein, Alex, nicht gleich losspringen!!

Ich möchte nur erst mal Infos zusammentragen.

Es gibt als freie Software (Kommandozeilen-Tools) folgendes:

1.) FAAD: Decoder für AAC
2.) FAAC: Encoder für AAC
3.) Nero AAC: Decoder und Encoder für AAC

Bei allen drei Tools gibt es jedoch - soweit ich mich erinnere - Probleme bei der Lizenz (nur Teile der Software als GPL bzw. LGPL). Das müsste man aber noch mal genauer überprüfen. Du kennst Dich da bestimmt etwas besser aus als ich.


PS: Und was ist eigentlich mit dieser bass_aac.dll?? Gibt's da nicht noch irgendwelche Möglichkeiten?


LG

Radiohoerer

 
Radiohoerer
205 Posts
wrote on 13.12.11 at 20:45
Link to this post
So, hier kommt noch ein bisschen was an Infos (URLs, Stichworte), um die Infosammlung zu erweitern:

1.) MP4Box als Kommandozeilen-Tool um AAC in MP4-Container zu muxen: forum.doom9.org/showthread.php?t=163338&highlight=AAC
Hier wird nur angesprochen, dass MP4Box als mögliches Tool in Frage kommt. Der Rest interessiert uns nicht.

2.) udta atom

3.) MP4FAQ: forum.doom9.org/showthread.php?t=62723&highlight=AAC
Hier sind Frage 2, 3.2, 8, 9 und 21 sowie weiterführende Links wichtig.

4.) AtomicParsley: Kommandozeilen-Tool, um Tags zu setzen

5.) Infos zum MP4-Format: atomicparsley.sourceforge.net/mpeg-4files.html


Zitat:
"Es müsste also praktisch ein/e Programm/Library geben, die den Roh-Stream aus der ADTS AAC-Datei demuxed (rauslöst), um ihn dann - ohne Qualitätsverlust - in eine m4a-Datei (auch in gewisser Art und Weise ein MP4-Container) zu remuxen (einzubetten)."

Diese Vorgehensweise ist laut MP4FAQ falsch, da es sich bei der aac-Datei bereits um dem Roh-Stream handelt, also sich in keinem Container befindet. Das würde bedeuten, dass man diesen Roh-Stream nur in einen MP4-Container zu muxen braucht. Das geeignete Tool dafür wäre MP4Box. Vorteil dieser Methode gegenüber meinem Workaround ist, dass das völlig ohne Qualitätsverlust abläuft. Und wenn ich das dann richtig verstanden habe, könnte man dann mit dem nächsten Kommandozeilen-Tool "AtomicParsley" die Tags setzen.

Aber das sieht nach 'ner ganzen Menge Arbeit aus für Streamwriter, oder?

LG

Radiohoerer

 
alex
2538 Posts
wrote on 13.12.11 at 20:53
Link to this post
Hi,

bevor ich es vergesse: Danke für den Weihnachtsmann:-)

"Aber das sieht nach 'ner ganzen Menge Arbeit aus für Streamwriter, oder?"

Naja, immerhin wäre es dann ja möglich. Falls du mir nicht zuvorkommst teste ich wohl am Wochenende irgendwann mal ein bisschen rum mit den genannten Tools. Wenn das funktioniert wird es vielleicht irgendwann integriert.
Falls ich mich nicht melde wegen den Tests (weil ich das vergesse), oder du selber Ergebnisse hast, meld dich einfach hier.
LG/Best regards, Alex

"Journalism is printing what someone else does not want printed. Everything else is public relations."
- George Orwell

D1734FA178BF7D5AE50CB1AD54442494
 
Radiohoerer
205 Posts
wrote on 13.12.11 at 21:08
Link to this post
Also, was das Muxen mit MP4Box anbelangt: Ich hab' das schon mal mit 'ner GUI-Version (MyMP4BoxGUI) probiert, da ich nicht so der Freund von Kommandozeilen bin. Da hat's nicht funktioniert (oder ich hab nich' die richtigen Einstellungen gefunden), weil das Programm immer zuerst einen Video-Stream haben will, den wir ja nicht haben. Aber vielleicht klappt das ja mit der Kommandozeilen-Version.

LG

Radiohoerer

LG

Radiohoerer

 
Radiohoerer
205 Posts
wrote on 14.12.11 at 18:31
Link to this post
Also, ich kann schon mal Erfolg vermelden, was das Muxen mit MP4Box anbelangt.

Die Kommandozeile dafür lautet:

MP4Box.exe -brand mp42 -add [if] [of].m4a

wobei [if] = Input-File und [of] = Output-File.

Hab's probiert mit 'ner anderen GUI-Version (YAMB, etwas veraltet, von 2009), und das Programm hat mir o. g. Kommandozeile dafür ausgespuckt (im Log-File).

Bitte nicht falsch verstehen, Alex! Die GUI-Version hab' ich nur zum Testen genommen, weil - wie ich ja vorher schon mal geschrieben hab' - kein Freund von Kommandozeilen bin.

BTW: Das Kommandozeilen-Utility findest Du nicht auf der Hersteller-Seite GPAC (dort nur ein Komplett-Paket), sondern z. B. auf www.videohelp.com

So, jetzt nur noch das Taggen mit AtomicParsley.

LG

Radiohoerer

LG

Radiohoerer

 
alex
2538 Posts
wrote on 14.12.11 at 18:56
Link to this post
Scheint zu funktionieren mit AtomicParsley. Konnte testweise den Titel setzen, man muss bei MP4Box.exe allerdings das "–brand mp42" weglassen. Denke nicht, dass das problematisch ist..
LG/Best regards, Alex

"Journalism is printing what someone else does not want printed. Everything else is public relations."
- George Orwell

D1734FA178BF7D5AE50CB1AD54442494
 
Radiohoerer
205 Posts
wrote on 14.12.11 at 19:17
Link to this post
Das hört sich doch schon mal gut an:-).

LG

Radiohoerer

 
Radiohoerer
205 Posts
wrote on 14.12.11 at 19:52 last edited by Radiohoerer on 14.12.11 at 19:56
Link to this post
Ach, Mist!! Jetzt hab' ich doch glatt noch ein klitzekleines Problem übersehen:

Was ist eigentlich mit den Radiosendern, die im aacPlus-Format senden??

Da müsste dann eigentlich beim Muxen noch irgendwo in der Befehlszeile der SBR-Switch eingebaut werden. Aber wie unterscheidet man das am besten? Und kommt jeder Player damit zurecht, wenn man das weg lässt, bzw. einbaut??

Ich hab' das nämlich nur mit 'nem normalen Stream (128 kBit/s, 48 kHz) probiert. SBR kommt aber nur für Bitraten ab 96 kBit/s und kleiner in Frage (aacPlus = HE-AAC v1 = AAC + SBR).

LG

Radiohoerer

LG

Radiohoerer

 
alex
2538 Posts
wrote on 14.12.11 at 21:05
Link to this post
Hmm, da habe ich nicht wirklich dran gedacht. Schauen wir mal, ich probiere vielleicht auch mal etwas rum.
LG/Best regards, Alex

"Journalism is printing what someone else does not want printed. Everything else is public relations."
- George Orwell

D1734FA178BF7D5AE50CB1AD54442494