ভিবিআরের জন্য এফএফএমপিগ ব্যবহার করে ওয়াভ-এ এমপি 3 রূপান্তর করুন


27

যার বিটরেট পরিবর্তনশীল এমন কোনও mp3ফাইলকে রূপান্তর করতে আমার কোন আদেশ ব্যবহার করা উচিত wav। বা আরও ভাল আমি কীভাবে জানতে পারি যে উত্স অডিও fixedবিটরেট আছে বা না variable?


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

এবং কমান্ড সম্পর্কে কি? আপনি কি সুপারিশ করেন?
সোহম দাশগুপ্ত

দয়া করে আবার মার্টিনোর উত্তর পড়ুন। আমি কিছু ভুল সংশোধন করেছি। উল্লেখযোগ্যভাবে, আপনি পিসিএম-এনকোডযুক্ত WAV ফাইলগুলির জন্য বিটরেট সেট করতে পারবেন না।
slhck

উত্তর:


36

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

5
আপনি যদি ডাব্লুএভি পাত্রে পিসিএম অডিও এনকোড করেন তবে আপনি বিটরেট সেট করতে পারবেন না। এর কোনো মানে নাই. পিসিএম একটি সঙ্কোচিত ফর্ম্যাট - আপনি এটি প্রতি সেকেন্ডে কম বা কম বিট ব্যবহার করতে বলতে পারবেন না। আকারটি সামঞ্জস্য করার একমাত্র উপায় হ'ল ভিন্ন নমুনার আকার ( -sample_fmtsবিকল্পটি দেখুন) ব্যবহার করা। -ar 128kএর অর্থ হ'ল যে নমুনার হারটি স্বাভাবিকভাবে 44,1 বা 48 kHz এর পরিবর্তে 128,000 হার্জ হবে।
slhck

12
আপনি সম্ভবত আরও ভাল করছেন ffmpeg -i song.mp3 song.wav, কারণ এটি যথাযথ বিটরেট (যা সম্ভবত 44.1khz) চয়ন করবে। আপনি যদি
ওয়াভ-এ

@ ননট ১০১১ সঠিক ছিল, ইনপুট ডেটা ffpmegঅনুসারে সঠিক স্যাম্পলিং বিট্রেট চয়ন করতে দেওয়া ভাল song.mp3। এইভাবে আউটপুট বিটম্যাপ wavফাইলটিতে সেরা বিটরেট থাকবে। এর অর্থ বিটিডব্লিউ যে ফাইলের আকার দুর্দান্ত হবে তবে উপাত্তের ওভারফিটিংয়ের সাথে: ream স্ট্রিম # 0: 0: অডিও: এমপি 3, 44100 হার্জেড, স্টিরিও, এস 16 পি, 128 কেবি / এস`
লোরোটোরিসি

1
এটি ধরে নেওয়া মোটামুটি নিরাপদ, প্রশ্নকারীর উদ্দেশ্য হ'ল ফলস্বরূপ ডাব্লুএইভি-ফাইলগুলি একটি অডিও সিডিতে জ্বালানো। এর জন্য কেবলমাত্র উপযুক্ত ফ্রিকোয়েন্সি 44100 হার্জেড, তাই -ar 44100ffmpeg স্বয়ংক্রিয়ভাবে একটি উপযুক্ত 16-বিট কোডেক ব্যবহার করবে এমন কি এটি অবশ্যই প্রয়োজন।
মিখাইল টি।

3

@ ননড ১০১১ মন্তব্য অনুসারে, সেরাটি সনাক্ত করতে আমি এই প্রক্রিয়াটি অনুসরণ করব 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

0

মিডিয়া রূপান্তর করতে 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

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