ভর .ফ্ল্যাক ->। এমপি 3 ট্রান্সকোডিং: আইডি 3 ট্যাগ তথ্য সংরক্ষণ করে এমন শেল স্ক্রিপ্ট কীভাবে লিখবেন?


9

সাম্প্রতিক সপ্তাহগুলিতে আমি .ফ্ল্যাক ->। এমপি 3 ট্রান্সকোডিংয়ের কাছে মোটামুটি 'হ্যান্ডস অন' পন্থা থেকে চলে এসেছি, যা এখন অনেক বেশি 'সেট এন্ড ভুলে'।

প্রথম পদক্ষেপটি ছিল জিইউআই এর সামনের প্রান্তটি (একটি এলএএমই প্লাগ-ইন সহ অডাসিটি) ব্যবহার করা এবং পরিবর্তে আমি এখানে বর্ণিত পদ্ধতিটি ব্যবহার করব ।

দ্বিতীয় পদক্ষেপটি একটি বাশ শেল স্ক্রিপ্টটি সন্ধান করা ছিল যা সেই কমান্ড লুপটিকে পুনরাবৃত্তভাবে কাজ করতে বলত, একটি সহজ পদক্ষেপে .flac ফাইল সম্বলিত অনেক সাব-ডাইরেক্টরিগুলির সাথে ডিরেক্টরিগুলি ট্রান্সকোড করার অনুমতি দেয়। এই উত্তরটি একজন ব্যবহারকারী জিজ্ঞাসাবাঙ্কু ডট কম এ সরবরাহ করেছিলেন।

এখন আমি কীভাবে জিনিসগুলিকে আরও পরিমার্জন করবেন তা শিখতে ইচ্ছুক যাতে ID3 ট্যাগ তথ্য সংরক্ষণ করা যায়। উপরের স্ট্রিপ আইডি 3 ট্যাগের ডেটাগুলির সাথে যুক্ত পদ্ধতিগুলি, সর্বাধিক ন্যূনতম (অর্থাত্ কেবল শিরোনামের ক্ষেত্রটি রয়ে গেছে) রেখে।

কেউ আমাকে কীভাবে এমন শেল স্ক্রিপ্ট লিখতে শেখাতে পারেন?


শেল স্ক্রিপ্টটি এভাবে আপডেট করা হয়েছে:

#!/bin/bash
file="$1"
flac -cd "$file" | lame --preset fast extreme - "${file%.flac}.mp3"
id3cp "$file" "${file%.flac}.mp3"

এরকম find . -name '*.flac' -exec ~/bin/flac2mp3 '{}' \;~ / ডেস্কটপ ইন / স্ট্যাক নিম্নলিখিত আউটপুট দেয়:

01 - Amon Tobin - Chomp Samba.flac: done         
LAME 3.98.4 64bits (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 19383 Hz - 19916 Hz
Encoding <stdin> to ./01 - Amon Tobin - Chomp Samba.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=0)
Parsing ./01 - Amon Tobin - Chomp Samba.flac: done.  Copying to ./01 - Amon Tobin - Chomp Samba.mp3: done

id3info আসল .ফ্লেক এবং ফলাফলের জন্য। এমপি 3 যথাক্রমে দেয়:

*** Tag information for 01 - Amon Tobin - Chomp Samba.flac

(অর্থাত্ কিছুই নয়);

*** Tag information for 01 - Amon Tobin - Chomp Samba.mp3
*** mp3 info
MPEG1/layer III
Bitrate: 128KBps
Frequency: 44KHz

.ফ্ল্যাকটিতে অবশ্যই ট্যাগ সম্পর্কিত তথ্য রয়েছে। আমি সহজ TAG খোলার মাধ্যমে এটি যাচাই করতে পারি। ইজি TAG এটি এমপি 3 এর জন্য 'এফএলএসি ভারবিস ট্যাগ' তবে 'আইডি 3 ট্যাগ' হিসাবে উল্লেখ করে। এটা কি সমস্যা?


আপনি ব্যবহার চেষ্টা করেছেন ffmpeg?
হ্যালো 71

না আমি নেই। সত্যই সত্য হিসাবে সিএলআই এর আগে কখনও এটি ব্যবহার করেন নি। কেউ আমাকে এই পার্ল স্ক্রিপ্ট সম্পর্কে বলেছিলেন । আমি আগামীকাল চেষ্টা করব এবং এখনই দেরি হওয়ায় আবার রিপোর্ট করব।
বোহহজ

উত্তর:


