সমস্ত মেটাডেটা রেখে Ffmpeg দিয়ে .mplac .mp3 এ রূপান্তর করুন


89

কীভাবে আমি সমস্ত মেটাডেটা রেখে .flac .mp3 এ .fmpeg দিয়ে .mp3 রূপান্তর করতে পারি (এটি .flac ফাইলগুলিতে Vorbis মন্তব্যকে .mp3 এর ID3v2 মেটাডেটাতে রূপান্তর করছে)?


4
দয়া করে নোট করুন যে পরবর্তী সময়ের জন্য আপনার সুপার ব্যবহারকারীর কাছে ffmpegক্লাইম ব্যবহারের প্রশ্ন জিজ্ঞাসা করা উচিত । স্ট্যাক ওভারফ্লো কেবল প্রোগ্রামিং জড়িত প্রশ্নের জন্য। এছাড়াও, এফএলএসি আনুষ্ঠানিকভাবে কেবল ভারবিসের মন্তব্যে সমর্থন করে , তাই আমি ধরে নিয়েছি যে আপনি "রাখুন" পরিবর্তে আইডি 3 ভি 2 তে রূপান্তর করতে চান।
লগইন

ঠিক আছে, আমি আমার প্রশ্ন স্থির করেছি। আমি এখানে জিজ্ঞাসা করেছি কারণ আমি স্ট্যাকওভারফ্লোতে (যেমন এটি বা এটি ) এর মতো প্রশ্নগুলি দেখেছি এবং ধরে নিয়েছি যে আমার জ্ঞানটি ভাগ করে নেওয়া আকর্ষণীয় হতে পারে। এছাড়াও, আমি দেখতে পাচ্ছি যে এখানে একটি ffmpeg ট্যাগ রয়েছে , তবে আমার সমাধানটি এখানে কেন ভাগ করবেন না? ffmpeg প্রচুর প্রয়োগে অনেকগুলি বিকাশকারী ব্যবহার করে।
ভিটো

4
Ffmpeg ট্যাগ বলেন, "FFmpeg কমান্ড লাইন টুল ইন্টারেক্টিভ ব্যবহার সম্পর্কে প্রশ্নাবলি সুপার ব্যবহারকারী জিজ্ঞাসা করা উচিত।"। এটি কোনও বড় বিষয় নয়, তবে আমি কেবল এটি উল্লেখ করতে চেয়েছিলাম যেহেতু আমার মতে এখানে অনেকগুলি অফ-টপিক প্রশ্ন রয়েছে।
লগন

উত্তর:


156

নিম্নলিখিত কমান্ডটি। এমপি 3 (320 কেবিপিএস) এ উচ্চ মানের রাখে এবং .flac ফাইল থেকে মেটাডেটা ID3v2 ফর্ম্যাটে রূপান্তরিত হয়, যা। এমপি 3 ফাইলগুলিতে অন্তর্ভুক্ত করা যেতে পারে:

ffmpeg -i input.flac -ab 320k -map_metadata 0 -id3v2_version 3 output.mp3

4
এটি লক্ষণীয় যে "এফএফএমপিগ" এর "অ্যাভকনভ" দ্বারা প্রতিস্থাপনের প্রয়োজন হতে পারে।
শকবারবার্নার

6
FWIW ffmpeg3.2 নির্দিষ্টকরণের প্রয়োজন ছাড়াই স্বয়ংক্রিয়ভাবে FLAC থেকে ID3v2 এ মেটাডেটা -map_metadata 0 -id3v2_version 3অনুলিপি করে, যদিও এটি ID3v1 ট্যাগগুলিতে অনুলিপি করে না। আমি তার জন্য একটি পৃথক সরঞ্জাম ব্যবহার করি।
দাই


4
যদি বেশ কয়েকটি অংশ থাকে তবে এটি ফ্ল্যাককে বিভক্ত করবে?
আর্টিয়াম 16

4
@Artyom আপনি সম্ভবত থাকা উচিত সূত্র আপনার সঙ্গে বরাবর ফাইল FLAC যেখানে বিভক্ত পয়েন্ট চিহ্নিত করা হয়েছে। যদি তা হয় তবে আপনার ফাইলটি বিভক্ত করতে এবং অংশগুলিকে এমপি 3 এ রূপান্তর করতে আপনি shnsplit (কনসোল) বা ফ্ল্যাঙ্কন (জিইউআই) ব্যবহার করতে পারেন । আপনার যদি কেবল একটি একক ফ্ল্যাক থাকে তবে আপনি এটির জন্য একটি চুই লিখতে পারেন বা প্রতিটি গান কাটাতে ffmpeg -ss এবং -t বিকল্পগুলি ব্যবহার করতে পারেন।

58

