Ich verwende ffmpeg, um nur den Audiostream aus einer Videodatei zu extrahieren:
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
Dies erzeugt eine saubere Audiodatei, jedoch ohne Metadaten.
Zum Hinzufügen von Metadaten verfügt ffmpeg über eine Befehlszeilenoption:
ffmpeg -i video.mp4 -vn -acodec copy -metadata title="My Title" audio.aac
Dies wird ohne Fehler ausgeführt, aber wenn die Ausgabedatei mit ffprobe überprüft wird, enthält sie überhaupt keine Metadaten-Tags.
Wenn der Ausgabecontainer in mp4 geändert wird, können die Metadaten festgelegt und in der Ausgabedatei angezeigt werden:
ffmpeg -i video.mp4 -vn -acodec copy -metadata title="My Title" audio.mp4
Hier ist das interessante Stück; Wenn ich Banshee verwende, um die Metadaten einer vorhandenen .aac-Datei zu bearbeiten, und ffmpeg verwende, um die Datei auf die gleiche Weise zu verarbeiten, werden die ursprünglichen Metadaten erfolgreich in die neue .aac-Datei kopiert.
ffmpeg -i metadata.aac -vn -acodec copy audio.aac
Versuche, die Metadaten zu ändern, haben jedoch keine Auswirkung:
ffmpeg -i metadata.aac -vn -acodec copy -metadata title="My Title" audio.aac
Der .aac-Container kann also anscheinend Metadaten enthalten, und ffmpeg kann sie von der Eingabe zur Ausgabe kopieren, kann sie jedoch nicht ändern, wenn der Kopiercodec verwendet wird.
Kennt jemand eine Möglichkeit, mit ffmpeg die Metadaten in einem AAC-Container zu ändern, ohne sie neu zu codieren?
Gibt es alternativ ein anderes allgemeines Tool, mit dem ich die Metadaten festlegen könnte, nachdem die Datei verarbeitet wurde?
Vielen Dank. Chris.
MP4Box (Teil des "gpac" -Pakets) umhüllt AAC-Dateien mit MP4-Containern, ohne die Originaldaten zu ändern. Metadaten können dann mit nahezu jeder Tagging-Software hinzugefügt werden:
quelle