Metadaten mit FFmpeg laden / laden (WMA in MP3)

4428
Jan Suvak

Ich muss WMA-Metadaten in MP3-ID3-Tags konvertieren. FFmpeg sollte in der Lage sein, sie in eine Datei zu sichern und sie mithilfe von implementierten Mappern in eine andere Datei zu laden. Ich kann jedoch keine Syntax für die Verwendung finden:

http://ffmpeg.org/ffmpeg.html#Metadata

Ich kann Dateien nicht direkt mit FFmpeg konvertieren, da dies bei 1% der Dateien fehlschlägt, was für Tausende von Dateien von entscheidender Bedeutung ist. Einige Fehler:

ff asf bad header 0 at:264993 [asf @ 0046DA60] ff asf skip 2252 (unknown stream) [asf @ 0046DA60] ff asf bad header 0 at:267254 [mp3 @ 0003DA60] max_analyze_duration 5000000 reached at 5015510 Truncating packet of size 1024 to 563 [mp3 @ 0171b0c0] Header missing get_buffer() failed Error while decoding stream #0:0 

Ich konnte sie mit Mplayer in WAV konvertieren und dann mit LAME von WAV in MP3 umwandeln, dabei aber Metadaten verlieren.

Ich habe mich noch nicht für die Problemumgehung entschieden, aber ich werde mplayer nicht verwenden und bei ffmpeg bleiben. Ich habe die Welle der Dateien in Gewagtheit analysiert / angezeigt und es scheint, dass ich mit 3 Arten von Fehlern zu tun habe:

  1. get_buffer () fehlgeschlagen Fehler beim Decodieren von Stream # 0: 0 [98% der Fehler]:
    • scheint durch "abgeschnittenes Ausblenden" der Dateiendung oder einen fehlenden Frame verursacht zu sein
    • Es ist nicht hörbar und die MP3-Datei scheint in Ordnung zu sein
  2. ff asf überspringen, fehlerhafter Header, wird abgeschnitten. [nur 2% der Fehler]:
    • Die Datei ist auf irgendeine Weise kaputt, nicht immer hörbar
    • Nur wenige von ihnen weisen eine Mikrolücke von Knackgeräuschen auf
  3. max_analyze_duration erreicht, Header fehlt [nur Warnungen]:
    • sehr selten, möglicherweise verursacht durch falsch endende oder große Kopfzeile (mit Foto usw.)
    • Ergebnisdatei ist gut zu hören

Der mplayer verwendet den ffmpeg und scheint die Fehler einfach zu ignorieren. Ich werde den get_buffer () -Fehler wahrscheinlich ignorieren, während ich die anderen Fehler habe.

4
Welches Betriebssystem? Was ist der genaue FFmpeg-Befehl, den Sie verwenden? Bitte kopieren Sie die komplette Konsolenausgabe. slhck vor 12 Jahren 0
Bitte konzentrieren Sie sich nicht auf die aufgeführten Fehler. Ich muss das Befehlszeilenbeispiel für Folgendes kennen: FFmpeg kann Metadaten aus Mediendateien in eine einfache UTF-8-codierte INI-artige Textdatei speichern und sie dann mit dem Metadaten-Muxer / Demuxer wieder laden. Beispiel: Windows 7 x64: ffmpeg-git-1d0ae92-win32-shared ffmpeg-git-1d0ae92-win64-shared ffmpeg-git-1d0ae92-win32-static ffmpeg-git-1d0ae92-win64-static Die x64-Version von ffmpeg ist an einigen Stellen fehlgeschlagen Dateien überhaupt: ffmpeg.exe funktioniert nicht mehr im Windows-Dialog ... Also kann ich ffmpeg nicht zum Konvertieren verwenden, ich möchte es nur zum Übertragen der Tags verwenden (wma zu id3-Tags). Jan Suvak vor 12 Jahren 0
Ich kenne den Befehl nicht von oben, aber warum möchten Sie das anfängliche Problem nicht beheben? :) Ich gehe davon aus, dass dies eine aktuelle Version (~ Dezember) von FFmpeg ist? slhck vor 12 Jahren 0
Ich habe auch einige alte Versionen von 30.11.2010 04:07:03 ausprobiert ... Was gut funktioniert, ist der mplayer zu wav und dann zu mp3 lahmen ... Ich bestehe nicht auf ffmpeg, ich kam gerade an: http: / /www.mp3tag.de mit der Kommandozeilenschnittstelle werde ich später mehr erfahren ... Jan Suvak vor 12 Jahren 0
Übrigens, http://www.mediacoderhq.com/ macht dasselbe: mplayer und lahm. Sie ordnen Metadaten einfach selbst zu. Ich kann MS .NET für den Job verwenden, aber ich hoffe trotzdem, dass es bereits Freeware gibt, die dafür getestet wurde ... Jan Suvak vor 12 Jahren 0
Ich denke, ich muss Tags von ffprobe als Json bekommen (wenn ich mich gut erinnere und Json unterstützt wird) und dann einige auswählen und Params für Lame setzen. Ich bekomme eine bessere Kontrolle über Tags wie BPM, Track / Album Gain usw. Jan Suvak vor 12 Jahren 0
Klingt nach einem guten Plan - nicht sicher, ob ich Ihnen hier wirklich helfen kann. Sie können auch [mediainfo] (http://mediainfo.sourceforge.net/de) besuchen. Es verfügt über eine Befehlszeilenschnittstelle. slhck vor 12 Jahren 0
Das mp3-Tag kann auf andere Weise nützlich sein - Sie können es per Tag in Ordner ablegen und dies zum Wiederherstellen verwenden Journeyman Geek vor 12 Jahren 0

1 Antwort auf die Frage

3
iphonedroid

Sie können Metadaten mit folgendem Befehl sichern:

ffmpeg -i in.mov -f ffmetadata metadata.txt 

Sie können Metadaten mit etwas importieren (habe dies noch nie versucht):

ffmpeg -i in.mov -i metadata.txt -map_metadata 1 -c:a copy -id3v2_version 3 

Quelle: http://jonhall.info/how_to/create_id3_tags_using_ffmpeg

Sie müssen wahrscheinlich `-f ffmetadata -i metadata.txt` verwenden evilsoup vor 11 Jahren 0