Program do zrzucania struktury znaczników ID3

12

Czy istnieje program, który zrzuciłby pełną strukturę tagów ID3v2?

Nie tylko nazwy i wartości ramek, ale pełne informacje, takie jak kolejność ramek, kodowanie tekstu, kodowanie opisu (dla ramek TXXX), obecność braku synchronizacji, obecność wielu znaczników ...

Tło: Jestem raczej ciekawy, dlaczego niektóre pliki są niekompatybilne z niektórymi programami. Na przykład niektóre znaczniki ID3v2.4 napisane przez foobar2000 nie są odczytywane przez Winampa; edycja za pomocą Mutagen naprawia je, ale edycja za pomocą foobar2000 ponownie się psuje. To nie jest wersja ani kodowanie danych - większość innych tagów UTF-16 v2.4 działa dobrze ... Jeśli jednak użyję foobar2000 do konwersji tagów na v2.3, a następnie z powrotem do v2.4, zaczną działać poprawnie w Winampie - ten ostatni bit po prostu nie ma żadnego sensu.

Edycja: Linux lub / i Windows.

użytkownik1686
źródło

Odpowiedzi:

4

Pliki mp3diags w systemie Windows powinny zarówno sprawdzać znane błędy, jak i sprawdzać nieprzetworzone tagi - zawiera listę znanych błędów, ale można także patrzeć na surowe tagi. Nie mogę znaleźć sposobu na zrzucenie go do pliku tekstowego. Dzięki ograniczonej liczbie tagów jest dobry do kontroli i do masowego mocowania tagów.

wprowadź opis zdjęcia tutaj

Journeyman Geek
źródło
To wygląda bardzo interesująco. Dzięki. ( Nadal nie pokazuje, które kodowania są używane przez ramki znaczników, ale w przeciwnym razie zapewnia więcej niż wystarczająco szczegółów).
user1686
Wygląda na to, że MP3Diags ma również swoje wady (wszelkie modyfikacje tagów ID3 obniżają je na przykład do wersji 2.3.0), chociaż działa dobrze do naprawy innych rodzajów strumieni.
user1686
10

exiftool może dostarczyć wiele informacji:

exiftool -v3 -l NAZWA PLIKU.mp3

eug
źródło
exiftool jest w stanie zrzucić surowe informacje, w tym ID3v4! Naprawdę super!
haimg
2

Beaglebuddy biblioteki MP3 robi co prosicie. Obsługuje tagi ID3v2.3, a obsługa tagów ID3v2.4 zostanie zakończona do maja 2014 r. Pokazuje nieprzetworzone bajty, a także przeanalizowane wartości. Podałem przykładowe dane wyjściowe.

ID3v2.4 frame: SONG_TITLE
frame header
   bytes..................: 0x54 0x49 0x54 0x32 0x00 0x00 0x00 0x0A 0x00 0x00 
   frame type.............: TIT2: SONG_TITLE - title/songname/content description
   frame header size......: 10
   frame body size........: 10
   tag  alter preservation: false
   file alter preservation: false
   read only..............: false
   compression............: false
   encryption.............: false
   grouping identity......: false
   uncompressed size......: 0
   encryption method......: 0
   unsynchronized.........: false
   data length indicator..: 0
   group Id...............: 0
frame body: text information
   bytes...: 10 bytes
             0x03 0x54 0x65 0x73 0x74 0x20 0x4E 0x61 0x6D 0x65 
   encoding: 3 - UTF-8
   text....: Test Name
Joneric Wennerstrom
źródło
1

Może być konieczne napisanie własnego narzędzia. TagLib i id3lib mogą być przydatne w tym przypadku.

Na szczególną uwagę zasługuje lista projektów na stronie głównej id3lib, która zawiera kilka narzędzi, które mogą rozwiązać twój problem bez żadnego programowania.

harrymc
źródło
Wcześniej wypróbowałem narzędzie id3info , które jest częścią id3lib, i nawet nie rozpoznało plików z tagami ID3v2.4, tylko v2.3. Nie jestem jednak pewien, czy jest to spowodowane przez narzędzie czy samą bibliotekę. Przyjrzę się obu, ale takie biblioteki zazwyczaj ukrywają strukturę znaczników (kodowanie, kolejność itp.) Przed deweloperem, odsłaniając tylko pary znaczników i wartości.
user1686
1

Biblioteka Mutagen Python zawiera narzędzie o nazwie mid3v2, które zapewnia bardzo czysty i dokładny zrzut / eksport wartości odpowiednich do wykonania przed / po różnicowaniu porównań.

Jeśli nigdy nie konfigurowałeś skryptu w Pythonie, być może warto byłoby dowiedzieć się o exiftools, ale uważam, że mid3v2 jest o wiele łatwiejszy.

metamp3 jest przeznaczony do tego, ale IMO jest nieco nieaktualne, pokazuje niektóre dość powszechne de facto standardowe pola (czytaj: iTunes) jako „niezdefiniowane”.

ID3RawTagViewer i ID3TagBackup są również dość starymi narzędziami, ale mogą być również pomocne.

MP3Tags ma wtyczkę „globalnego eksportu”, ale w niektórych przypadkach „ukrywa” prawdziwe nazwy ramek za pomocą wewnętrznych nazw pól „mapowanych”, dzięki czemu są one takie same w różnych formatach (np. FLAC i MP3).

Nie na temat, ale Ex Falso jest kolejnym członkiem rodziny Mutagen / Quod Libet, który robi to bardzo dobrze dla FLAC, ale z jakiegoś powodu „ukrywa” wszystkie niestandardowe tagi TXXX inne niż QL dla ID3.

BTW, wiele osób używa swojego ulubionego edytora HEX. . .

HansBKK
źródło
Użyłem Mutagenu wcześniej, sprawdzę metamp3 i ID3RawTagViewer. Inne narzędzia pokazują tylko abstrakcyjne tagi „name = value”, więc nie są odpowiednie do tego celu.
user1686,
0

Nie jestem bynajmniej ekspertem od id3, jednak ostatnio pracuję nad biblioteką. Nie określiłeś systemu operacyjnego. Prawie wyłącznie używam Linuksa. Niektóre narzędzia, z których korzystałem, które mogą być dla ciebie przydatne, to id3info (CLI) i kid3-qt (qt KDE id3). To ostatnie jest interesujące. Nie jestem pewien, czy dostarczy ci wszystko, czego potrzebujesz, ale zawiera wiele informacji, które mogą przynajmniej dostarczyć ci niektórych rzeczy, których szukasz. Jeśli szukasz bardziej przenośnego narzędzia, które może zapewnić ci wszystko, czego szukasz, to narzędzie python o nazwie mid3v2. Właśnie to sprawdziłem i ma argument --list-raw, który wydaje się całkiem przydatny!

zamaskowany 1
źródło
Dzięki, ale ani id3info, ani kid3-qt robią to, co chcę, pokazują tylko sformatowane wartości. W rzeczywistości id3info w ogóle nie rozpoznaje tagów ID3v2.4. mid3v2 to tylko interfejs do Mutagena, który jest jednym z najlepszych, jeśli chodzi o obsługę tagów, ale ani narzędzie, ani sama biblioteka Mutagen nie dostarczy mi wystarczających informacji na temat surowej struktury - choć do tej pory wygląda całkiem dobrze.
user1686,