Programa para despejar a estrutura de tags ID3

12

Existe um programa que despejaria a estrutura completa das tags ID3v2?

Não apenas os nomes e valores dos quadros, mas informações completas, como ordem dos quadros, codificação de texto, descrição (para quadros TXXX), presença de dessincronização, presença de várias tags ...

Antecedentes: Estou bastante curioso por que alguns arquivos são incompatíveis com alguns programas. Por exemplo, algumas tags ID3v2.4 escritas por foobar2000 não são lidas pelo Winamp; a edição com o Mutagen os corrige, mas a edição com foobar2000 é interrompida novamente. Não é a versão nem a codificação de dados - a maioria das outras tags UTF-16 da v2.4 funciona bem ... No entanto, se eu usar o foobar2000 para converter as tags na v2.3, e de volta à v2.4, elas começarão a funcionar bem no Winamp - este último bit simplesmente não faz qualquer sentido.

Editar: Linux ou / e Windows.

user1686
fonte

Respostas:

4

O mp3diags no Windows deve verificar se há erros conhecidos e permitir que você veja as tags brutas - ele lista erros conhecidos, mas você também pode ver as tags brutas. Não consigo encontrar uma maneira de despejá-lo em um arquivo de texto. Com um número limitado de tags, é bom para inspeção e correção em massa de tags.

insira a descrição da imagem aqui

Journeyman Geek
fonte
Isso parece muito interessante. Obrigado. (Ele ainda não mostra que codificações são usados por quadros tag, mas fornece mais do que suficiente detalhe o contrário.)
user1686
Parece que o MP3Diags também tem suas próprias desvantagens (quaisquer edições nas tags ID3 as rebaixam para a 2.3.0, por exemplo), embora funcione bem para corrigir outros tipos de fluxos.
user1686
10

O exiftool pode fornecer muitas informações:

exiftool -v3 -l FILENAME.mp3

eu G
fonte
O exiftool é realmente capaz de despejar informações brutas, incluindo ID3v4! Realmente fantástico!
haimg
2

A biblioteca de MP3 beaglebuddy faz o que você está pedindo. Ele suporta tags ID3v2.3, e o suporte para tags ID3v2.4 será concluído em maio de 2014. Ele mostra os bytes brutos e os valores analisados. Eu incluí alguns exemplos de saída.

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
fonte
1

Você pode precisar escrever sua própria ferramenta. TagLib e id3lib podem ser úteis nesse caso.

É importante notar a lista Projetos na página inicial do id3lib, que contém várias ferramentas que podem resolver seu problema sem nenhuma programação.

harrymc
fonte
Eu já havia experimentado a ferramenta id3info , que faz parte do id3lib, e ela nem reconheceu arquivos com tags ID3v2.4, apenas a v2.3. Porém, não tenho certeza se isso é causado pela ferramenta ou pela própria biblioteca. Vou dar uma olhada em ambos, mas essas bibliotecas geralmente tendem a ocultar a estrutura da tag (codificações, ordem, etc.) do desenvolvedor, expondo apenas pares de tag-value.
user1686
1

A biblioteca python da Mutagen inclui um utilitário chamado mid3v2 que fornece uma descarga / exportação muito limpa e completa dos valores adequados para realizar comparações antes / depois das diferenças.

Se você nunca configurou um script python, talvez exiftools valha a pena descobrir, mas acho o mid3v2 muito mais fácil.

O metamp3 foi projetado para isso, mas a IMO está um pouco desatualizada, mostra alguns campos padrão de fato bastante comuns (leia-se: iTunes) como "indefinidos".

ID3RawTagViewer e ID3TagBackup também são ferramentas bastante antigas, mas você também pode achar úteis.

O MP3Tags possui um plug-in de "exportação global", mas em alguns casos "oculta" os nomes de quadros verdadeiros usando seus nomes de campos "mapeados" internos, para que sejam os mesmos em diferentes formatos (por exemplo, FLAC e MP3).

Fora do tópico, mas Ex Falso é outro membro da família Mutagen / Quod Libet que faz isso muito bem com o FLAC, mas por algum motivo "oculta" todas as tags TXXX personalizadas não QL para ID3.

Entre muitas pessoas, basta usar seu editor HEX favorito. . .

HansBKK
fonte
Eu usei o Mutagen anteriormente, vou verificar o metamp3 e o ID3RawTagViewer. As outras ferramentas mostram apenas as tags abstratas "name = value", portanto não são adequadas para essa finalidade.
user1686
0

Não sou especialista em id3, no entanto, tenho trabalhado na minha biblioteca ultimamente. Você não especificou um sistema operacional. Eu quase exclusivamente uso Linux. Algumas ferramentas que estou usando, que podem ser úteis para você, são id3info (CLI) e kid3-qt (qt KDE id3). O último é interessante. Não tenho certeza se você obtém tudo o que precisa, mas mostra muitas informações que podem, pelo menos, obter algumas das coisas que você parece estar procurando. Se você estiver procurando por uma ferramenta mais portátil, o que talvez lhe traga tudo o que você procura é uma ferramenta python chamada mid3v2. Acabei de verificar e ele tem um argumento --list-raw, que parece ser bastante útil!

cloaked1
fonte
Obrigado, mas nem o id3info nem o kid3-qt fazem o que eu quero, eles apenas mostram valores formatados. De fato, o id3info não reconhece as tags ID3v2.4. O mid3v2 é apenas uma interface para o Mutagen, que é um dos melhores quando se trata de suporte a tags, mas ainda nem a ferramenta nem a própria biblioteca do Mutagen fornecerão informações suficientes sobre a estrutura bruta - embora pareça bastante boa até agora.
user1686