FDKAAC(1) FDKAAC(1)

fdkaac - رابط خط فرمان برای کدگذار libfdk-aac

fdkaac [OPTIONS] [FILE]

دستور fdkaac صوت PCM خطی را در قالب‌های WAV، PCM خام یا CAF می‌خواند و آن را در یک فایل M4A / AAC کدگذاری می‌کند.

اگر فایل ورودی «-» باشد، داده‌ها از stdin خوانده می‌شوند. به‌همین ترتیب، اگر فایل خروجی «-» باشد و یکی از قالب‌های انتقال جریانی AAC با گزینه -f انتخاب شده باشد، داده‌ها در stdout نوشته می‌شوند.

هنگامی که از ورودی CAF و خروجی M4A استفاده می‌شود، برچسب‌های موجود در فایل CAF به فایل M4A حاصل کپی می‌شوند.

نمایش راهنمای دستور
نام فایل خروجی.
پروفایل هدف (نوع شیء صوتی MPEG4 یا AOT)
2
MPEG-4 AAC LC (پیش‌فرض)
5
MPEG-4 HE-AAC (SBR)
29
MPEG-4 HE-AAC v2 (SBR+PS)
23
MPEG-4 AAC LD
39
MPEG-4 AAC ELD
بیت‌ریت هدف (برای CBR)
حالت پیکربندی بیت‌ریت. مقدار کیفیت VBR در دسترس به پارامترهای دیگری مانند پروفایل، نرخ نمونه‌برداری یا تعداد کانال‌ها بستگی دارد.
0
CBR (پیش‌فرض)
1-5
VBR (مقدار بیشتر -> بیت‌ریت بالاتر)
پهنای باند فرکانسی (فرکانس قطع پایین‌گذر) بر حسب هرتز (Hz). تنها روی AAC LC در دسترس است.
پیکربندی حالت afterburner. در صورت فعال بودن، کیفیت به قیمت بار پردازشی و محاسباتی بیشتر افزایش می‌یابد.
0
خاموش
1
روشن (پیش‌فرض)
پیکربندی فعالیت SBR در AAC ELD.
-1
استفاده از پیکربندی خودکار ELD SBR
0
غیرفعال‌سازی SBR در ELD (پیش‌فرض)
1
فعال‌سازی SBR در ELD
کنترل فعال‌سازی downsampled SBR.
0
استفاده از پیش‌فرض کتابخانه (پیش‌فرض)
1
استفاده از downsampled SBR (پیش‌فرض برای ELD+SBR)
2
استفاده از dual-rate SBR (پیش‌فرض برای HE-AAC)

حالت dual-rate SBR چیزی است که معمولاً برای HE-AAC استفاده می‌شود، جایی که AAC با نیمی از نرخ نمونه‌برداری SBR کدگذاری می‌شود، از این‌رو «dual rate» نامیده می‌شود. از سوی دیگر، downsampled SBR از همان نرخ نمونه‌برداری یکسان برای هر دوی AAC و SBR استفاده می‌کند (single rate)، بنابراین downsampled SBR معمولاً بیت‌ریت بیشتری مصرف می‌کند.

قابلیت downsampled SBR ویژگی جدیدی است که در نسخه 3.4.12 کتابخانه کدگذار FDK معرفی شده است. هنگامی که libfdk-aac موجود در سیستم از این قابلیت پشتیبانی نمی‌کند، dual-rate SBR استفاده خواهد شد. در صورت در دسترس بودن، dual-rate SBR پیش‌فرض برای HE-AAC و downsampled SBR پیش‌فرض برای ELD+SBR است.

توجه داشته باشید که downsampled HE-AAC به اندازه نوع dual-rate رایج نیست. هنگامی که downsampled HE-AAC انتخاب می‌شود، fdkaac مجبور است سیگنال‌دهی صریح سلسله‌مراتبی SBR را انتخاب کند که (حداقل) iTunes آن را نمی‌پذیرد.

قالب انتقال. برچسب‌گذاری و پخش بدون وقفه (gapless) فقط در M4A در دسترس است. ارسال جریانی به stdout فقط در سایر قالب‌ها ممکن است.
0
M4A (پیش‌فرض)
1
ADIF
2 ADTS
6
LATM MCP=1
7
LATM MCP=0
10
LOAS/LATM (LATM درون LOAS)
افزودن حفاظت CRC به سرآیند ADTS.
دورهٔ تناوب تکرار StreamMuxConfig/PCE در لایهٔ انتقال.
روش اعلام میزان تأخیر رمزگذار (و لایه‌گذاری/padding) در ظرف M4A. این مقادیر برای پخش بدون‌درز (gapless) مناسب در سمت پخش‌کننده الزامی هستند.
0
iTunSMPB (پیش‌فرض)
1
استاندارد ISO (‏edts و sgpd)
2
هر دو
در صورت مشخص شدن، تأخیر رمزگشای SBR در تأخیر رمزگذار محاسبه می‌شود.

این حالت با iTunes سازگار نیست و در رمزگشاهای صرفاً LC منجر به بروز مشکل در پخش بدون‌درز خواهد شد، اما این رفتار پیش‌فرض کتابخانهٔ FDK است.

