শেলের এমপি 3 ট্যাগ কীভাবে পড়বেন?


53

শেল থেকে কোনও ফাইলের এমপি 3 ট্যাগ পড়ার উপায় কি আছে? এর মতো কিছু: mp3tags MyFile.mp3 authorএকটি এমপি 3-ফাইলের লেখক-ট্যাগটি আউটপুট করা উচিত।

উত্তর:


47

ffprobeযার অংশ এটি আপনি ব্যবহার করতে পারেন ffmpeg

sudo apt-get install ffmpeg
ffprobe file.mp3

যদি আপনি অন্যান্য তথ্য যেমন ট্র্যাক দৈর্ঘ্য এবং না চান তবে আপনি আউটপুটটি গ্রেপের সাথে একত্রিত করতে পারেন:

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


আমি একটি ফোল্ডারে সমস্ত এমপি 3 ফাইলগুলিতে একটি কীওয়ার্ড অনুসন্ধান করতে চেয়েছিলাম। ফোল্ডারে 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শিরোনামটি খুঁজে পাবে না, কারণ আমি যে ফাইলগুলি ব্যবহার করছিলাম সেগুলিতে আইডি 3v2 ট্যাগ ছিল, @ এস-প্রসন্তের মন্তব্য দেখুন: শেলের এমপি 3 ট্যাগ কীভাবে পড়বেন?
  • eyeD3 প্রোগ্রামযুক্তভাবে ব্যবহার করতে সমস্যাযুক্ত কারণ এটি রঙ কোড (সাহস) ব্যবহার করে।
  • eyeD3এবং এছাড়াও id3v2(তবে কেবল আইডি 3 ভি 1 ট্যাগের জন্য) শিরোনাম এবং একই লাইনে শিল্পী ফিরিয়ে দেয় যা জিনিসগুলিকে আরও জটিল করে তোলে; অতএব getTitleEyedএবং কখনও কখনও getTitleId3শিরোনাম এবং শিল্পী উভয়ই ফিরিয়ে দিন, সুতরাং দয়া করে এই ফাংশনগুলি অনুলিপি করুন না।
  • getTitleId3 কেবল ID3 v2 ট্যাগগুলির জন্য কাজ করবে, কারণ id3v2ID3v1- এবং 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(এমপি 3 ইনফো দ্রুত, তবে আইডি 3 ভি 2 দিয়ে কাজ করে না)। id3v2এটিও বেশ দ্রুত, তবে getTitleId3আইডি 3 ভি 1-ট্যাগগুলির সাথেও কাজ করতে ফাংশনটির সামঞ্জস্যতা প্রয়োজন যা এটি ফ্যাক্টর 2 দ্বারা সবচেয়ে খারাপভাবে হ্রাস করতে পারে।


1
কি দারুন. আমি বছরের পর বছর ধরে এক্সিফ্টোল পাওয়ার ব্যবহারকারী হয়েছি এবং এটি সাউন্ড ফাইলগুলির জন্য মেটাডেটাও পড়তে পারে এমন আমার ধারণা ছিল না! Ffprobe (বা আমার ক্ষেত্রে avprobe) সমাধানটিও দুর্দান্ত, ধন্যবাদ। এটাই সেরা উত্তর!
মার্লার

1
আপনাকে বিশাল কাজের জন্য ধন্যবাদ! এগুলির কয়েকটি সরঞ্জাম ফেডোরায় আমার প্যাকেজ ম্যানেজারের থেকে পাওয়া যায় না। আপনি কি id3infoআপনার তুলনা অন্তর্ভুক্ত করতে পারেন ?
ভাইটেনিস বিভেইনিস

ffmpegঅন্য সুবিধা আছে: এটা সঙ্গে কাজ করে aac/ m4aফাইল। অন্যান্য সরঞ্জামগুলি মনে হয় না (বা অন্যথায় আপনি কি জানেন?) FORMATকোনও স্ট্রিমেরও titleইত্যাদির ঘটনা এড়াতে আমি এর বিভাগটি অনুসন্ধান করার পরামর্শ দেব ffprobe -loglevel error -show_entries format -i "$1" 2>&1 | sed -E -n 's|^TAG:title=(.*)$|\1|p'.:
জোনাথন ওয়াই।

@JonathanY। আপনি ঠিক বলেছেন, এমএসিএ-কনটেইনার ফাইলটিতে সঞ্চিত এএসি এনকোড অডিওতে নন-আইডি 3 মেটাডেটা রয়েছে এবং সেহেতু আমার উত্তরের নির্বাচনের বাইরে কেবল এফএফএমপিগ এবং অতিরিক্ত এক্সিফটোল দ্বারা পঠন করা যায়।
mxMLnkn

