Warum schreibt FFMeg keine ID3-Tags?

Warum schreibt FFMeg keine ID3-Tags?

Ich verwende derzeit den folgenden Befehl, um eine Reihe von .oggDateien durchzuleitenffmpeg

for x in *.ogg; do ffmpeg -i "$x" -ab 320k -write_id3v2 1 "`basename "$x" .ogg`.mp3"; done

Es funktioniert und druckt die folgenden Informationen aus

Output #0, mp3, to '10 Ft. Ganja Plant_Bass Chalice_10_Bass Chalice.mp3':
  Metadata:
    TSSE            : Lavf57.83.100
    Stream #0:0: Audio: mp3 (libmp3lame), 44100 Hz, stereo, fltp, 320 kb/s
    Metadata:
      TITLE           : Bass Chalice
      ARTIST          : 10 Ft. Ganja Plant
      GENRE           : Reggae
      DATE            : 2005
      ALBUM           : Bass Chalice
      track           : 10
      encoder         : Lavc57.107.100 libmp3lame

Aber wenn ich die Dateien in iTunes lade, sind die ID3-Tags nicht vorhanden.

Ich habe versucht, es mit und ohne die -write_id3v2 1Option zu verwenden, aber es funktioniert immer noch nicht.

Was mache ich falsch?

Antwort1

In Ihrer Eingabe werden Metadaten nicht auf Datei-/Containerebene gespeichert (Ogg-Metadatenscheint ein bisschen chaotisch), aber auf Stream-Ebene, innerhalb des 1. Streams (alsVorbis-Kommentar).

In Ihrem Ausgabeformat werden MP3-Metadaten (ID3-Tags)niemalspro Stream, sondern nur pro Datei. Obwohl ffmpeg alle Metadaten anzeigt, die es für den Audiostream kopiert hat, kann es nichts davon in einer MP3-Datei speichern. (Beachten Sie, wie der eine Frametutspeichern, TSSE, wird auf Dateiebene angezeigt.)

Verwenden Sie die -map_metadata 0:s:0, um das Ogg/Vorbis-Layout korrekt in MP3 zu übersetzen. Wie in derHandbuchseite:

   -map_metadata[:metadata_spec_out] infile[:metadata_spec_in]
   (output,per-metadata)

       [...]

       For example to copy metadata from the first stream of the input file to
       global metadata of the output file:

               ffmpeg -i in.ogg -map_metadata 0:s:0 out.mp3

       To do the reverse, i.e. copy global metadata to all audio streams:

               ffmpeg -i in.mkv -map_metadata:s:a 0:g out.mkv

(Beachten Sie, dass von ffmpeg nicht erkannte Felder ID3-Frames zugeordnet werden TXXX, die iTunes vermutlich gar nicht anzeigt, foobar2000 jedoch schon.)

verwandte Informationen