একটি নির্দিষ্ট দৈর্ঘ্যের অংশগুলিতে একটি অডিও ফাইল বিভক্ত করা


16

আমার বেশ কয়েকটি দীর্ঘ অডিও ফাইল রয়েছে (প্রতি 80 মিনিট; এম 4 এ) এবং সেগুলি 5- বা 10-মিনিটের টুকরোতে বিভক্ত করতে চান।

আমি বর্ধিত বিরতি, টোন ইত্যাদিতে একটি অডিও ফাইল বিভক্ত করার জন্য অনেক প্রশ্ন দেখতে পাই তবে এই সাধারণ ক্রিয়াকলাপ সম্পর্কিত কোনও সন্ধান করতে পারে না বলে মনে হয়। কেউ কি এটি করার সহজ উপায় জানেন?

অবশ্যই, কিছু স্বয়ংক্রিয় এবং কমান্ড-লাইন ঠিক আছে — এমনকি পছন্দসই।

আগাম ধন্যবাদ!

উত্তর:


20

সাম্প্রতিক ffmpeg সহ ( এখান থেকে একটি স্ট্যাটিক বিল্ড ডাউনলোড করুন ):

ffmpeg -i in.m4a -f segment -segment_time 300 -c copy out%03d.m4a

এটি সেগমেন্ট ম্যাক্সার ব্যবহার করে এবং বিটস্ট্রিমগুলি অনুলিপি করে। আপনার ফাইলটিতে অডিও এবং ভিডিও স্ট্রিম থাকলে আপনি ভিডিও স্ট্রিমটি অক্ষম করতে পারেন -vn


এখানে একটি ওয়ান-লাইনার রয়েছে, আপনার কেবল রুবি এবং এফএফম্পেগ ইনস্টল করা দরকার:

ruby -e '(0..4500).step(300) { |x| system "ffmpeg -ss #{x} -i in.m4a -c copy -t 300 out-#{x}.m4a"}'

কেবল যেখানে একই ফোল্ডারে in.m4aএটি কার্যকর করুন। এটি অডিও বিটস্ট্রিমটি অনুলিপি করবে, সুতরাং এটি কার্যকর করতে সম্ভবত কয়েক সেকেন্ডেরও কম সময় লাগবে।

ব্যাখ্যা করতে:

  • 4800 সেকেন্ড অডিও ফাইলের দৈর্ঘ্য (80 মিনিট × 60 সেকেন্ড), সুতরাং আমাদের শেষ বিভাজন 4500 (4800 - 300 সেকেন্ড) এ।
  • আমরা 0 থেকে 4500 পর্যন্ত চলে যাই, এবং আমরা প্রতি 300 সেকেন্ডে বিভক্ত হয়ে যাই (5 মিনিট × 60s)।
  • FFmpeg নির্দিষ্ট করা সময় থেকে শুরু হবে -ss
  • এবং এটি নির্দিষ্ট সময়ের জন্য অনুলিপি করবে -t
  • এটি বেশ কয়েক আউটপুট ফাইল নামক লিখবো out-<x>.mp4, যেখানে <x>সেকেন্ডের মধ্যে শুরু হয়।

ধন্যবাদ! আপনার ইউনিক্সের জন্য কমান্ড, না এটি উইন্ডোজেও কার্যকর হয়? আমার একটি সাইগউইন ইনস্টলেশন রয়েছে, সুতরাং এটি কোনও ব্যাপার নয়, তবে কেবল অবাক হচ্ছেন। আমি বাসায় এলে চেষ্টা করব।
অ্যান্ড্রু চিউং

এটি মূলত লিনাক্সে (এবং ইউনিক্সগুলিতে কাজ করে যা রুবি ইনস্টল করা আছে), এবং এটি উইন্ডোতেও কাজ করা উচিত - আপনার কেবল রুবি এবং এফএফপিপে প্রয়োজন, তবে এর জন্য আপনার সাইগউইনের প্রয়োজন হবে না। আছে রুবি ইনস্টলার এবং FFmpeg এক্সেকিউটেবল Windows এর জন্য হিসাবে ভাল। এখন, এফএফপিপে কমান্ডটি রুবি ব্যতীত উইন্ডোজ ব্যাচ ফাইল, বা পাওয়ারশেল ব্যবহার করে স্বয়ংক্রিয় করা যেতে পারে, তবে আমি উইন্ডোজ ব্যবহারকারী নই, এই কারণেই আমি রুবিকে গ্রহণ করেছি (কারণ এটি লিনাক্স এবং ওএস এক্স এর সাথে আসে)। উইন্ডোজ ব্যাচের অভিজ্ঞতার সাথে উপরের রুবি কমান্ডটি আবার লিখতে পারে?
slhck

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