7
#!/bin/sh

file="$1"
outfile=${file%.flac}.mp3

eval $(metaflac --export-tags-to - "$file" | sed "s/=\(.*\)/='\1'/")

flac -cd "$file" | lame --preset fast extreme \
        --add-id3v2 --tt "$TITLE" --ta "$ARTIST" --tl "$ALBUM" \
        --ty "$DATE" --tn "$TRACKNUMBER" --tg "$GENRE" \
        - "$outfile"

ধন্যবাদ কাম্বুস! যে কৌশলটি অনেক কিছুই করে। আমি যে ট্যাগগুলি চেয়েছি সেগুলির বেশিরভাগই এখন সেখানে রয়েছে, পোস্ট-ট্রান্সকোড: শিরোনাম, অ্যালবাম, শিল্পী, বছর, ট্র্যাক নম্বর। সিডি ক্ষেত্র (১/১, ১/২, ইত্যাদি) এটিকে জুড়ে দেয়নি এবং 'ট্র্যাক নম্বর অফ ' এর জন্যও ক্ষেত্রটি নেই । তবে এটি আমাকে সত্যিই বিরক্ত করে না। মজার বিষয় হল আমি এই স্ক্রিপ্টটি 'ট্রিপ হপ' সঙ্গীত সহ একটি ডিরেক্টরিতে চেষ্টা করেছি। ট্যাগগুলিকে কৌশলে রাখা হয়েছিল তবে স্ক্রিপ্টটি জেনারকে 'ট্রিপ হপ' থেকে 'ট্রিপ-হপ' এ পরিবর্তন করে। সুতরাং আমি অনুমান করি যে এটি সেখানে পরিচিত জেনারগুলির একটি ডাটাবেসের উপর নির্ভর করে। আপনার ইনপুট জন্য আবারও অনেক ধন্যবাদ!
Boehj

@ প্রোডোজেন্ট: আমি আনন্দিত যে আমি সাহায্য করতে পারি! আপনি "मेटाফ্ল্যাক - এক্সপোর্ট-ট্যাগ-টু - ফাইল" এর সাথে অন্য ট্যাগগুলি ম্যানুয়ালি পরীক্ষা করতে পারেন এবং সেগুলি ITLE টাইটেল এবং অন্যান্য হিসাবে একইভাবে ব্যবহার করতে পারেন, তবে সমস্যাটি তাদের জন্য আইডি 3 এএফআইকে তেমন কোনও সমতুল্য ক্ষেত্র নেই। হতে পারে আপনি এগুলি মন্তব্য ট্যাগে রাখতে পারেন। হ্যাঁ, জেনারগুলির একটি পূর্বনির্ধারিত তালিকা রয়েছে: লিঙ্ক
কাম্বুস

হাই কাম্বুস হ্যাঁ আমি এখানে সমস্যার একটি অংশ মনে করি যে ID3 ট্যাগ ডেটার জন্য কোনও পরিষ্কার 'স্ট্যান্ডার্ড' নেই। কমেন্ট ট্যাগটি খেলোয়াড় থেকে প্লেয়ারের (বা মোটেও নয়) খুব আলাদাভাবে ব্যাখ্যা করা হয়। আপনার স্ক্রিপ্ট দুর্দান্ত। আবার ধন্যবাদ.
Boehj

1

এমপি 3 এমপি 3 থেকে এমপি এনকোড ফ্ল্যাক করতে কীভাবে mp3fs ব্যবহার করবেন

ফ্ল্যাক ফাইলগুলিকে এমপি 3 তে রূপান্তর করতে কোনও প্রোগ্রাম ব্যবহার করার পরিবর্তে, আপনি এমপি 3 এফএস ব্যবহার করতে পারেন ভার্চুয়াল এমপি 3, এবং এমন একটি প্রোগ্রাম যা অনুলিপি কাজের সারি করতে পারে। এটি আমার জন্য দুর্দান্তভাবে কাজ করে works

Mp3fs এবং আল্ট্রাসোকিয়ারটি ডাউনলোড এবং ইনস্টল করুন:

sudo apt-get install mp3fs ultracopier

আপনি যে চালাতে চান প্রতিটি এমপি 3 এস এর জন্য একজোড়া ফ্ল্যাক এবং এমপি 3 ডিরেক্টরি তৈরি করুন। আমার একটি ডুয়াল কোর সিপিইউ আছে তাই আমি দুটি চালাই। আপনার ফ্ল্যাক ফাইলগুলি যে পার্টিশনে রয়েছে সেই ফ্ল্যাশ ডিরেক্টরিগুলি যদি আপনি রাখেন তবে আপনি সেগুলি দ্রুত সরিয়ে নিতে পারবেন। এই বিভাগটিকে আমার সিস্টেমে "স্টোরেজ" বলা হয়।

