มีวิธีอ่านแท็ก mp3 ของไฟล์จากเปลือกหรือไม่? อย่างเช่น:
mp3tags MyFile.mp3 author
ควรเอาท์พุทของผู้แต่งแท็กของไฟล์ mp3
มีวิธีอ่านแท็ก mp3 ของไฟล์จากเปลือกหรือไม่? อย่างเช่น:
mp3tags MyFile.mp3 author
ควรเอาท์พุทของผู้แต่งแท็กของไฟล์ mp3
คำตอบ:
นอกจากนี้คุณยังสามารถใช้ซึ่งเป็นส่วนหนึ่งของffprobe
ffmpeg
sudo apt-get install ffmpeg
ffprobe file.mp3
หากคุณไม่ต้องการข้อมูลอื่น ๆ เช่นความยาวแทร็กและอื่น ๆ คุณสามารถรวมเอาท์พุทกับ grep:
ffprobe file.mp3 2>&1 | grep -A90 'Metadata:'
หรือเพื่อให้ได้ผู้เขียนเท่านั้น:
ffprobe -loglevel error -show_entries format_tags=artist -of default=noprint_wrappers=1:nokey=1 file.mp3
คุณสามารถเลือกแท็กอื่น ๆ format_tags=title,album
โดยแยกด้วยเครื่องหมายจุลภาคเช่น
ฉันต้องการค้นหาคำสำคัญในไฟล์ MP3 ทั้งหมดในโฟลเดอร์ โฟลเดอร์มีไฟล์ 486 ไฟล์ดังนั้นจึงเป็นเรื่องน่าสนใจที่จะทราบว่าโซลูชันใดที่กล่าวถึงที่นี่เร็วที่สุด นี่คือลูปที่ฉันใช้:
# sudo apt-get install ffmpeg lltag eyed3 mp3info id3v2 libimage-exiftool-perl libid3-tools id3tool
keyword='fill_me_in'
getTitleFF() { ffprobe "$1" 2>&1 | sed -E -n 's/^ *title *: (.*)/\1/p'; }
getTitleLL() { lltag --show-tags title "$1" | sed -nE 's/^ TITLE=(.*)/\1/p'; }
getTitleEyed() { eyeD3 2>&1 "$1" | sed -n 's|\x1b\[[0-9;]*mtitle[^:]*: ||p'; }
getTitleInfo() { mp3info -p %t "$1"; }
getTitleId3() { id3v2 -l "$1" | sed -nE 's/^(TIT2 \([^)]*\)|Title *): (.*)/\2/p'; }
getTitleExif() { exiftool -title -b "$1"; }
getTitleId3i() { id3info "$1" | sed -nE 's/^=== TIT2 \([^)]*\): //p'; }
getTitleTool() { id3tool "$1" | sed -n 's|^Song Title:\t||p'; }
for prog in FF LL Eyed Info Id3 Exif Id3i Tool; do
echo "=== getTitle${prog} ==="
time \
for file in *.mp3; do
if "getTitle${prog}" "$file" | grep -q "$keyword"; then
echo "$file"
fi
done
done
หมายเหตุ:
lltag
และmp3info
ไม่พบชื่อเพราะไฟล์ที่ฉันใช้มีแท็ก ID3v2 ดูความคิดเห็นโดย @ s-prasanth: วิธีอ่านแท็ก mp3 ในเชลล์?eyeD3
เป็นปัญหาในการใช้โดยทางโปรแกรมเนื่องจากใช้รหัสสี (ตัวหนา)eyeD3
และid3v2
(แต่สำหรับแท็ก ID3 v1 เท่านั้น) คืนชื่อและศิลปินในบรรทัดเดียวกันซึ่งจะทำให้สิ่งต่าง ๆ ยุ่งยากขึ้น ดังนั้นgetTitleEyed
และบางครั้งก็getTitleId3
ส่งคืนทั้งชื่อและศิลปินดังนั้นโปรดอย่าคัดลอกวางฟังก์ชั่นเหล่านั้นgetTitleId3 จะทำงานกับแท็ก ID3 v2 เท่านั้นเนื่องจากid3v2
มีรูปแบบที่แตกต่างกันสำหรับแท็ก ID3v1- และแท็ก ID3v2 เช่น
Title : Artist:
เทียบกับ ID3v2:
TIT2 (Title/songname/content description):
เนื่องจากโปรแกรมเพียง 5 ตัวนี้eyeD3
พิมพ์คำเตือนสีแดงสำหรับไฟล์สองไฟล์:
Invalid mode/bitrate combination for layer II
No ID3 v1.x/v2.x tag found!
ดูเหมือนว่าทั้งสองมีไฟล์แท็ก ID3v1 เพราะทั้งสองไฟล์เป็นคนเดียวที่lltag
และmp3info
จะได้รับชื่อ ฉันสงสัยว่านี่เป็นข้อผิดพลาดหรือeyeD3
ไม่เนื่องจากไม่มีโปรแกรมอื่นที่กล่าวถึงที่นี่มีปัญหากับไฟล์เหล่านี้ ...
ผลลัพธ์ (เรียลไทม์):
Program | Version | Time / s
----------+------------+-----------
exiftool | 10.25 | 49.5 ± 0.5
lltag | 0.14.5 | 41 ± 1.0
ffprobe | 3.1.3-1+b3 | 33 ± 0.5
eyeD3 | 0.6.18 | 24 ± 0.5
id3info | 3.8.3 | 4.2 ± 0.1
id3v2 | 0.1.12 | 2.9 ± 0.1
id3tool | 1.2a | 1.7 ± 0.1
mp3info | 0.8.5a | 1.4 ± 0.1
ผู้ชนะที่นี่ตรงเวลาคือid3tool
(mp3info เร็วขึ้น แต่ไม่ทำงานกับ ID3 v2)
id3v2
ก็ค่อนข้างเร็ว แต่getTitleId3
ฟังก์ชั่นจะต้องมีการปรับเปลี่ยนเพื่อให้สามารถทำงานกับแท็ก ID3v1 ได้ซึ่งอาจช้าลงโดยปัจจัยที่ 2
id3info
ไว้ในการเปรียบเทียบของคุณได้ไหม
ffmpeg
มีข้อดีอีกอย่างคือมันทำงานกับaac
/ m4a
ไฟล์ เครื่องมืออื่น ๆ ดูเหมือนจะไม่ (หรือคุณรู้เป็นอย่างอื่น?) ฉันยังจะแนะนำการค้นหาของFORMAT
ส่วนเพื่อหลีกเลี่ยงกรณีที่กระแสยังมีtitle
ฯลฯffprobe -loglevel error -show_entries format -i "$1" 2>&1 | sed -E -n 's|^TAG:title=(.*)$|\1|p'
.:
exiftool
ffprobe
เครื่องมือพิเศษสำหรับงานนี้จะมาmetaflac --list
จากflac
แพ็คเกจ สำหรับ ogg exiftool
ยังใช้งานได้ แต่ยังมีvorbiscomment -l
จากvorbis-tools
แพคเกจ แปลกvorbiscomment
และmetaflac
ไม่สามารถแลกเปลี่ยนได้แม้ว่า FLAC และ OGG จะมีเมทาดาทาของ Vorbis coment หรือไม่?
ตกลงฉันพบโปรแกรมด้วยตัวเอง เรียกว่า mp3info และติดตั้งโดย
sudo apt-get install mp3info
ในการรับแท็ก mp3 เพียงไฟล์เดียวคุณต้องโทรออก
mp3info -p %a file.mp3
ซึ่งให้ศิลปินของไฟล์ % a หมายถึงว่าต้องการได้ศิลปินและมีคีย์อื่น ๆ สำหรับแท็กอื่น ๆ
mp3info
ยังไม่ได้รับการสนับสนุนโดย คุณอาจต้องการดูid3v2
- มันสามารถแก้ไข / เพิ่ม v2 และแสดง v1 และ v2 หากคุณไม่ชอบวิธีแสดงแท็กคุณสามารถเขียนสคริปต์ที่ทำงานid3v2
และประมวลผลเอาต์พุตได้อย่างเหมาะสม
-R
flag กับgrep
เพื่อรับผลลัพธ์ที่ระบุ
Only ID3 versions 1.0 and 1.1 are supported
แต่น่าเสียดายที่:
คุณสามารถใช้eyed3 ก่อนอื่นจากเทอร์มินัลให้ติดตั้ง:
sudo apt-get install eyed3
จากนั้นเรียกใช้:
eyeD3 song.mp3
รวมเข้ากับgrep
เพื่อรับแท็กเฉพาะในหนึ่งบรรทัด
eyeD3 song.mp3 | grep artist
(เพื่อตัดแท็ก mp3 ทั้งหมดดูที่นี่ )
eyeD3
ไม่ได้eyed3
eyeD3 --plugin display -p "%t% by %a%" *
ใช้ปลั๊กอินการแสดงผลไปยังแท็กเอาท์พุทในรูปแบบที่ต้องการ:
คุณสามารถลอง exiftool (อ่านและเขียนข้อมูลเมตาในไฟล์)
"ExifTool เป็นไลบรารี Perl ที่ไม่ขึ้นกับแพลตฟอร์มรวมถึงแอพพลิเคชั่นบรรทัดคำสั่งสำหรับการอ่านการเขียนและแก้ไขข้อมูลเมตาในไฟล์ที่หลากหลาย ExifTool รองรับรูปแบบข้อมูลเมตาหลายรูปแบบรวมถึง EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC โปรไฟล์, Photoshop IRB, FlashPix, AFCP และ ID3 เช่นเดียวกับผู้ผลิตกล้องดิจิตอลจำนวนมากโดย Canon, Casio, FLIR, FujiFilm, GE, HP, JVC / Victor, Kodak, ใบไม้, Minolta / Konica-Minolta, Motorola, Nikon, Nintendo, Olympus / Epson, Panasonic / Leica, Pentax / Asahi, Phase One, Reconyx, Ricoh, Samsung, Sanyo, Sigma / Foveon และ Sony " - ExifTool โดย Phil Harvey
นี่คือตัวอย่างของคำสั่ง:
exiftool test.mp3
ExifTool Version Number : 10.00
File Name : test.mp3
Directory : .
File Size : 8.2 MB
File Modification Date/Time : 2016:03:02 21:44:58+01:00
File Access Date/Time : 2016:04:06 21:34:01+02:00
File Inode Change Date/Time : 2016:03:02 21:45:36+01:00
File Permissions : rw-rw-r--
File Type : MP3
File Type Extension : mp3
MIME Type : audio/mpeg
MPEG Audio Version : 1
Audio Layer : 3
Sample Rate : 44100
Channel Mode : Stereo
MS Stereo : Off
Intensity Stereo : Off
Copyright Flag : False
Original Media : False
Emphasis : None
VBR Frames : 9544
VBR Bytes : 8467680
ID3 Size : 115419
Band : Tech N9ne Collabos
Album : Strangeulation (Deluxe Edition)
Composer : Tech N9ne Collabos
Genre : Rap & Hip-Hop
Copyright : 2014 Strange Music, Inc
Title : American Horror Story (feat. Ces Cru)
Artist : Tech N9ne Collabos
Track : 10
Year : 2014
Comment :
Lyrics :
Private : (Binary data 8192 bytes, use -b option to extract)
Picture MIME Type : image/jpeg
Picture Type : Front Cover
Picture Description :
Picture : (Binary data 104371 bytes, use -b option to extract)
Audio Bitrate : 272 kbps
Date/Time Original : 2014
Duration : 0:04:09 (approx)
ตรวจสอบlltag
ว่าคุณกำลังมองหาโซลูชันที่รองรับมากกว่า mp3 / ID3 หรือไม่
ติดตั้งด้วย:
sudo apt-get install lltag
เพื่อดูแท็กทั้งหมดที่มี: ( -S
สำหรับการแสดง)
lltag -S somefile.mp3
เพื่อดูแท็กบางอย่างกับมัน:
lltag --show-tags artist,album,title,number somefile.mp3
คุณสามารถเริ่มต้นด้วยscreencast นี้และการเริ่มต้นใช้คู่มือ
ติดตั้งอย่างใดอย่างหนึ่ง:
pip install beets # latest version
apt install beets # repo version
นอกจากนี้:
exiftool -v3 *.mp3
mid3v2
จาก ( python-mutagen
แพคเกจ) ( แทนid3v2
, การปรับปรุงครั้งล่าสุดคือเมื่อ 2013 )id3
- ตัวแก้ไขสำหรับแท็ก ID3 (ไม่เหมือนกับid3 นี้ )id3tool
- ตัวแก้ไขบรรทัดคำสั่งสำหรับแท็ก id3id3ren
- id3 tagger และ renamer