এমএফপি 3 কে এএসি তে রূপান্তর করতে কমান্ড F


21

আমি এই আদেশটি জারি করতে পারি:

ffmpeg -i input.mp3 -acodec alac -ab 128k -ar 48000 -ac 2 -y output.m4a 

একটি m4a ফাইল তৈরি করতে।

কিন্তু আমি যখন এই আদেশ জারি

ffmpeg -i input.mp3 -acodec alac -ab 128k -ar 48000 -ac 2 -y output.aac

ffmpeg বলছে একটি ত্রুটি ছুড়ছে

# 0 আউটপুট ফাইলের জন্য শিরোনাম লিখতে পারা যায় নি (ভুল কোডেক প্যারামিটার?)

এছাড়াও, m4a ফাইলের আকারটি মূল ফাইলের চেয়ে প্রায় 5.8 গুণ বড়, যা আমি চেয়েছিলাম তা নয় এবং কেন আমি এএসি তে রূপান্তর করতে চেয়েছিলাম।

উত্তর:


38

আমি কীভাবে এএসি তে রূপান্তর করতে পারি?

সর্বোচ্চ মানের এএসি এফএফপেম্পের ব্যবহার করে এএসি অডিওতে ইনপুট রূপান্তর করতে এটিই সবচেয়ে বেসিক FFmpeg কমান্ড। libfdk_aacহ'ল ফ্রেউনহোফার এএসি এনকোডার এবং আপনি যখন এফএফপিপেকে সমর্থন সহ এটি কম্পাইল করেন তখন এটি উপলব্ধ।

ffmpeg -i input.mp3 -c:a libfdk_aac output.m4a

গুণ পরিবর্তন করতে, আপনার কাছে দুটি বিকল্প রয়েছে:

  • ভেরিয়েবল বিটরেট (ভিবিআর) এর জন্য -vbrবিকল্পটি ব্যবহার করুন । উদাহরণস্বরূপ, -vbr 4একটি ভাল পছন্দ (স্টিরিও অডিওর জন্য প্রায় 128 কেবিট / গুলি) s উচ্চতর মানে ভাল। মানগুলি 1 থেকে 5 পর্যন্ত থাকে।

    ffmpeg -i input.mp3 -c:a libfdk_aac -vbr 4 output.m4a
    
  • স্থির বিটরেট (সিবিআর) এর -b:aজন্য বিকল্পটি ব্যবহার করুন , উদাহরণস্বরূপ -b:a 128k। 128 কেবিট / গুলি বেশিরভাগ পরিস্থিতিতে যথেষ্ট ভাল হওয়া উচিত। আপনি প্রায়শই কম কিছু বেছে নিতে পারেন।

    ffmpeg -i input.mp3 -c:a libfdk_aac -b:a 128k output.m4a
    

আপনি ডিফল্ট এএসি-এলসি (নিম্ন জটিলতা) প্রোফাইলের পরিবর্তে এইচ-এএসি (ভি 1 / ভি 2 )ও ব্যবহার করতে পারেন, যা কম বিটরেটের পক্ষে সবচেয়ে উপযুক্ত:

ffmpeg -i input.mp3 -c:a libfdk_aac -profile:a aac_he_v2 -b:a 32k output.m4a

আমার না থাকলে কী হবে libfdk_aac?

FFmpeg এর কিছু সংস্করণ নেই libfdk_aac(লাইসেন্সের কারণে)। যদি এটি হয় তবে আপনি বিল্ট-ইন এএসি এনকোডারটি ব্যবহার করতে পারেন:

ffmpeg -i input.mp3 -c:a aac -b:a 192k output.m4a

এই এনকোডারটি সঠিকভাবে ভিবিআরকে সমর্থন করে না, তাই আপনার যদি এটি প্রয়োজন হয় বা এইচ-এএসি, পড়ুন।

আপনি নিজে ffmpeg সংকলন করতে পারেন এবং libfdk_aacসমর্থন যোগ করতে পারেন । এফএফম্পেগ উইকিতে গাইড রয়েছে । সংকলন লিনাক্সে সহজ, ওএস এক্সের উপর পরিমিতরূপে সহজ, এবং উইন্ডোজটিতে বরং শক্ত। যখন আপনি সংকলন নির্দেশিকা অনুসরণ করে এবং সামনে উপযুক্ত লাইব্রেরি ইনস্টল করুন, FFmpeg এখন আপনার ব্যবহারের জন্য বিকল্প দেয় libfdk_aac