محاسبه کردن یا نکردن تأخیر رمزگشای SBR در تأخیر رمزگذار در هر صورت باعث ناسازگاری در پخش بدون‌درز می‌شود. باید گزینه‌ای را انتخاب کنید که با پخش‌کنندهٔ مورد نظر شما سازگار باشد.

با این حال، چنانچه خواهان پخش بدون‌درز هستید، بهتر است اصلاً SBR را انتخاب نکنید. ‏LC چنین مشکلاتی ندارد.

نادیده گرفتن فیلد طول تکه‌داده (data chunk) در فایل WAV ورودی.
پیام‌های پیشرفت چاپ نشوند.
قرار دادن جعبهٔ moov قبل از جعبهٔ mdat در ظرف M4A. این گزینه ممکن است برای برخی از پخش‌کننده‌های سخت‌افزاری که قرار گرفتن جعبهٔ moov پس از mdat را نمی‌پذیرند، بااهمیت باشد.
در نظر گرفتن ورودی به عنوان PCM خام.
مشخص کردن تعداد کانال‌های ورودی خام (پیش‌فرض: ۲)
مشخص کردن نرخ نمونه‌برداری ورودی خام (پیش‌فرض: 44100)
مشخص کردن قالب نمونهٔ ورودی خام (پیش‌فرض: "S16L"). ‏Spec به صورت زیر است (غیرحساس به بزرگی یا کوچکی حروف):
کاراکتر اول -- نوع نمونه
S (igned) | U (nsigned) | F (loat)
بخش دوم (به عدد)
تعداد بیت بر هر کانال
کاراکتر آخر -- ترتیب بایت‌ها (قابل چشم‌پوشی)
L (ittle، پیش‌فرض) | B (ig)
تنظیم برچسب عنوان (title).
تنظیم برچسب هنرمند (artist).
تنظیم برچسب آلبوم (album).
تنظیم برچسب سبک (genre).
تنظیم برچسب تاریخ (date).
تنظیم برچسب آهنگساز (composer).
تنظیم برچسب گروه‌بندی (grouping).
تنظیم برچسب یادداشت (comment).
تنظیم برچسب هنرمند آلبوم (album artist).
تنظیم برچسب قطعه (track)، به همراه یا بدون تعداد کل قطعات.
تنظیم برچسب دیسک (disk)، به همراه یا بدون تعداد کل دیسک‌ها.
تنظیم برچسب ضرب‌آهنگ (BPM/tempo).
--tag <fcc>:<value> تنظیم برچسب از پیش تعریف‌شدهٔ iTunes با کلید چهارنویسه‌ای (fourcc) و مقدار صریح. برای کلیدهای از پیش تعریف‌شدهٔ شناخته‌شده، https://code.google.com/p/mp4v2/wiki/iTunesMetadata را ببینید. هنگامی که نویسهٔ اول fcc علامت کپی‌رایت باشد، می‌توانید آن را نادیده بگیرید.
مشابه --tag، اما محتوای فایل را به عنوان مقدار برچسب تنظیم می‌کند.
تنظیم برچسب دلخواه به عنوان متادادهٔ سفارشی iTunes. در فیلد com.apple.iTunes ذخیره می‌شود.
خواندن برچسب‌ها از JSON. به‌طور پیش‌فرض، فرض می‌شود برچسب‌ها فرزندان مستقیم شیء ریشه در JSON هستند. به‌صورت اختیاری می‌توانید نشانه‌گذاری نقطه‌ای (dot notation) دلخواهی را برای مشخص کردن شیء حاوی برچسب‌ها تعیین کنید.

کدگذاری فایل WAV به یک فایل M4A. ‏MPEG4 AAC LC، کیفیت VBR ۳:

fdkaac -m3 foo.wav

کدگذاری فایل WAV به یک فایل M4A. ‏MPEG4 HE-AAC، نرخ بیت 64kbps:

fdkaac -p5 -b64 foo.wav

پایپ کردن از ffmpeg (نیازمند نسخه‌ای است که از خروجی CAF پشتیبانی کند):

ffmpeg -i foo.flac -f caf - | fdkaac -b128 - -o foo.m4a

وارد کردن برچسب‌ها از طریق json:

ffprobe -v 0 -of json -show_format foo.flac >foo.json
flac -dc foo.flac | \
fdkaac - -ox.m4a -m2 --import-tag-from-json=foo.json?format.tags

قالب عدد صحیح تا ۳۲ بیت یا ممیز شناور تا ۶۴ بیت به عنوان ورودی پشتیبانی می‌شود. با این حال، کتابخانهٔ FDK بر پایهٔ محاسبات ممیز ثابت پیاده‌سازی شده و تنها از PCM عدد صحیح ۱۶ بیتی پشتیبانی می‌کند. بنابراین، مراقب برش سیگنال (clipping) باشید. در صورتی که ورودی شما تفکیک‌پذیری بالاتری دارد، ممکن است بخواهید پیش از آن dither/noise shape را اعمال کنید.

چیدمان‌های کانال زیر توسط رمزگذار پشتیبانی می‌شوند.

1ch
C
2ch
L R
3ch
C L R
4ch
C L R Cs
5ch
C L R Ls Rs
5.1ch
C L R Ls Rs LFE
7.1ch (front)
C Lc Rc L R Ls Rs LFE
7.1ch (rear)
C L R Ls Rs Rls Rrs LFE
nu774 <honeycomb77@gmail.com>.
November, 2013