cd /media/Storage
mkdir mp3fs mp3fs/flac_1 mp3fs/mp3_1 mp3fs/flac_2 mp3fs/mp3_2

আপনি কমান্ড লাইন থেকে ডিরেক্টরিগুলি যোগ করে বা এগুলি যুক্ত করে মাউন্ট করতে পারেন /etc/fstab। আপনি মাউন্ট সময়ে ভার্চুয়াল এমপি 3 এর বিটরেট এবং এনকোডিং অ্যালগরিদমটিও কনফিগার করতে পারেন। আমি 320 কেবিপিএসের একটি ধ্রুব বিটরেট সহ এমপি 3 এর চাই, এবং খোঁড়া এটি সম্ভবত এটি সেরা এমপি 3 প্রস্তুত করতে প্রয়োজনীয় সময় নিতে পারে।

কমান্ডলাইনে:

mp3fs -b 320 -oquality=0 /media/Storage/mp3fs/flac_1 /media/Storage/mp3fs/mp3_1 -o allow_other,ro
mp3fs -b 320 -oquality=0 /media/Storage/mp3fs/flac_2 /media/Storage/mp3fs/mp3_2 -o allow_other,ro

যদি ফিউজ অভিযোগ করে তবে লাইক দিন

fusermount: /etc/fuse.conf খুলতে ব্যর্থ হয়েছে: অনুমতি অস্বীকার করা
fusermount: বিকল্প 'এর অনুমতি কেবলমাত্র' ব্যবহারকারী_নীল_দেহ 'ইত্যাদি যদি / etc / fuse.conf এ সেট করা থাকে

তারপরে user_allow_otherবিকল্পটি কোনওরকম করুন /etc/fuse.confএবং / বা এটিকে পঠনযোগ্য করে তুলুন

sudo chmod 644 /etc/fuse.conf

বা থেকে /etc/fstab:

mp3fs#/media/Storage/mp3fs/flac_1 /media/Storage/mp3fs/mp3_1 fuse user,ro,allow_other,bitrate=320,quality=0 0 0
mp3fs#/media/Storage/mp3fs/flac_2 /media/Storage/mp3fs/mp3_2 fuse user,ro,allow_other,bitrate=320,quality=0 0 0

ডিরেক্টরিগুলি যুক্ত করার পরে /etc/fstab, আপনি এগুলি ব্যবহার করে মাউন্ট করতে পারেন

sudo mount -a

সম্পন্ন! আল্ট্রাসোকিয়ার শুরু করুন। এটি আপনার জিনোম প্যানেলে একটি সূচক আইকন রাখবে বা এটি আপনি যা ব্যবহার করেন তা। এটি ক্লিক করুন, অনুলিপি নির্বাচন করুন। আমি দুটি কোর ব্যবহার করার জন্য এটি দু'বার করেছিলাম। কিছু ফ্ল্যাক flac_1 এ সরানোর জন্য আপনার ফাইল ব্রাউজারটি ব্যবহার করুন। এমপি 3 ডিরেক্টরিতে নেভিগেট করুন এবং অনুলিপি করার জন্য আপনার এমপি 3 এর একটি আল্ট্রাসোকিয়ার উইন্ডোতে টানুন copy আলট্রাোকপিয়ার ফাইলগুলির গন্তব্য জানতে চাইবে। আপনার এখন একটি মূল ব্যাক্তি এমপি 3 তে ফ্ল্যাশের একটি ব্যাচ এনকোডিংয়ে ব্যস্ত।

অন্যান্য কোরটি ব্যবহার করতে, ফ্ল্যাক ফাইলগুলি ফ্ল্যাক_2 এ সরান, এবং এমপি 3 এর এমপি 3 থেকে দ্বিতীয় আল্ট্রাসোকিয়ার উইন্ডোতে টানুন।

আপডেট: আল্ট্রাসোকিয়ারের পরিবর্তে এখন আমি মিনিকোপিয়ার ব্যবহার করছি, এটি ব্যবহার করা একটু সহজ। নীচে মন্তব্য দেখুন।


Mp3fs এবং ফিউজের সাম্প্রতিক সংস্করণগুলির সাথে ডিরেক্টরি তালিকা অন্তর্ভুক্ত করার সাথে একটি বাগ রয়েছে বলে মনে হচ্ছে: উত্স
ওপিডিয়ান

