Linux altında ID3 etiketlerini listelemek için komut satırı aracı


24

MP3 dosyalarının ID3 etiketlerini yöneten bir komut dosyası yazmak istiyorum. Etiketleri okuyan ve makinede okunabilen bir biçimde bir çıktıyla veren bir araca ihtiyacım var. Örneğin, yalnızca başlığın çıkmasını istiyorsam, başlığın çıktısını alır, başka bir şey yapmaz. id3Veya benzeri farklı araçlar denedim eyeD3, ancak yalnızca etiketleri yazmak veya bunları insan tarafından okunabilir bir biçimde çıkarmak için kullanılabilirler. Tabii ki bu çıktıyı filtreleyebildim sed, ama gereksiz yere bana karmaşık geliyor.

Yanıtlar:


30

exiftoolKomutu libimage-exiftool-perl, mp3'ler de dahil olmak üzere multimedya dosyalarından meta verileri okumanıza (ve yazmanıza) izin veren paketten kullanabilirsiniz . Anahtar-değer, json, xml ve kullanıcı tanımlı formatlar dahil olmak üzere çeşitli formatlara çıktı verebilir. Yalnızca belirtilen etiketleri listelemeyi seçebilirsiniz.

% exiftool -json 09\ -\ \(Tom\ Waits\)\ -\ Walk\ Away.mp3
[{
  "SourceFile": "09 - (Tom Waits) - Walk Away.mp3",
  "ExifToolVersion": 7.82,
  "FileName": "09 - (Tom Waits) - Walk Away.mp3",
  "Directory": ".",
  "FileSize": "2.5 MB",
  "FileModifyDate": "2008:07:12 13:58:52+01:00",
  "FileType": "MP3",
  "MIMEType": "audio/mpeg",
  "MPEGAudioVersion": 1,
  "AudioLayer": 3,
  "AudioBitrate": 128000,
  "SampleRate": 44100,
  "ChannelMode": "Stereo",
  "MSStereo": "Off",
  "IntensityStereo": "Off",
  "Emphasis": "None",
  "ID3Size": 1678,
  "Title": "Walk Away",
  "Album": "Dead Man Walking",
  "Genre": "OST",
  "Track": 9,
  "Artist": "Tom Waits",
  "Year": "",
  "Comment": "",
  "Duration": "02:42 (approx)"
}]

+1 "sudo port install p5.16-image-exiftool" - MacPorts ile bir mac'e girmenizi sağlıyor ... Sadece "exiftool-5.16 / Ciltler / MMED / müzik / Esperanza \ Spalding / Esperanza / 02. \ You \ Know.mp3 "ve tüm meta verilerin tükürülmesini sağlayın! Teşekkürler!
mimoralea

+1 Ben sadece FLAC ses için aynı ihtiyacı vardı. Bir cazibe gibi çalıştı. Programın adı, olanaklarının kapsamı dahilinde bir ipucu vermiyor ...

9

id3infoiçinde id3lib makine ayrıştırma ölü basit bir biçimde ID3 etiketlerini çıkarır.


1
Man sayfası aşağıdakileri söylüyor: Yalnızca ID3 sürüm 1.0 ve 1.1 desteklenmektedir.
Calimo

5

Python için Mutagen etiketleme kütüphanesine bakacağım , temel komut dosyası komut satırı aracı olan mid3v2 . Birlikte mid3v2 'in çıkış esas olarak insan tarafından okunabilir olan, --list-rawseçenek tek başına uygun olabilir:

$ mid3v2 --list-raw 09_Walk\ Away.mp3
Raw IDv2 tag info for 09_Walk Away.mp3:
TDRC(encoding=3, text=[u'1996'])
TIT2(encoding=3, text=[u'Walk Away'])
TRCK(encoding=3, text=[u'9'])
TPE1(encoding=3, text=[u'Tom Waits'])
TALB(encoding=3, text=[u'Dead Man Walking'])
TCON(encoding=3, text=[u'Soundtrack'])

Bu aracın yalnızca ID3 etiketlerini listelediğini , MP3 dosyasının exiftool gibi ek niteliklerini listelemediğini unutmayın . Ancak yalnızca belirli bir etiket istiyorsanız , tagname için basit bir grep sizin için şunu kapacaktır:

$ mid3v2 --list-raw 09_Walk\ Away.mp3 | grep TIT2
TIT2(encoding=3, text=[u'Walk Away'])

Eğer mid3v2 sizin için yeterli değilse ve Python ile rahatsanız , Mutagen kütüphanesi ile arayüz oluşturmak ve etiketleri doğrudan okumak veya değiştirmek için kendi aracınızı yazabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.