উপরে নিখুঁত উত্তর। আমি এই কমান্ডের সাহায্যে আইটিউনসে একটি সাবট্রির সমস্ত এফএলসি ফাইল যুক্ত করতে এটি সন্ধানের সাথে একত্রে ব্যবহার করি

find . -name "*.flac" -exec ffmpeg -i {} -ab 160k -map_metadata 0 -id3v2_version 3 {}.mp3 \;

ফলাফলটি ফাইলগুলিকে স্বয়ংক্রিয়ভাবে আইটিউনেস যুক্ত করতে আইটিউনস আমদানি ডিরেক্টরিটি দিয়ে পান

find ~/Music/ -name "Automatically Add*"

ফলাফল যেমন

/Users/sir/Music//iTunes/iTunes Media/Automatically Add to iTunes.localized

তারপরে যেমন চালান

find . -name "*.mp3" -exec mv {} "/Users/sir/Music//iTunes/iTunes Media/Automatically Add to iTunes.localized/" \;

সমস্ত রূপান্তরিত ট্র্যাকগুলি স্বয়ংক্রিয়ভাবে আইটিউনে যুক্ত করতে।


4
" / ব্যবহারকারী / স্যার ", lmao।
হ্যারি সোভেনসন

উপাখ্যান: আমাদের সংস্থার সমস্ত ব্যবহারকারীর কাছে 3-5 টি অক্ষরের সংক্ষিপ্ত মানের তারা রয়েছে। খনিটি "সিরিয়াস", সংক্ষিপ্ত স্যার;)
ব্যবহারকারী 2707001

অপরিচিত বিকল্প 'নাম'।
মনস্টার এমএমআরপিজি

14

আপনি যদি কিছুটা জায়গা বাঁচাতে চান তবে হাইড্রোজেনড.ওয়ের সুপারিশটি ব্যবহার করে দেখুন :

খুব উচ্চ গুণমান: HiFi, বাড়ি, বা শান্ত শোনা, সেরা ফাইলের আকার সঙ্গে -V0 (~245 kbps), -V1 (~225 kbps), -V2 (~190 kbps)বা -V3 (~175 kbps)সুপারিশ করা হয়। এই ভিবিআর সেটিংস সাধারণত স্বচ্ছ ফলাফল উত্পন্ন করবে। এই প্রিসেটগুলির মধ্যে শ্রবণযোগ্য পার্থক্য থাকতে পারে তবে এটি বিরল।

সূত্র: http://wiki.hydrogenaud.io/index.php?title=LLAY

আপনি যদি ffmpeg এ এই বিকল্পটি ব্যবহার করতে চান তবে আপনার -q:a 0উপনামটি ব্যবহার করা উচিত ।

-qscale:a(বা উপনাম -q:a) সহ মান নিয়ন্ত্রণ করুন । মানগুলি এনকোডার নির্দিষ্ট থাকে, সুতরাং libmp3lame এর জন্য পরিসর 0-9 হয় যেখানে একটি নিম্ন মানের একটি উচ্চ মানের। 0-3 সাধারণত স্বচ্ছ ফলাফল উত্পাদন করে, 4 (ডিফল্ট) ধারণাগত স্বচ্ছতার কাছাকাছি হওয়া উচিত, এবং 6 একটি "গ্রহণযোগ্য" মানের উত্পাদন করে। বিকল্প -qscale:aম্যাপ করা হয় -Vস্বতন্ত্র খোঁড়া কম্যান্ড-লাইন ইন্টারফেস সরঞ্জামে বিকল্প।

সূত্র: https://trac.ffmpeg.org/wiki/Encode/MP3

আপনি যদি ID3v1 মেটাট্যাগগুলিও চান তবে আপনার -write_id3v1 1প্যারামিটারটি যুক্ত করা উচিত ।

সুতরাং আমার চূড়ান্ত আদেশ হ'ল:

ffmpeg.exe -y -i input.flac -codec:a libmp3lame -q:a 0 -map_metadata 0 -id3v2_version 3 -write_id3v1 1 output.mp3

8

আমি infile.flacফাইলটি এতে রূপান্তর করতে নিম্নলিখিত কমান্ডটি পরীক্ষা করছিলাম outfile.mp3:

ffmpeg  -i infile.flac  -q:a 0  outfile.mp3

উবুন্টু 16.04 অনুসারে, উপরের কমান্ডটি মেটাটাটা অনুলিপি করে (বেশিরভাগ? সমস্ত?) অনুলিপি করেছে।

-q:a 0ffmpegসর্বোচ্চ মানের ভিবিআর ব্যবহার করতে বলে ।

যাইহোক, ffmpegআমার অ্যালবাম শিল্প ট্রান্সকোডিং ছিল jpegথেকে png, যা কভার আর্ট আকার বেড়েছে।

