Einzelnen Beitrag anzeigen

tommie-lie
(Gast)

n/a Beiträge
 
#11

Re: Daten in Mp3s verstecken (ohne IDTags) ??

  Alt 24. Mär 2005, 10:55
Du kannst Daten prinzipiell zwischen jedem MPEG-Frame speichern, solange die Daten kein MPEG-Synchronisationsmuster haben. Seit ID4v2.3 (odeer erst .4?) kannst du die Daten zum Bleistift einfach vorne in die Datei schreiben, da ein ID3-Tag theoretisch überall im Stream liegen kann. Allerdings ist nicht garantiert, daß alle MP3-Player den Tag auch wirklich überall im Stream suchen, also sollte man sich nicht drauf verlassen. Eine weitere Möglichkeit wäre, die Daten nach dem ID3v2-Tag zu speichern, die Länge des Tags steht im ID3v2-Header (http://www.id3.org), die liest du aus überspringst den Header und schreibst dort deine Daten hin (vorher natürlich zusehen, daß die folgenden Daten nicht überschrieben werden). Die dritte möglichkeit wäre, die Daten vor dem ID3v1-Tag zu speichern, dazu musst du erst überprüfen ob ein ID3v1-Tag vorhanden ist und wenn ja, die Daten davor speichern, wenn nicht, einfach anhängen. Das könnte aber zu Problemen mit einigen APE-Tags führen, die ebenfalls am Ende liegen (können?).
Das sicherste wäre meiner Meinung nach, die Daten hinter dem ID3v2-Tag zu speichern, falls einer existiert. Noch besser wäre es natürlich, sie im ID3v2-Tag zu speichern, der hat dafür benutzerdefinierte Frames. In allen Fällen musst du die Daten aber asynchron zum MPEG-Stream speichern, ich kenne gerade das Muster nicht auswendig, aber schau mal in der ID3v2-Spezifikation nach dem unsychronization scheme, dort ist glaube ich sogar ein Pseudoalgorithmus.
  Mit Zitat antworten Zitat