কীভাবে অনেক এমপি 3 ফাইল যুক্ত হতে / সংযুক্ত করবেন?


59

অনেক এমপি 3 ফাইলগুলিতে কীভাবে যুক্ত হতে / মার্জ করতে হয় সে সম্পর্কে গুগল অনুসন্ধান করে, এটি পরামর্শ দেয় যে আমার কেবল catতাদের একসাথে হওয়া উচিত ।

এটি "কাজ" করতে পারে, তবে স্পষ্টভাবে এটি করার সঠিক উপায় নয়, কারণ প্রতিটি শিরোনাম এবং আইডিভি 3 ট্যাগের সেটও সংযুক্ত করা হবে।

লিনাক্স প্রোগ্রামের কি এমন অস্তিত্ব রয়েছে যা অনেকগুলি এমপি 3 তে যোগ দিতে / সংযুক্ত করতে স্ক্রিপ্ট করা যায়?

এমপ্লেয়ার / মেনকোডার / ffmpeg এটি করতে পারেন?

উত্তর:


79

এটি দুটি এমপি 3 ফাইল সংযুক্ত করবে এবং ফলস্বরূপ মেটাডেটা হবে প্রথম ফাইলের:

ffmpeg -i "concat:file1.mp3|file2.mp3" -acodec copy output.mp3

এটি কারণ, ffmpeg এর জন্য পুরো "কনক্যাট:" অংশটি একটি একক "ইনপুট ফাইল", এবং এর মেটাডেটা হবে প্রথম সংযুক্ত ফাইলের। পরিবর্তে আপনি যদি দ্বিতীয় ফাইলটি থেকে মেটাডেটা ব্যবহার করতে চান তবে আপনাকে এটিকে একটি ডামি ইনপুট ফাইল হিসাবে যুক্ত করতে হবে এবং এর মেটাডেটাটিকে আউটপুটে মানচিত্র করতে হবে:

ffmpeg -i "concat:file1.mp3|file2.mp3" -i file2.mp3 -acodec copy test.mp3 -map_metadata 0:1

আপনি যদি দুটি মেটাডেটা থেকে আপনার মেটাটাটা তৈরি করতে চান তবে আপনাকে এটি হাতে হাতে করতে হবে। এর সাথে আপনি কোনও ফাইলের মেটাডেটা ডাম্প করতে পারেন

ffmpeg -i file1.mp3 -f ffmetadata file1.metadata

উভয় মেটাডাটা ফেলে ফেলা এবং নতুন মেটাডেটা তৈরির পরে, আপনি এটির সাথে আউটপুট ফাইলে যুক্ত -metadataকরতে পারেন এবং -map_metadataনেতিবাচক ইনপুট ফাইল নম্বর থেকে ম্যাপিং সেট করে আপনি मेटाটাটা অনুলিপি করতে অক্ষম করতে পারেন । এটি একটি নামের মান সেট করে এবং অন্য কোনও মেটাডেটা:

ffmpeg -i "concat:file1.mp3|file2.mp3" -acodec copy -metadata "title=Some Song" test.mp3 -map_metadata 0:-1

FYI এর জন্য ffmpeg এর একটি নির্দিষ্ট সংস্করণ প্রয়োজন। যদি এটি বলে যে ফাইলটি কনক্যাট না পাওয়া যায় ... আপগ্রেড করার চেষ্টা করে এটি আবার চালাও
সমীর

জেন্টুতে ffmpeg 0.10.4 এ সূক্ষ্ম কাজ করে। আপনি কি ব্যবহার করছেন? আপনি কি নিশ্চিত যে আপনি কমান্ডটি ভুল টাইপ করেননি?
আম্বروز বিজ্জাক

1
অন্যের জন্য কেবল কয়েকটি বিষয় স্পষ্ট করে বলতে চেয়েছিলেন: এর -acodecঅর্থ অডিও কোডেক ব্যবহৃত হবে এবং তার copyঅর্থ কেবল ম্যাক্সিং এবং ডেমাক্সিং হবে, তবে এনকোডিং / ট্রান্সকোডিং নয় (অর্থাত্ খুব দ্রুত এবং কোনও মানের ক্ষতি)
হাউসএমড

1
এটি দুর্দান্ত হবে যদি কোনও জিইউআই প্রোগ্রাম থাকে যেখানে আমি একাধিক ফাইল টেনে আনতে এবং নামাতে পারি (উদাহরণস্বরূপ রেকর্ডিংয়ের জন্য কালানুক্রমিকভাবে সাজানো, এবং সম্ভবত কিছু ফাইল সম্পাদিত) এবং এটি তখন একটি ফাইল আউটপুট দেয় will
জেমস রে