2
যদি আমার মতো, আপনার এম 4 এ ফাইলটিতে একটি ভিডিও স্ট্রিম অন্তর্ভুক্ত রয়েছে (আমার ক্ষেত্রে, একটি একক চিত্র) তবে আপনাকে -vnকেবল অডিও স্ট্রিমটি নির্বাচন করতে সুইচ যুক্ত করতে হবে to আপনি যদি ভিডিও স্ট্রিম রাখতে চান তবে আপনাকে একটি এমপি 4 এক্সটেনশন সহ কোনও ফাইলে আউটপুট করতে হবে।
রব চার্চ

2

আমি নিজেই এর সমাধান চাইছিলাম। এটি করার সবচেয়ে সহজ উপায়টি এমপি 4বক্সের মাধ্যমে :

mp4box -split 300 infile.m4a

যেখানে "300" সেকেন্ডের সময়। এমপি 4বক্স স্বয়ংক্রিয়ভাবে সংখ্যাযুক্ত আউটপুট ফাইলগুলি লিখবে।

(পুরো বড় জিপিএসি অ্যাপ্লিকেশনটি আপনার ইনস্টল করার দরকার নেই work এটি সংরক্ষণ করার জন্য আপনি সংরক্ষণাগার থেকে ফাইলগুলি বের করতে পারেন: js.dll; Libay32.dll; libgpac.dll; MP4Box.exe; ssleay32.dll)


2

এই প্রশ্নটি জিজ্ঞাসা করার পরে এটি হয়ে গেছে, তবে রুবি এবং ffmpeg নিয়ে বোকা বানানোর পরে আমি স্থির করেছিলাম উইন্ডোজের মধ্যে এটি করার একটি সহজ উপায় থাকতে হবে এবং আমি খুঁজে পেয়েছি সেখানে।

অড্যাসিটি ডাউনলোড এবং ইনস্টল করুন

আপনি এটি সন্ধান করতে পারেন এমন কোনও পাঠ্য ফাইল তৈরি করুন এবং এতে নীচের স্ট্রিংটি আটকে দিন: (৩০০ সেকেন্ড অন্তর, অর্থাত, 5 মিনিট, 10 মিনিট হবে 600 অন্তর, ইত্যাদি ...)

0       300  
300     600  
600     900  
900     1200  
1200    1500  
1500    1800  
1800    2100  
2100    2400  
2400    2700  
2700    3000  
3000    3300  
3300    3600  
3600    3900  
3900    4200  
4200    4500  
4500    4800  
4800    5100  
5100    5400  
5400    5700  
5700    6000  
6000    6300  
6300    6600  
6600    6900  
6900    7200  
7200    7500  
7500    7800  
7800    8100  
8100    8400  
8400    8700  
8700    9000  
9000    9300  
9300    9600  
9600    9900  
9900    10200  
10200   10500  
10500   10800  
10800   11100  
11100   11400  
11400   11700  
11700   12000  
12000   12300  
12300   12600  
12600   12900  
12900   13200  
13200   13500  
13500   13800  
13800   14100  
14100   14400  
14400   14700  
14700   15000  

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

অডেসিটিতে অডিও ফাইলটি আমদানি করুন এবং যে কোনও ভারসাম্য এবং যা কিছু সম্পাদনা আপনি চান তা তৈরি করুন, তারপরে ফাইল> লেবেল> আমদানি লেবেলে ক্লিক করুন

আপনার পাঠ্য ফাইলটি নির্বাচন করুন, তারপরে একই সময়ে লেবেল ট্র্যাক এবং অডিও ট্র্যাকটি নির্বাচন করুন এবং ফাইল> একাধিক রফতানিতে ক্লিক করুন।

আপনি যে ফাইলটি রফতানি করতে চান সেটিংস পরিবর্তন করুন এবং সেটিংসটি সামঞ্জস্য করুন, তারপরে গন্তব্য ফোল্ডারটি নির্বাচন করুন।

আমি সর্বদা ফাইলের নাম উপসর্গের পরে সংখ্যায়ন প্যাটার্নটি নাম্বারে পরিবর্তন করি এবং বাক্সে আমি যে ফাইলের নাম চাই তা টাইপ করি এবং প্রোগ্রামটি সংখ্যাগুলি যুক্ত করবে, রফতানি এবং ভায়োলা হিট করবে!


-1

অড্যাসিটি ডাউনলোড করুন - এটি একটি নিখরচায় অডিও সরঞ্জাম যা আপনার যা প্রয়োজন ঠিক তা করতে পারে এবং এটি সম্পূর্ণ বিনামূল্যে এবং সহজেই ব্যবহারযোগ্য। http://audacity.sourceforge.net/


2
অড্যাসিটি স্বয়ংক্রিয়ভাবে এটি করার কোনও উপায় আছে? আমি আমার মাউস দিয়ে 5 মিনিটের টুকরো নির্বাচন করে ম্যানুয়ালি একাধিক ফাইল 16 টি টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টানতে চাই না।
slhck

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