@ ওফিডিয়ান: আকর্ষণীয়। আমি বিভিন্ন বিতরণ ব্যবহার করে কিছু মেশিনে কিছু পরীক্ষা চালিয়েছি। আমি কোনও ত্রুটি ছাড়াই তাদের প্রতি এক মিনিটের মধ্যে চালিয়েছিলাম। আমি যে এমপি 3 এফএস সংস্করণটি ব্যবহার করছি তা হ'ল 0.30। আমি কার্নেলগুলি ২.৩.৩৮, ২.৩.৩৯, এবং 3.0.০.০, ইচ্ছামতো সংস্করণ ২.৮.৪ এবং ২.৮.। ব্যবহার করেছি। বাগ রিপোর্টগুলিতে উল্লিখিত লিবিফিউজটি 2.8.5। এটি ফিউজটিকে শেষ করার পক্ষে যথেষ্ট নয় অপরাধী, তবে, আপনি যদি ২.৮.৫ ব্যবহার করার সময় সমস্যার মধ্যে চলে যান তবে এটির অন্য সংস্করণটি চেষ্টা করা উপযুক্ত। আপনি সম্ভবত mp3fs চেষ্টা করেছেন? কোন কার্নেলের উপর এবং কোন bণগ্রন্থের সাথে? আপনি কোন সমস্যা সম্মুখীন?
আরজান ড্রিম্যান

আল্ট্রাসোকিয়ার পরিবর্তে আমি এখন মিনিকোপিয়ার ব্যবহার করছি , এটি ব্যবহার করা একটু সহজ। এটি একটি জাভা অ্যাপ্লিকেশন, এটির কোনও ইনস্টলেশন প্রয়োজন তবে জেআরই দরকার নেই। এটিতে একটি ঝুড়ি আইকন এবং একটি বাক্স আইকন রয়েছে। আপনি ফাইল ম্যানেজার থেকে এক বা একাধিক উত্সকে টুকরো আইকনটিতে টেনে আনতে পারেন, একটি গন্তব্য ডিরেক্টরি বক্স আইকনে, এবং কাতারে একটি অনুলিপি কাজ যুক্ত করতে আপনাকে যা করতে হবে তা কেবল। MiniCopier ব্যর্থ আইটেমগুলির জন্য একটি পৃথক ট্যাব আছে। মিনিকপিয়ার আমার সিস্টেমে আলট্রোকপিয়ারের চেয়ে কম সিপিইউ চক্র ব্যবহার করে, 1% বনাম 3%। এটি কেবলমাত্র 10 ঘন্টার কাতারে 12 মিনিট সাশ্রয় করতে পারে ;-)
আরজান ড্রিম্যান

আপনি যদি শেল ভিত্তিক অনুলিপি সারিটি চান তবে আমি সুপারসারে একটি সমাধান পেয়েছি । সমন্বয় ছাড়াই, আপনি এটির সাথে 2 টি সারি চালাতে পারবেন না এবং এটি ত্রুটিগুলি দিয়ে কী করবে তা আমি নিশ্চিত নই।
আরজান ড্রিম্যান

0

id3cpযেহেতু এফএলসি আইডি 3 ব্যবহার করে না; পরিবর্তে এটি ভারবিস ট্যাগ ব্যবহার করে।

avconvরূপান্তর মাধ্যমে ট্যাগ বজায় করার একটি বিকল্প আছে। এটি এক ধরণের চঞ্চল, কোডেকের সংমিশ্রণের উপর নির্ভর করে এর মান , তবে এটি আপনার ক্ষেত্রে এটির মতো কাজ করে (সংস্করণ 9.16-6):

avconv -i in.flac -map_metadata 0:g:0 out.mp3

এই সমস্ত এফএলসি ফাইলগুলি ফোল্ডারে প্রয়োগ করা (পুনরাবৃত্তভাবে) এর মতোই সহজ: (ব্যবহার করে bash)

for f in */**/*.flac; do
  avconv -i "${f}" -map_metadata 0:g:0 "`echo "${f}" | sed -e s/flac$/mp3/`";
done

নোট যে avconvস্বয়ংক্রিয়ভাবে খোঁড়া ব্যবহার করে; গুণমান এবং কী না নিয়ন্ত্রণ করার জন্য আরও বিকল্প রয়েছে। man avconvবিস্তারিত পরীক্ষা করুন Check

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.