যার বিটরেট পরিবর্তনশীল এমন কোনও mp3
ফাইলকে রূপান্তর করতে আমার কোন আদেশ ব্যবহার করা উচিত wav
। বা আরও ভাল আমি কীভাবে জানতে পারি যে উত্স অডিও fixed
বিটরেট আছে বা না variable
?
যার বিটরেট পরিবর্তনশীল এমন কোনও mp3
ফাইলকে রূপান্তর করতে আমার কোন আদেশ ব্যবহার করা উচিত wav
। বা আরও ভাল আমি কীভাবে জানতে পারি যে উত্স অডিও fixed
বিটরেট আছে বা না variable
?
উত্তর:
ffprobe song.mp3
কমান্ডটি ব্যবহার করে আপনি আপনার ইনপুট ফাইলগুলির বিটরেট সম্পর্কে কিছু তথ্য পেতে পারেন । তবে এটি আপনাকে প্রথম ফ্রেমের বিটরেটই বলে। এমপি 3 ফাইলগুলিতে ভিবিআর সাধারণত প্রতিটি ফ্রেমের বিটরেট পরিবর্তন করে সহজভাবে প্রয়োগ করা হয়, সুতরাং এটি ব্যবহৃত হচ্ছে কিনা তা কেবল প্রথম ফ্রেমের শিরোনাম পড়েই নির্ধারণ করা যায় না। ভিবিআর ব্যবহার হচ্ছে কিনা তা নির্ধারণ করার জন্য আমি সাধারণত অন্য কিছু অডিও ফাইল প্লেয়ার সফ্টওয়্যার ব্যবহার করি, কারণ অনেকে প্রদর্শিত করবে (উদাহরণস্বরূপ Foobar2000)।
আপনি যখন ক্ষতির ফলাফলের কোডেক ব্যবহার করেন (যেমন এমপিইজি -১ স্তর স্তর তৃতীয় বা এএসি) তখন ffmpeg আউটপুট স্ট্রিমের জন্য একটি ডিফল্ট বিটরেট বা একটি ভেরিয়েবল বিটরেট পছন্দ করে। এটি এনকোডার নিজেই উপর নির্ভর করে।
ক্ষতিহীন কোডেকগুলির জন্য, আপনি কোনও পরিবর্তনশীল বিটরেট সেট করতে পারবেন না, যেহেতু প্রতিটি নমুনা পূর্বনির্ধারিত সংখ্যক বিট নেয়। ffmpeg -i song.mp3 song.wav
অতএব আপনি 44,100 হার্জেড নমুনা হার এবং প্রতি নমুনায় 16 বিট সহ একটি পিসিএম- এনকোডড ডাব্লুএইভি ফাইল পাবেন। পুরো পাত্রে প্রায় 1411 কেবিট / গুলি এর ফলাফল, সম্ভবত এমপি 3 ইনপুট ফাইলের চেয়ে অনেক বড় bigger
আপনি যদি পিসিএম-এনকোডযুক্ত ডাব্লুএভিভি ফাইলের জন্য একটি ছোট ফাইল আকার চান, তবে কম বিট গভীরতার সাথে একটি নমুনা বিন্যাস সেট করুন ( -encoders
তাদের সম্পূর্ণ তালিকার বিকল্প দেখুন ) এবং / অথবা একটি নিম্ন নমুনা হার চয়ন করুন ( -ar 22050
উদাহরণস্বরূপ 22.05 কেএইচজেড ব্যবহার করবেন)।
উভয় করার উদাহরণ এখানে:
ffmpeg -i song.mp3 -acodec pcm_u8 -ar 22050 song.wav
-sample_fmts
বিকল্পটি দেখুন) ব্যবহার করা। -ar 128k
এর অর্থ হ'ল যে নমুনার হারটি স্বাভাবিকভাবে 44,1 বা 48 kHz এর পরিবর্তে 128,000 হার্জ হবে।
ffmpeg -i song.mp3 song.wav
, কারণ এটি যথাযথ বিটরেট (যা সম্ভবত 44.1khz) চয়ন করবে। আপনি যদি
ffpmeg
অনুসারে সঠিক স্যাম্পলিং বিট্রেট চয়ন করতে দেওয়া ভাল song.mp3
। এইভাবে আউটপুট বিটম্যাপ wav
ফাইলটিতে সেরা বিটরেট থাকবে। এর অর্থ বিটিডব্লিউ যে ফাইলের আকার দুর্দান্ত হবে তবে উপাত্তের ওভারফিটিংয়ের সাথে: ream স্ট্রিম # 0: 0: অডিও: এমপি 3, 44100 হার্জেড, স্টিরিও, এস 16 পি, 128 কেবি / এস`
-ar 44100
ffmpeg স্বয়ংক্রিয়ভাবে একটি উপযুক্ত 16-বিট কোডেক ব্যবহার করবে এমন কি এটি অবশ্যই প্রয়োজন।
@ ননড ১০১১ মন্তব্য অনুসারে, সেরাটি সনাক্ত করতে আমি এই প্রক্রিয়াটি অনুসরণ করব acodec
:
$ ffmpeg -formats | grep PCM
DE f32be PCM 32-bit floating-point big-endian
DE f32le PCM 32-bit floating-point little-endian
DE f64be PCM 64-bit floating-point big-endian
DE f64le PCM 64-bit floating-point little-endian
DE s16be PCM signed 16-bit big-endian
DE s16le PCM signed 16-bit little-endian
DE s24be PCM signed 24-bit big-endian
DE s24le PCM signed 24-bit little-endian
DE s32be PCM signed 32-bit big-endian
DE s32le PCM signed 32-bit little-endian
DE u16be PCM unsigned 16-bit big-endian
DE u16le PCM unsigned 16-bit little-endian
DE u24be PCM unsigned 24-bit big-endian
DE u24le PCM unsigned 24-bit little-endian
DE u32be PCM unsigned 32-bit big-endian
DE u32le PCM unsigned 32-bit little-endian
এই মুহুর্তে, মধ্যে নির্বাচন করতে আপনার প্ল্যাটফর্মে বিবেচনা big-endian
, little-endian
, বিটরেট নির্বাচন করুন:
$ ffmpeg -i sample.mp3
[mp3 @ 0x7fb33180da00] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'sample.mp3':
Metadata:
title : Saturday
artist : Winterwood
album : Love In The Heart
track : 2/15
TPA : 1/1
encoded_by : iTunes 11.0.1
genre : Country & Folk
date : 1997
Duration: 00:04:27.76, start: 0.000000, bitrate: 128 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s
আমরা দেখতে পাচ্ছি যে এই অডিও ফাইলটি একটি mp3
(এটি স্পষ্ট নয়, ইনপুট ফাইলের প্রসার সত্ত্বেও, কেবলমাত্র বাইটগুলি পরীক্ষা করুন) এর কিছুটা বিটরেট 128 kb/s
ছিল s16p
, কোডেক ছিল , নমুনা ছিল 44100 Hz
, তাই আমরা সেই অনুযায়ী চয়ন করি:
$ ffmpeg -i sample.mp3 -acodec pcm_s16le -ar 44100 sample.wav
Input #0, mp3, from 'sample.mp3':
Metadata:
title : Saturday
artist : Winterwood
album : Love In The Heart
track : 2/15
TPA : 1/1
encoded_by : iTunes 11.0.1
genre : Country & Folk
date : 1997
Duration: 00:04:27.76, start: 0.000000, bitrate: 128 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s
File 'sample.wav' already exists. Overwrite ? [y/N] y
Output #0, wav, to 'sample.wav':
Metadata:
INAM : Saturday
IART : Winterwood
IPRD : Love In The Heart
IPRT : 2/15
TPA : 1/1
ITCH : iTunes 11.0.1
IGNR : Country & Folk
ICRD : 1997
ISFT : Lavf56.4.101
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
Metadata:
encoder : Lavc56.1.100 pcm_s16le
Stream mapping:
Stream #0:0 -> #0:0 (mp3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
size= 46125kB time=00:04:27.75 bitrate=1411.2kbits/s
video:0kB audio:46125kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000457%
আপনি যদি ম্যাকের উপরে থাকেন তবে আপনি যে অডিওটির white noise
শুরু / শেষের দিকে না থাকলে এটি পরীক্ষা করতে পারবেন (যখন এমপি 3 অরিজডে কিছু এমএসসি / সেকেন্ডের জন্য অডিও নেই):
$ afplay sample.wav
এবং অবশ্যই আপনি বিটম্যাপটি দ্বিগুণ করতে পারেন:
$ ffmpeg -i sample.wav
Input #0, wav, from 'sample.wav':
Metadata:
artist : Winterwood
date : 1997
genre : Country & Folk
title : Saturday
album : Love In The Heart
track : 2/15
encoder : Lavf56.4.101
encoded_by : iTunes 11.0.1
Duration: 00:04:27.76, bitrate: 1411 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s
মিডিয়া রূপান্তর করতে ffmpeg ব্যবহার করুন, প্রথমে ffprobe ব্যবহার করে ফাইলের বিশদটি পরীক্ষা করুন। এই আদেশ ব্যবহার করুন
ffmpeg -i kimberly.wav -acodec pcm_s16le -ar 16000 -ac 1 song.wav
কোথায়
-pcm_s16le is codec 16 bit conversion
-ar is sampling rate (16000samples/sec)
-ac no of audio channel