আপনার আসল পদ্ধতির সাথে কিছু সমস্যা ছিল:

  • alacএএসি নয়। এএলএসি হ'ল অ্যাপল লসলেস অডিও কোডেক , যেখানে এএসি উন্নত অডিও কোডিং

  • এজন্য আপনার আউটপুট ইনপুটটির চেয়ে বড়, কারণ এমপি 3 এর বিপরীতে, এএলএসি এখনও সংকুচিত, তবে এটির ক্ষতিহীন হওয়া দরকার - এজন্য এটিকে আরও ডেটা সঞ্চয় করা দরকার।

  • .aacALAC অডিওর জন্য আউটপুট ধারক নয়। আপনি যদি এএসি ব্যবহার করেন তবে এটি কাজ করা উচিত। আমি যদিও এমপি 4 বা এম 4 এ ব্যবহার করব।


উবুন্টু 12.04 এ আমি কোনও বিকল্প ব্যবহার করতে পারিনি -c:a, এর কোনও প্রতিশব্দ আছে কি? আমি অনুমান করি এটির অর্থ হতে পারে -acodec:aতবে শেষ পর্যন্ত আমি কেবল এটিকে ফেলে দিয়েছি, এবং ffmpegপছন্দসই আউটপুট ফাইলের নামের উপর ভিত্তি করে একটি কোডেক ছাড়িয়ে নিতে সক্ষম হয়েছি। ( -strict experimentalযদিও প্রয়োজন; এবং -map_metadata 0:0আইডি 3 ট্যাগ সংরক্ষণের জন্য ভাল পদক্ষেপের জন্য নিক্ষেপ করা হয়েছিল ))
ট্রিপলি

আরও লক্ষণীয়: আমি এম 4 বি ফাইল (অডিওবুকস) চেয়েছিলাম যা ffmpegসমর্থন হিসাবে উপস্থিত হয় না, তবে এম 4 এ রূপান্তর করে এবং তারপরে পুনরায় নামকরণ কাজ করে বলে মনে হচ্ছে।
ট্রিপল

@ ট্রিপলির অর্থ হল আপনি বলা একটি পুরানো প্রোগ্রাম ব্যবহার করছেন ffmpegতবে এটি সত্যই এফএফপিপে থেকে নয়, লিবাভের কাঁটাচামচ থেকে। দুর্ভাগ্যক্রমে উবুন্টু এটি "বাস্তব" ffmpeg এর পরিবর্তে বান্ডিল করেছে। দেখুন: কে আমাকে ffmpeg, libav, এবং avconv এর মধ্যে পার্থক্য এবং সম্পর্ক বলতে পারে
slhck

@ এসএলএইচইচসি: দ্রুত আপডেট এবং লিঙ্কটির জন্য ধন্যবাদ!
ট্রিপলি

1
@ ট্রিপলি আসলে না, .m4a ফাইলগুলি এমপি 4-এর সমান (এটি কেবল অডিও সহ এমপি 4 ফাইলের নামকরণ), তবে .aac (যা ADTS স্ট্রিম হিসাবে পরিচিত) এর চেয়ে আলাদা ফর্ম্যাট রয়েছে। আপনি এডিটিএস ফর্ম্যাটে যোগ করে এফএফএমপিগকে আউটপুট করতে বাধ্য করতে পারেন -f adts
বিগ নিউক

4

জেরানো উইন্ডোজ বিল্ডসের জন্য এএসি তে সহজ রূপান্তর

ffmpeg -i input.mp3 -c:a aac -b:a 128k output.m4a

Libfaac বা libfdk_aac এর পরিবর্তে "aac" ব্যবহার করুন: https://trac.ffmpeg.org/wiki/Encode/AAC

"FFmpeg তিনটি AAC-LC এনকোডার (aac, libfaac, libfdk_aac) এবং একটি এইচ-এএসি (v1 / 2) এনকোডার (libfdk_aac) সমর্থন করতে পারে। libfaac এবং libfdk_aac এর লাইসেন্স জিপিএলের সাথে উপযুক্ত নয়, সুতরাং জিপিএল অনুমতি দেয় না জিপিএল-লাইসেন্সকৃত কোডও যখন অন্তর্ভুক্ত থাকে তখন এই লাইসেন্সগুলির আওতায় লাইসেন্সযুক্ত কোডযুক্ত বাইনারি বিতরণ করা হয়। "


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