এফএলসি-তে আরও একটি মেটাডেটা ফর্ম্যাট এমপি 4 / এম 4 এ-এর চেয়ে কম ভের্বিস কমেন্ট মেটাডেটা থেকে আলাদা, তবে ট্যাগগুলি এর সাথে exiftoolবা পড়তেও পারে ffprobe। এই কাজের জন্য আরও বিশেষ সরঞ্জাম প্যাকেজ metaflac --listথেকে হবে flac। OGG জন্য exiftoolকাজ করে, কিন্তু এছাড়াও vorbiscomment -lথেকে vorbis-toolsপ্যাকেজ। Weirdly vorbiscommentএবং metaflacআন্তঃপরিবর্তন করা যাবে না, যদিও এফএলএসি এবং OGG উভয় Vorbis মন্তব্য নেই মেটাডেটা আছে?
mxMLnkn

26

ঠিক আছে, আমি নিজেই একটি প্রোগ্রাম পেয়েছি। এটিকে এমপি 3 ইনফো বলা হয় এবং এটি ইনস্টল করে

sudo apt-get install mp3info

কোনও ফাইল থেকে একক এমপি 3 ট্যাগ পেতে, কল করতে হবে

mp3info -p %a file.mp3

যা ফাইলটির শিল্পীকে দেয়। % A এর অর্থ হল যে একজন শিল্পী পেতে চান এবং অন্যান্য ট্যাগগুলির জন্য কিছু অন্যান্য কী রয়েছে।


20
অতিরিক্ত তথ্য: সেখানে থেকে mp3 ট্যাগ id3v1, id3v2.2 (অপ্রচলিত), id3v2.3, id3v2.4 4 বিভিন্ন মান হয় en.wikipedia.org/wiki/ID3 । একটি ফাইলে ভি 1 এবং / অথবা ভি 2 ট্যাগ থাকতে পারে (হ্যাঁ ভি 1 এবং ভি 2 সহাবস্থান করতে পারে তবে v2.x এবং v2.y সহাবস্থান করতে পারে না)। আমি বিশ্বাস করি v2.3 সবচেয়ে বেশি ব্যবহৃত হয়। Ibiblio.org/mp3info অনুসারে (টডো দেখুন) ভি 2 ট্যাগগুলি সমর্থন করে না mp3info। আপনি এটি দেখতে চাইতে পারেন id3v2- এটি ভি 2 সম্পাদনা / যুক্ত করতে এবং ভি 1 এবং ভি 2 প্রদর্শন করতে পারে। আপনি ট্যাগগুলি প্রদর্শন করার পদ্ধতিটি পছন্দ না করলে আপনি কোনও স্ক্রিপ্ট লিখতে পারেন id3v2যা আউটপুটটিকে যথাযথভাবে চালিত করে এবং প্রক্রিয়া করতে পারে।
এস প্রশান্ত

একটি নির্দিষ্ট ট্যাগ প্রদর্শন করার জন্য কীভাবে এটি তৈরি করা যায় @ স্প্রসান্থ উদাহরণস্বরূপ: কেবলমাত্র একটি এমপি 3 ফাইলের শিল্পী?
গৌতম গোপালকৃষ্ণন

পছন্দ করেছেন ধন্যবাদ আমি নির্দিষ্ট আউটপুট পেতে -Rপতাকা ব্যবহার করছি grep
গৌতম গোপালকৃষ্ণন

আপনি যখন% টি দিয়ে ট্র্যাক শিরোনাম মুদ্রণ করেন এটি ক্লিপযুক্ত মুদ্রণ করে।
তুলিনাস কর্ডোভা

1
দুর্ভাগ্যবশত: Only ID3 versions 1.0 and 1.1 are supported
সিমলেভ করুন

11

আপনি eyed3 ব্যবহার করতে পারেন । প্রথমে টার্মিনাল থেকে ইনস্টল করুন:

sudo apt-get install eyed3

তারপরে, চালান:

eyeD3 song.mp3

grepএক লাইনে নির্দিষ্ট ট্যাগগুলি পাওয়ার সাথে এটি একত্রিত করুন ।

eyeD3 song.mp3 | grep artist

(সমস্ত এমপি 3 ট্যাগ ফালা করতে, এখানে দেখুন )


1
আমি এটি ব্যবহার করে দেখেছি, এবং কমান্ডটি হ'ল আইডি 3, বড় হাতের ডি সহ;) রয়েছে। তবে আমি আর একটি সরঞ্জাম পেয়েছি, যা আমার প্রয়োজনগুলির সাথে আরও ভাল মেলে, যার নাম এমপি 3 ইনফো। এটি গ্রেপ ব্যবহারের প্রয়োজন ছাড়াই এমপি 3 ট্যাগগুলি আউটপুট দিতে পারে, যা আমি পছন্দ করি।
red_trumpet

