Befehlszeilentool zum Schreiben von flac, ogg vorbis und mp3 id3v2 Metadaten?

8113
burzum

Gibt es ein Befehlszeilentool, das alle drei Formate / Container schreiben kann? Ich habe bereits gesucht, konnte aber nichts finden, was den Job erledigt.

Bisher verwende ich vorbiscomment, metaflac und id3tool und möchte sie nach Möglichkeit durch ein einziges Tool ersetzen.

Wenn es kein Werkzeug gibt, das alle schreiben kann, gibt es zumindest einen Vorschlag, id3tool durch etwas zu ersetzen, das mindestens id3v2 (v2.4) -Tags schreiben kann?

Ich suche nicht nach einem Tagger, sondern nach einem Werkzeug, mit dem ich Metadaten mit einem Skript in die verschiedenen Audiodateien schreiben kann. Mein derzeitiger Status ist, dass ich ein Skript habe, das die drei Tools (vorbiscomment, metaflac und id3tool) verwendet, aber dann wurde mir klar, dass id3tool keine id3v2-Tags schreiben kann. Ich erstelle automatisch diese 3 Audioformate aus einem Wav-Master und brauche sie in der Lage sein, das Schreiben der Metadaten in diese Dateien zu automatisieren.

6

4 Antworten auf die Frage

5
burzum

Überraschenderweise fand ich nach einem Monat eine gute Lösung: Ffmpeg.

ffmpeg -i out.mp3 -metadata title="The Title You Want" -metadata artist="" -metadata album="Name of the Album" -c:a copy out2.mp3 

Den vollständigen Artikel finden Sie hier http://jonhall.info/how_to/create_id3_tags_using_ffmpeg

Es arbeitet sogar mit UTF8-Daten und Fremdzeichen.

Sie sollten auch eine Option wie "-c: a copy" verwenden, bevor die Ausgabedatei angegeben wird, sodass ffmpeg den Stream kopiert, anstatt ihn neu zu codieren. Andernfalls verlieren Sie an Qualität. realgeek vor 7 Jahren 0
0
ephemient

omptagger bietet eine einheitliche Schnittstelle zum Markieren aller drei angeforderten Dateiformate.

Ich suche keinen Tagger. Verfeinern meiner Fragen, aber danke, dass Sie mir klar gemacht haben, dass es Tagger gibt, die ich nicht möchte. ;) burzum vor 12 Jahren 0
@burzum Ich bin mir nicht sicher, ob ich den Unterschied verstehe? Sie können einzelne Tags mit "omptagger -s name = value file" schreiben. ephemient vor 12 Jahren 0
Ok, die Notizen ließen mich denken, dass dies nicht möglich ist, ich muss das morgen überprüfen, es ist spät hier und ich habe Linux nur in einer VM, die läuft. Wenn es ein Windows-Binary geben würde, wäre es perfekt, weil es mein primäres Entwicklungs-Betriebssystem ist. Ich werde dieses Tool überprüfen und Ihre Antwort als korrekt kennzeichnen, wenn es für mich funktioniert. burzum vor 12 Jahren 0
0
rkv

Das funktioniert für mich:

http://id3v2.sourceforge.net/

Es ist in den Debian-Repos verfügbar, falls dies relevant ist.

- Warten Sie, ist dies ein Beispiel für einen "Tagger", nach dem Sie nicht suchen? Ich fürchte, ich verstehe deine Frage dann nicht ganz ..

Dort gibt es Programme, "Taggers", die einfach Dateien basierend auf den angegebenen Daten umbenennen oder den Dateinamen einfach als Zeichenfolge lesen und die Daten von dort in die Metadaten der Datei schreiben. Meine Dateien sind einfach UUIDs ohne Erweiterungen und leere Metadaten. Ich brauche etwas, das nur Metadaten in die Dateien schreibt. Ich werde auch dieses Tool überprüfen. burzum vor 12 Jahren 0
Wie bei id3tag, das mit id3lib geliefert wird, scheint es jedoch, dass die meisten Nicht-ASCII-Zeichen durcheinander geraten. user495470 vor 11 Jahren 1
0
user243282

libsndfile werde das alles tun ffmpeg und viel eleganter.

Wenn Sie beispielsweise ausführen $ sndfile-metadata-set --help, können Sie die Verwendung sehen:

 sndfile-metadata-set [options] <file> sndfile-metadata-set [options] <input file> <output file>  Where an option is made up of a pair of a field to set (one of the 'bext' or metadata fields below) and a string. Fields are as follows :  --bext-description Set the 'bext' description. --bext-originator Set the 'bext' originator. --bext-orig-ref Set the 'bext' originator reference. --bext-umid Set the 'bext' UMID. --bext-orig-date Set the 'bext' origination date. --bext-orig-time Set the 'bext' origination time. --bext-coding-hist Set the 'bext' coding history. --bext-time-raf Set the 'bext' Time ref.  --str-comment Set the metadata comment. --str-title Set the metadata title. --str-copyright Set the metadata copyright. --str-artist Set the metadata artist. --str-date Set the metadata date. --str-album Set the metadata album. --str-license Set the metadata license.  There are also the following arguments which do not take a parameter :  --bext-auto-time-date Set the 'bext' time and date to current time/date. --bext-auto-time Set the 'bext' time to current time. --bext-auto-date Set the 'bext' date to current date. --str-auto-date Set the metadata date to current date. 

Die meisten der oben genannten Vorgänge können direkt in einer vorhandenen Datei ausgeführt werden. Wenn keine Operation ausgeführt werden kann, wird die Anwendung mit einer entsprechenden Fehlermeldung beendet.

Libsndfile-1.0.25 verwenden.

sndfile-metadata-set unterstützt offenbar nicht das Schreiben von Flac- oder Ogg-Dateien: "Fehler: Eingabedatei '01_The_Fox.ogg' kann nicht geöffnet werden: Fehler: Dieses Dateiformat unterstützt den Lese- / Schreibmodus nicht." slinkp vor 10 Jahren 1