ffmpeg - "এনকোডার 'এ্যাক' পরীক্ষামূলক তবে পরীক্ষামূলক কোডেক সক্ষম নয়"




(4)

FFMPEG ব্যবহার করে FFMPEG mp4 রুপান্তরিত করার FFMPEG এটি নিম্নলিখিত ত্রুটিটি দেখায়

[aac @ 0x2b4b640] The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.

আপনার প্রশ্ন নিজেই উত্তর দেয়। -strict -2 করুন। এটি যথেষ্ট হওয়া উচিত


আসলে কমান্ড লাইনে -strict -2 যুক্ত করা যথেষ্ট নয়। এটি অত্যন্ত গুরুত্বপূর্ণ যেখানে -strict -2 করা হয়েছে এবং দুর্ভাগ্যক্রমে ত্রুটি বার্তায় এটি ব্যাখ্যা করা হয়নি। এটি শেষ যুক্তির ঠিক আগে হওয়া উচিত, যা নিম্নরূপ:

ffmpeg -i infile -strict -2 outfile

কোডেক খোলার আগে কোডেক-প্রসঙ্গটি strict_std_complaince ভেরিয়েবল -2 এ সেট করে আপনি আপনার সি ++ কোডে -স্ট্রিক্ট পরীক্ষামূলক যুক্ত করতে পারেন।

AVCodecContext *c;
c->strict_std_compliance = -2;

/* open it */
ret = avcodec_open2(c, codec, NULL);

মূল লেখকের ব্যাখ্যা এখানে দেখুন


বার্তাটি যেমন বলেছে, নেটিভ ffmpeg AAC অডিও এনকোডারটি পরীক্ষামূলক এবং আপনার কমান্ডটিতে এটি ব্যবহার করতে -strict -2 বা- -strict experimental যুক্ত করা দরকার। তবে এই এনকোডারটিকে আর পরীক্ষামূলক হিসাবে চিহ্নিত করা হয়নি, সুতরাং সাম্প্রতিক ffmpeg বিল্ডগুলি এই বিকল্পটি ব্যবহার করার প্রয়োজন নেই।

সেরা ফলাফলের জন্য পরিবর্তে libfdk_aac ব্যবহার করুন। আপনাকে এই lib দিয়ে ffmpeg সংকলন করতে হবে, সংকলন গাইড দেখুন

অডিও এনকোডার সেট করতে -c:a libfdk_aac ব্যবহার করুন।