আইডি 3 আমার পক্ষে আরও ভাল কাজ করে কারণ এটি আইডি 3 ভি 2 নিয়ে কাজ করে তবে @red_trumpet ঠিক আছে, কমান্ডটি হওয়া উচিত eyeD3নয়eyed3
bmaupin

পছন্দসই বিন্যাসে আউটপুট ট্যাগ প্রদর্শন প্লাগইন ব্যবহার করুন: eyeD3 --plugin display -p "%t% by %a%" *
সিমলেভ

এটি সমস্ত ট্যাগ প্রদর্শন করে না, উদাহরণস্বরূপ কোনও আইএসআরসি নেই। নীচে উল্লিখিত প্রোগ্রাম id3v2 এছাড়াও আইএসআরসি দেয়, কিন্তু কোনও সময়কাল নেই ...
মিনিউইভস

8

আমি id3v2 ব্যবহার করতে পছন্দ করি, কেবল টাইপ করুন id3v2 -l somefile.mp3। আপনি আরও নির্দিষ্ট ব্যবহারের জন্য id3v2 ম্যান পৃষ্ঠাটি দেখতে পারেন page


এটি দুর্দান্ত এবং খুব ভালভাবে কাজ করে
jpo38

স্পষ্টতই সেরা উত্তর হওয়া উচিত, অন্য সমস্ত সরঞ্জামের কিছু বিতরণে নির্ভরতার সমস্যা রয়েছে।
সার্জিও

mid3v2পরিবর্তে ইউনিকোড সমর্থন না থাকার কারণে এখানে সুপারিশ করা হয়। এছাড়াও id3v2 সর্বশেষ আপডেট ছিল 2013
পাবলো এ

2

আপনি এক্সিফটোল চেষ্টা করতে পারেন (ফাইলগুলিতে মেটা তথ্য পড়ুন এবং লিখুন)।

"এক্সিফটুল একটি প্ল্যাটফর্ম-স্বতন্ত্র পার্ল লাইব্রেরি এবং বিভিন্ন ফাইলের বিভিন্ন ক্ষেত্রে মেটা তথ্য পড়ার জন্য, লেখার এবং সম্পাদনার জন্য একটি কমান্ড-লাইন অ্যাপ্লিকেশন Ex প্রোফাইল, ফটোশপ আইআরবি, ফ্ল্যাশপিক্স, এএফসিপি এবং আইডি 3, পাশাপাশি ক্যানন, ক্যাসিও, এফএলআইআর, ফুজিফিল্ম, জিই, এইচপি, জেভিসি / ভিক্টর, কোডাক, লিফ, মিনোল্টা / কনিকা-মিনোল্টা, মটোরোলা, নিকন, নিন্টেন্ডো, অলিম্পস / এপসন, প্যানাসোনিক / লাইকা, পেন্টাক্স / আসাহী, প্রথম পর্যায়, রিকনিএক্স, রিকোহ, স্যামসাং, সানিয়ো, সিগমা / ফোভন এবং সনি। " - ফিল হার্ভির এক্সিফটুল

কমান্ডের উদাহরণ এখানে দেওয়া হয়েছে:

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)

1

lltagআপনি যদি এমন কোনও সমাধান খুঁজছেন যা কেবল এমপি 3 / আইডি 3 এর চেয়ে বেশি সমর্থন করে কিনা তা পরীক্ষা করে দেখুন।

এটি দিয়ে এটি ইনস্টল করুন:

sudo apt-get install lltag

এর সাথে সমস্ত ট্যাগ দেখতে: ( -Sশো করার জন্য)

lltag -S somefile.mp3

এটির সাথে নির্দিষ্ট ট্যাগগুলি দেখতে:

lltag --show-tags artist,album,title,number somefile.mp3

0

beets

আপনার সাথে শুরু করতে পারেন এই স্ক্রীণকাস্ট এবং গেটিং স্টার্টেড নির্দেশিকা

ইনস্টল করুন:

pip install beets  # latest version
apt install beets  # repo version

এছাড়াও:

  • কেবল মেটাডেটা পড়তে: exiftool -v3 *.mp3
  • mid3v2( python-mutagenপ্যাকেজ) থেকে ( পরিবর্তেid3v2 , সর্বশেষ আপডেটটি ছিল 2013 এ!)
  • id3- আইডি 3 ট্যাগের সম্পাদক ( এই আইডি 3 এর মতো নয় )
  • id3tool - আইডি 3 ট্যাগের জন্য কমান্ড লাইন সম্পাদক
  • id3ren - আইডি 3 ট্যাগার এবং পুনর্নামকরণকারী
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.