Stream mapping:
  Stream #0:1 -> #0:0 (mjpeg (native) -> png (native))
  Stream #0:0 -> #0:1 (flac (native) -> mp3 (libmp3lame))

(আমি অনুমান করি যে উপরের রূপান্তর ধরণের ধরণের অর্থ কীভাবে ffmpegকাজ করে তা বোঝায় sense )

কিছু খনন করার পরে, আমি -c:v copyবিকল্পটি পেয়েছি , যা উল্লেখ করে যে ভিডিও স্ট্রিমটি ট্রান্সকোড না করে অনুলিপি করা উচিত। সম্পূর্ণ আদেশটি হ'ল:

ffmpeg  -i infile.flac  -c:v copy  -q:a 0  outfile.mp3

উপরের কমান্ডের ফলাফল:

Stream mapping:
  Stream #0:1 -> #0:0 (copy)
  Stream #0:0 -> #0:1 (flac (native) -> mp3 (libmp3lame))

3

পুনরাবৃত্তভাবে নেস্টেড ফোল্ডারে সমস্ত ফ্ল্যাক ফাইলগুলিকে এমপি 3 এ রূপান্তর করতে, আমি এই আদেশটি ব্যবহার করেছি:

find '~/Music/' -iname '*.flac' -exec bash -c 'D=$(dirname "{}"); B=$(basename "{}"); mkdir "$D/mp3/"; ffmpeg -i "{}" -ab 320k -map_metadata 0 -id3v2_version 3 -acodec libmp3lame "$D/mp3/${B%.*}.mp3"' \;

এটি ফ্ল্যাক ফাইলগুলির সাথে একটিতে "এমপি 3" নামে একটি ফোল্ডার তৈরি করবে এবং এমপি 3 ফোল্ডারের অভ্যন্তরে এটি পুরানো ফাইলের এক্সটেনশনটিকে নাম না রেখে 320 কেবিপিএস বিটরেটের সাথে সম্পর্কিত MP3 ফাইলগুলি সংরক্ষণ করবে।


3

সর্বাধিক মেটাডেটা রেখে একটি .flacফাইলকে .mp3একটি ডিরেক্টরিতে রূপান্তর করতে ওয়ান-লাইনার :

for file in *.flac; do ffmpeg -i $file -q:a 0 ${file:r}.mp3; done

(দ্রষ্টব্য: ${file:r}প্রদত্ত ফাইলপথের সম্প্রসারণ সরিয়ে দেয়)

ffmpeg: ফ্ল্যাক থেকে এমপি 3


শুধু $fileমত চলক উদ্ধৃতি "$file"
চাজি চাজ

:rএটি একটি zshসংশোধক বলে মনে হচ্ছে , যা এতে কাজ করে না bash। বাশে আপনি "${file:r}.mp3"সাথে প্রতিস্থাপন করতে পারে "${file%.flac}.mp3"
mivk

বাশ ব্যবহারে ফাইল থেকে কেবল ফাইলের নাম দেখাতে${file%.*}
Evhz

2

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

find . -name "*.flac" -exec ffmpeg -i {} -map_metadata 0 -acodec alac {}.m4a \;


অপরিচিত বিকল্প 'নাম'। যুক্তি তালিকার বিভাজনে ত্রুটি: বিকল্পটি পাওয়া যায় নি
MonsterMMORPG

পছন্দ করেছেন ফাইন্ড কমান্ড পরে। দ্য . বর্তমান ফোল্ডারে সন্ধানের জন্য অনুসন্ধানকে বলে, এবং -নেম ফাইলের নামের সাথে মিলে যাচাই করতে বলে।
ধীরাজ গুপ্ত

2

এই flac2mp3.sh স্ক্রিপ্টটি এফএলসিffmpeg ফাইলের একটি ফোল্ডার ট্রিকে এমপিথ্রি ফাইলের অন্য ফোল্ডারে ট্রিতে রূপান্তর করতে ব্যবহার করে। কভার আর্ট অন্তর্ভুক্ত করা হয়, যখন উপস্থিত। CORESএকবারে বেশ কয়েকটি ফাইল রূপান্তর করতে আপনি ব্যাকগ্রাউন্ড জব তৈরি করতে ভেরিয়েবল সেট করতে পারেন ।


ত্রুটির ত্রুটি দেয়: -e অভিব্যক্তি # 1, চরিত্র 26: নিরবচ্ছিন্ন command s 'আদেশ
মনস্টার এমএমআরপিজি

ঠিক আমি যা খুঁজছিলাম, ধন্যবাদ! : আমি স্ক্রিপ্ট VBR এবং অন্যান্য উত্তর একত্রিত জন্য আরেকটু, এখানে আপলোড স্থায়ী সারকথা
aksh1618
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.