1
এটি একটি ভাল উত্তর, তবে প্রায় প্রতিটি ক্ষেত্রেই, ফলস্বরূপ এমপি 3 ফাইলের যেখানে ফাইলগুলি যুক্ত হয়েছিল তার মধ্যে একটি ছোট (উপ-দ্বিতীয়) ফাঁক রয়েছে। সুতরাং আপনি যদি একটি বিরামহীন প্লেব্যাক অ্যালবাম / সেট / যাই হোক না কেন এমপি 3 ট্র্যাকগুলি মার্জ করার চেষ্টা করছেন তবে এটি বেশ কার্যকরভাবে কাজ করে না।
টিকটিকি

13

এমপি 3 ওয়ার্প - কমান্ড-লাইন ইউটিলিটি যা একাধিক এমপি 3 ফাইলগুলিকে একক, প্লেযোগ্য এমপি 3-এ, ফাইলের নাম বা আইডি 3 তথ্য না হারিয়ে এবং পুনরায় কোডিং ছাড়াই लपेटায়। MP3 এর অভ্যন্তরে প্লেলিস্ট, তথ্য ফাইল এবং কভার চিত্রের মতো অ-অডিও ডেটা সংরক্ষণাগারকে সমর্থন করে। এই ফাইলগুলি পরে প্যাক করা যাবে (এমপি 3 স্প্ল্ট ব্যবহার করে, যেমন); সাধারণ এমপি 3 ডিকোডারগুলি একটি দীর্ঘ ট্র্যাক হিসাবে পুরো অডিও স্ট্রিমটি খেলতে পারে।


1
এই সুপারিশের জন্য ধন্যবাদ .. অনেক হালকা / সরল সমাধান তারপর ffmpeg, যেহেতু আমি 100+ এমপি 3 এর সম্মিলন করছিলাম এবং মূলতে ফিরে বিভাজনের বিকল্পটি চেয়েছিলাম।
জোশবাটিস্টে

এটি আর সম্পত্তি হিসাবে কাজ করে না - কয়েকটি ফাইল একত্রিত করার চেষ্টা করুন এবং আউটপুট ফাইলটি এতে পরিদর্শন করুন mp3val- এটি সিঙ্ক ত্রুটির প্রতিবেদন করবে। এর অর্থ হ'ল এটি ক্রোম +৪ ++ এ প্রথম খণ্ডের পরে খেলবে না (দেখুন বাগস। ক্রোমিয়াম.আর.পি / ক্রোমিয়াম / সিসিউস / ডিটেল? id = 794782 এবং bugs.chromium.org/p/chromium/issues/detail?id = 806601 # সি 10 )
18

উইন্ডোজে কাজ করছে বলে মনে হচ্ছে না। কোনও মেটাডেটা সংরক্ষিত নেই।
গ্রুবার

9

এটি এমপিথ্রি পূর্ণ একটি ফোল্ডারকে একটি একক এমপি 3 ফাইলে সংযুক্ত করে তুলবে:

1) এমপিথ্রি ফাইলগুলির একটি তালিকা সংযুক্ত করার জন্য সংরক্ষণ করুন, যেমন,

$ cat mylist.txt
file '/tmp/01.mp3'
file '/tmp/02.mp3'
file '/tmp/03.mp3'
file '/tmp/04.mp3'
file '/tmp/05.mp3'
file '/tmp/06.mp3'
file '/tmp/07.mp3'

2) নিম্নলিখিত কমান্ডটি চালান ( যদি mylist.txt পরিবর্তে আপেক্ষিক পাথ ব্যবহার করেন তবে প্রয়োজন-safe 0 হয় না ):

$ ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp3

3

আপনি যদি বর্তমান ডিরেক্টরিটির সমস্ত এমপি 3 ফাইল একসাথে করতে চান:

function join_by { local IFS="$1"; shift; echo "$*"; }
files=(*.mp3)
ffmpeg -i "concat:`join_by "|" $files`" -acodec copy output.mp3

0

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


4
অস্পষ্টতা, যতদূর আমি জানি, কাঁচা সাউন্ড ডেটাতে কাজ করে এবং এমপি 3 এর সাথে যুক্ত করে ট্রান্সকোডিংয়ের কারণে ক্ষয় হয়।
আম্বোজ বিজ্জাক

0

zsh:

audio-join() ffmpeg -i "concat:${(j:|:)@[2,-1]}" -acodec copy $1

audio-join output.mp3 *.mp3

আমরা ব্যাখ্যাগুলি অন্তর্ভুক্ত করার জন্য উত্তরগুলি আশা করি। (এই পৃষ্ঠার সমস্ত উত্তরই ভাল উদাহরণ নয়))
স্কট

0

মাইলস ওলবের উত্তরের ভিত্তিতে, এখানে একটি ওয়ান-লাইনার আমার পক্ষে কাজ করেছে:

ls *.mp3 | \
    sed -e "s/\(.*\)/file '\1'/" | \
    ffmpeg -protocol_whitelist 'file,pipe' -f concat -i - -c copy output.mp3
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.