| mpg123(1) | General Commands Manual | mpg123(1) |
نام (NAME)
mpg123 - پخش جریانهای صوتی MPEG 1.0/2.0/2.5 (لایههای ۱، ۲ و ۳)
خلاصه دستور (SYNOPSIS)
mpg123 [ گزینهها ] file-or-URL...
توضیحات (DESCRIPTION)
mpg123 یک یا چند فایل (یا در صورت مشخص شدن «-»، ورودی استاندارد) یا URL را میخواند و آنها را روی دستگاه صوتی (پیشفرض) پخش میکند یا به خروجی استاندارد (stdout) میفرستد. فرض بر این است که file/URL یک جریان بیتی صوتی MPEG باشد.
عملوندها (OPERANDS)
عملوندهای زیر پشتیبانی میشوند:
- file(s)
- نام مسیر یک یا چند فایل ورودی. این فایلها باید جریانهای بیتی صوتی معتبر MPEG-1.0/2.0/2.5 لایهٔ ۱، ۲ یا ۳ باشند. اگر یک خط تیره «-» مشخص شود، دادههای MPEG از ورودی استاندارد خوانده خواهند شد. علاوه بر این، هر نامی که با «http://» یا «https://» آغاز شود به عنوان URL (بخش بعدی را ببینید) شناخته میشود، در حالی که پیشوند «file://» برای سازگاری (از mpg123 نسخهٔ 1.30.1 به بعد)، جهت دسترسی عادی به فایل محلی حذف میشود.
گزینهها (OPTIONS)
گزینههای mpg123 میتوانند گزینههای تکحرفی سنتی POSIX یا گزینههای طولانی به سبک GNU باشند. گزینههای سبک POSIX با یک «-» منفرد آغاز میشوند، در حالی که گزینههای طولانی GNU با «--» شروع میشوند. آرگومانهای گزینهها (در صورت نیاز) با فاصله (نه «=») جدا میشوند. توجه داشته باشید که ممکن است برخی گزینهها در صورت غیرفعال بودن در فرآیند ساخت، در نسخهٔ نصبشدهٔ شما وجود نداشته باشند.
گزینههای ورودی (INPUT OPTIONS)
- -k num, --skip num
- پرش از روی num فریم اول. بهطور پیشفرض رمزگشایی از نخستین فریم آغاز میشود.
- -n num, --frames num
- فقط رمزگشایی num فریم. بهطور پیشفرض کل جریان رمزگشایی میشود.
- --fuzzy
- فعالسازی پرشهای فازی (حدس زدن آفستهای بایتی یا استفاده از نقاط پرش تقریبی از جدول محتوای Xing TOC). بدون آن، پرشها پیش از جهش به موقعیتها به یک دور پویش اولیه در فایل نیاز دارند. در اینجا میتوانید تصمیم بگیرید: عملکرد دقیق در سطح نمونه (sample-accurate) با قابلیتهای پخش بدون وقفه (gapless) یا پرش سریعتر (فازی).
- -y, --no-resync
- در صورت بروز خطا در فایل ورودی، برای همگامسازی مجدد و ادامهٔ رمزگشایی تلاش نکنید. بهطور معمول، mpg123 سعی میکند پخش را به هر قیمتی زنده نگه دارد، از جمله با رد شدن از دادههای نامعتبر و جستجوی سربرگ جدید هنگامی که مشکلی رخ میدهد. با این سوییچ میتوانید کاری کنید که برنامه هنگام خطاهای دادهای متوقف شود (و شاید گوشهای خود را از آسیب نجات دهید). توجه داشته باشید که نام این سوییچ از --resync تغییر کرده است. نام قدیمی همچنان کار میکند، اما تبلیغ نشده و استفاده از آن توصیه نمیشود (در آینده حذف خواهد شد).
- -F, --no-frankenstein
- غیرفعال کردن پشتیبانی از جریانهای فرانکنشتاین (Frankenstein). معمولاً mpg123 به این مفهوم که صدای MPEG صرفاً الحاق فریمهای MPEG است وفادار میماند. این برنامه حتی اگر نوع فریمهای MPEG بهشدت متغیر باشد، به رمزگشایی ادامه میدهد. با این سوییچ، ورودی تنها تا زمانی رمزگشایی میشود که ماهیت آن تغییر نکند (از لایهٔ I به لایهٔ III، تغییر نرخ نمونهبرداری، یا از مونو به استریو)، و در چنین مواردی بیصدا پایان جریان فرض میشود. این سوییچ همچنین در صورتی که یک فریم اطلاعاتی (سربرگ Xing، برچسب Lame) حاوی طول قطعه بر حسب فریمهای MPEG وجود داشته باشد، رمزگشایی فریمهای سازگار MPEG را متوقف میکند. این کار به مفهوم فایل MP3 به عنوان مجموعهای مشخص و مرتبط از فریمهای MPEG نزدیکتر است، اما آن انعطافپذیری را که گاهی اوقات جالب است ولی در بیشتر مواقع جهنمی برای برنامهنویس تجزیهکننده و رمزگشا است، حذف میکند...
- --network backend
- انتخاب زیرساخت شبکه (برنامهٔ کمکی)، گزینهها معمولاً auto، wget و curl هستند. مقدار auto به معنای آزمودن نخستین زیرساخت در دسترس است.
- --resync-limit bytes
- تنظیم تعداد بایتها برای جستجوی دادههای معتبر MPEG در صورت گم شدن همگامسازی در جریان؛ مقدار 0> به معنای جستجوی کل جریان است. اگر میدانید که تکههای عظیمی از دادههای نامعتبر در فایلهایتان وجود دارد... این چکش کار شماست. نکته: تنها از نسخهٔ 1.14 به بعد، این گزینه مقدار دادههای نامعتبر رد شده در آغاز را نیز افزایش میدهد.
- -u auth, --auth auth
- احراز هویت HTTP مورد استفاده هنگام دریافت فایلها از طریق HTTP. قالب مورد استفاده user:password است. Mpg123 این مقدار را بهسرعت پاک خواهد کرد، اما ممکن است همچنان در دید سایر کاربران یا حتی در تاریخچهٔ شل شما باقی بماند. میتوانید به دنبال روشهای جایگزین برای مشخص کردن آن در زیرساخت شبکهٔ خود باشید.
- --auth-file authfile
- ارائهٔ اطلاعات احراز هویت از طریق فایل دادهشده، به جای درج مستقیم در خط فرمان.
- --ignore-mime
- نادیده گرفتن نوعهای MIME ارائهشده توسط کارساز HTTP. اگر خودتان بهتر میدانید و میخواهید mpg123 چیزی را رمزگشایی کند که کارساز فکر میکند image/png است، پس انجامش دهید.
- --no-icy-meta
- عدم پذیرش فرادادههای ICY.
- --streamdump filename
- ذخیرهٔ یک رونوشت از دادههای ورودی (همانطور که توسط libmpg123 خوانده میشود) در فایل دادهشده. این گزینه به شما امکان میدهد یک جریان وب را در حین پخش روی دیسک ذخیره کنید، یا صرفاً الحاقی از فایلهای محلی را که پخش میکنید بسازید... چرا که نه؟
- --icy-interval bytes
- این تنظیم به شما امکان میدهد یک رونوشت جریان (stream dump) حاوی فرادادههای ICY را در بازهٔ دادهشده بر حسب بایت (مقدار سربرگ پاسخ HTTP با عنوان icy-metaint) پخش کنید. بدون آن، چنین جریانی پخش خواهد شد، اما باعث اشکالات منظم در رمزگشایی همراه با همگامسازی مجدد میشود.
- --no-seekbuffer
- غیرفعال کردن بافربندی جزئی (micro-buffering) پیشفرض برای جریانهای غیرقابلپُرش، که پایهای امنتر برای تجزیهکننده فراهم میآورد.
- -@ file, --list file
- خواندن نامهای فایل و/یا URLهای جریانهای صوتی MPEG از file مشخصشده، افزون بر موارد مشخصشده در خط فرمان (در صورت وجود). توجه داشته باشید که file میتواند یک فایل معمولی، یک خط تیره «-» برای نشان دادن اینکه فهرست نامهای فایل/URL باید از ورودی استاندارد خوانده شود، یا یک URL اشارهکننده به یک فایل فهرست مناسب باشد. نکته: فقط یک گزینهٔ -@ میتواند استفاده شود (اگر بیش از یکی مشخص شود، تنها آخرین مورد پذیرفته خواهد شد). علاوه بر این، برای منابع HTTP، از اطلاعات نوع MIME برای بازگشایی مجدد یک جریان واقعی MPEG به همان صورت استفاده میشود، به جای اینکه مانند یک فایل فهرست پخش با آن رفتار شود. بنابراین همیشه میتوانید برای منابع وب از -@ استفاده کنید، بدون اینکه دغدغه داشته باشید که آیا این یک فهرست پخش است یا نشانیِ از پیش حلشدهٔ جریان.
- -l n, --listentry n
- از فهرست پخش، فقط مدخل مشخصشده را پخش میکند. n شمارهٔ مدخل است که از ۱ آغاز میشود. مقدار ۰ پیشفرض است و به معنای پخش کل فهرست است؛ یک مقدار منفی به معنای نمایش فهرست عنوانها همراه با شمارههایشان است...
- --continue
- فعالسازی حالت ادامهٔ فهرست پخش. این گزینه پرش فریم را به گونهای تغییر میدهد که تنها برای نخستین قطعه اعمال شود و همچنین پس از قطعهٔ انتخابشده، به پخش قطعات بعدی در فهرست پخش ادامه میدهد. همچنین، گزینهٔ پخش تعداد مشخصی فریم تنها برای کل فهرست پخش اعمال میشود. اساساً این گزینه تلاش میکند با فهرست پخش بیشتر شبیه به یک جریان بزرگ (مانند یک کتاب صوتی) رفتار کند. شمارهٔ قطعهٔ فعلی در فهرست (مبتنی بر ۱) و شمارهٔ فریم (مبتنی بر ۰) هنگام خروج چاپ میشوند (اگر پخش را متوقف کرده باشید و بخواهید بعداً ادامه دهید، مفید است). توجه داشته باشید که اطلاعات ادامه در خروجی استاندارد چاپ میشود، مگر اینکه سوییچ مربوط به هدایت لولهای دادههای صوتی به خروجی استاندارد استفاده شده باشد. همچنین، کار با فایلهای فهرست پخش واقعی به جای فهرست کردن نام فایلها به عنوان آرگومان، جهت حفظ پایداری موقعیت قطعات کاملاً منطقی است. این گزینه از نسخهٔ 1.33 به بعد با --random بهخوبی کار میکند، اما با --shuffle نه، چرا که مفهوم موقعیت پایدار در فهرست پخش را از بین میبرد.
- --loop times
- برای پخش قطعه(ها) به تعداد دفعات مشخص در یک حلقه، مقدار 0 > به معنای حلقهٔ نامتناهی است.
- --keep-open
- برای حالت واپایش از راه دور: باز نگه داشتن فایل بارگذاریشده پس از رسیدن به پایان.
- --timeout seconds
- مهلت زمانی بر حسب ثانیه (عدد صحیح) پیش از نامعتبر دانستن جریان (اگر 0 => باشد، برای همیشه منتظر میماند).
- -z, --shuffle
- پخش درهم. ترتیب فایلهای مشخصشده در خط فرمان یا فایل فهرست را بهطور تصادفی برهم میزند.
- -Z, --random
- پخش تصادفی پیوسته. بهطور مداوم یک فایل تصادفی از خط فرمان یا فهرست پخش برمیگزیند. برخلاف پخش درهم بالا، پخش تصادفی هرگز پایان نمییابد و آهنگهای منفرد را بیش از یک بار پخش میکند.
- -i, --index
- نمایهسازی / پویش سراسری قطعه پیش از پخش. این گزینه جدول نمایه را برای پرش پر میکند (در صورتی که در libmpg123 فعال باشد) و ممکن است باعث شود سیستمعامل محتویات فایل را در حافظهٔ موقت (کَش) قرار دهد تا هنگام پخش عملیات روانتری داشته باشد.
- --index-size size
- تنظیم تعداد مدخلها در جدول نمایهٔ فریمهای پرش.
- --preframes num
- تنظیم تعداد فریمهایی که باید به عنوان پیشدرآمد (lead-in) پیش از موقعیت پرششده خوانده شوند. این عمل برای پر کردن مخزن بیت (bit reservoir) در لایهٔ ۳ به کار میرود، که برای بازتولید دقیق یک نمونه در یک موقعیت خاص ضروری است. توجه داشته باشید که برای لایهٔ ۳ حداقل مقدار ۱ اجباری است (به دلیل همپوشانی فریمها)، و برای لایههای ۱ و ۲ این مقدار به ۲ محدود میشود (در این حالت مخزن بیتی وجود ندارد، اما برای راهاندازی موتور به کار میرود)..SH "گزینههای خروجی و پردازش (OUTPUT and PROCESSING OPTIONS)"
- -o module, --output module
- انتخاب پودمان خروجی صوتی. میتوانید فهرستی جداشده با کاما ارائه دهید تا از نخستین موردی که کار میکند استفاده شود. همچنین -a را ببینید.
- --list-modules
- فهرست کردن پودمانهای موجود.
- --list-devices
- فهرست کردن دستگاههای خروجی موجود برای پودمان خروجی مشخصشده. اگر قابلیتی برای فهرست کردن دستگاهها در پودمان انتخابشده وجود نداشته باشد، خطایی چاپ شده و mpg123 با کد غیر صفر خارج خواهد شد.
- -a dev, --audiodevice dev
- مشخص کردن دستگاه صوتی مورد استفاده. مقدار پیشفرض و همچنین مقادیر ممکن به خروجی فعال بستگی دارند. برای خروجی JACK، میتوان فهرستی جداشده با کاما از درگاهها را برای اتصال (برای هر کانال) مشخص کرد.
- -s, --stdout
- نمونههای صوتی رمزگشاییشده به جای پخش از طریق دستگاه صوتی، در خروجی استاندارد نوشته میشوند. اگر سختافزار صوتی شما توسط mpg123 پشتیبانی نشود، این گزینه باید استفاده شود. قالب خروجی بهطور پیشفرض دادههای صوتی خام (بدون سرآیند) خطی PCM، بهصورت ۱۶ بیتی، استریو و با ترتیب بایت میزبان (host byte order) است (میتوانید مونو یا 8bit را اجبار کنید).
- -O file, --outfile
- نوشتن خروجی خام در یک فایل (به جای تغییر مسیر سادهٔ خروجی استاندارد به یک فایل از طریق پوسته).
- -w file, --wav
- نوشتن خروجی بهصورت فایل WAV. این کار باعث میشود جریان MPEG رمزگشایی شده و در فایل file ذخیره شود، یا در صورت استفاده از - بهعنوان نام فایل، در خروجی استاندارد نوشته شود. همچنین میتوانید از --au و --cdr بهترتیب برای قالبهای AU و CDR استفاده کنید. توجه داشته باشید که نوشتن WAV/AU در فایلهای غیرقابل جستوجو (non-seekable) یا خروجی استاندارد هدایتشده نیاز به تأمل دارد. از نسخهٔ 1.16.0، منطق برنامه تغییر کرده و سرآیند با نخستین دادههای واقعی نوشته میشود. برای نمونه، این کار از سرآیندهای WAV ناخواسته در لوله (pipe) جلوگیری میکند. نتیجهٔ رمزگشاییِ هیچچیز به WAV/AU فایلی است که در صورت امکان جستوجو تنها شامل سرآیند است و در صورت ناممکن بودن جستوجو واقعاً خالی است (حتی بدون سرآیند). نوشتن درست دادهها با سرآیندهای پیشبینانه در خروجی استاندارد کار سادهای نیست.
- --au file
- فایل MPEG را پخش نمیکند، بلکه آن را در قالب صوتی SUN در file مینویسد. اگر - بهعنوان نام فایل استفاده شود، فایل AU در stdout نوشته میشود. برای دردسرهای سرآیند با جریانهای غیرقابل جستوجو، بند مربوط به نوشتن WAV را ببینید.
- --cdr file
- فایل MPEG را پخش نمیکند، بلکه آن را بهصورت فایل CDR در file مینویسد. اگر - بهعنوان نام فایل استفاده شود، فایل CDR در stdout نوشته میشود.
- --reopen
- باز کردن مجدد اجباری دستگاه صوتی پس از هر قطعه.
- --cpu decoder-type
- انتخاب یک رمزگشای خاص (بهینهسازیشده برای یک CPU خاص)، برای نمونه i586 یا MMX. فهرست رمزگشاهای موجود بسته به نسخهٔ ساخت و آنچه CPU شما پشتیبانی میکند، میتواند متفاوت باشد. این گزینه تنها زمانی در دسترس است که ساخت برنامه واقعاً شامل چندین رمزگشای بهینهشده باشد.
- --test-cpu
- آزمایش CPU شما و چاپ فهرستی از گزینههای ممکن برای --cpu.
- --list-cpu
- فهرست کردن تمام گزینههای رمزگشای موجود، صرفنظر از پشتیبانی شدن توسط CPU شما.
- -g gain, --gain gain
- [منسوخشده] تنظیم بهرهٔ (gain) خروجی سختافزار صوتی (پیشفرض: عدم تغییر). واحد مقدار بهره به سختافزار و پودمان خروجی وابسته است. (این پارامتر صرفاً برای سازگاری با نسخههای پیشین ارائه شده و ممکن است در آینده بدون اطلاع قبلی حذف شود. از پخشکنندهٔ صوتی برای پخش و از یک برنامهٔ میکسر برای میکس استفاده کنید، به سبک یونیکس!)
- -f factor, --scale factor
- تغییر ضریب مقیاس (پیشفرض: 32768).
- --rva-mix, --rva-radio
- فعالسازی RVA (تنظیم بلندی نسبی صدا) با استفاده از مقادیر ذخیرهشده برای حالت رادیویی / حالت میکس ReplayGain بهطوری که بلندی صدای تمام قطعهها تقریباً یکسان باشد. از نخستین اطلاعات معتبر یافتشده در برچسبهای ID3V2 (دیدگاهی با نام RVA یا فریم RVA2) یا سرآیند ReplayGain در برچسب Lame/Info استفاده میشود.
- --rva-album, --rva-audiophile
- فعالسازی RVA (تنظیم بلندی نسبی صدا) با استفاده از مقادیر ذخیرهشده برای حالت صوتیدوست (audiophile) / حالت آلبوم ReplayGain که معمولاً اثر آن تنظیم بلندی صدای آلبوم با حفظ بلندی نسبی صدا در داخل آلبوم است. از نخستین اطلاعات معتبر یافتشده در برچسبهای ID3V2 (دیدگاهی با نام RVA_ALBUM یا فریم RVA2) یا سرآیند ReplayGain در برچسب Lame/Info استفاده میشود.
- -0, --single0; -1, --single1
- رمزگشایی تنها کانال 0 (چپ) یا کانال 1 (راست)، بهترتیب. این گزینهها تنها برای جریانهای MPEG استریو در دسترس هستند.
- -m, --mono, --mix, --singlemix
- میکس هر دو کانال / رمزگشایی بهصورت مونو. این کار زمان CPU کمتری نسبت به رمزگشایی کامل استریو مصرف میکند.
- --stereo
- اجبار به خروجی استریو
- -r rate, --rate rate
- تنظیم نرخ نمونهبرداری (پیشفرض: خودکار). در صورتی که به یک نرخ بیت ثابت و مستقل از نرخ جریان mpeg نیاز داشته باشید، ممکن است بخواهید این مقدار را تغییر دهید. mpg123 نرخ را بهطور خودکار تبدیل میکند. سپس باید این گزینه را با --stereo یا --mono ترکیب کنید.
- --resample method
- تنظیم روش نمونهبرداری مجدد (resampling) برای بهکارگیری در صورت اجبار نرخ خروجی. گزینهها (غیرحساس به بزرگی و کوچکی حروف) شامل NtoM، dirty و fine هستند. نمونهبردار مجدد fine پیشفرض است. این روش از نمونهبردار مجددِ کمتأخیر و نسبتاً کارآمدِ libsyn123 برای پسپردازش خروجی حاصل از libmpg123 استفاده میکند، به جای رمزگشای سریع اما بسیار ابتداییِ NtoM (روش حذف نمونه) که mpg123 دهههاست ارائه میدهد. اگر زمان CPU بسیار محدودی دارید، NtoM را انتخاب کنید، زیرا نمونهبردار مجدد معمولاً به زمان بیشتری نسبت به خودِ رمزگشای MPEG نیاز دارد. برنامهٔ mpg123 بهاندازهٔ کافی هوشمند است که حالتهای کاهش نمونهبرداری 2to1 یا 4to1 را با پسپردازش برای کاهش شدید نرخ نمونهبرداری ترکیب کند.
- -2, --2to1; -4, --4to1
- کاهش نرخ نمونهبرداری با نسبت 2:1 (۲۲ کیلوهرتز از ۴۴٫۱ کیلوهرتز) یا 4:1 (۱۱ کیلوهرتز) را بهترتیب روی جریان خروجی انجام میدهد. مقداری در چرخههای CPU صرفهجویی میکند، اما البته بسامدهای بالا را دور میریزد، زیرا رمزگشا زحمت تولید آنها را به خود نمیدهد.
- --pitch value
- تنظیم تغییر زیروبمی (افزایش/کاهش سرعت، 0 خنثی است؛ 0.05 یعنی ۵٪ افزایش سرعت). هنگامی که نرخ خروجی اجبار نشده باشد، این گزینه نرخ نمونهبرداری خروجی را تغییر میدهد، بنابراین تنها در محدودهای کار میکند که سامانه/سختافزار صوتی شما پشتیبانی کند. وقتی این گزینه را با یک نرخ خروجی ثابت ترکیب کنید، در عوض نسبت نمونهبرداری مجدد نرمافزاری را اصلاح میکند.
- --8bit
- اجبار به خروجی 8bit
- --float
- اجبار به کدگذاری f32
- -e enc, --encoding enc
- انتخاب کدگذاری نمونههای خروجی. مقادیر ممکن شامل f32 (ممیز شناور ۳۲ بیتی)، s32 (عدد صحیح علامتدار ۳۲ بیتی)، u32 (عدد صحیح بدون علامت ۳۲ بیتی) و گونههایی با تعداد بیتهای متفاوت (s24، u24، s16، u16، s8، u8) و همچنین گونههای ویژهای مانند ulaw و alaw هشت بیتی هستند. برای دیدن کدگذاریهای واقعاً موجود، خروجی longhelp برنامهٔ mpg123 را ببینید.
- -d n, --doublespeed n
- تنها پخش کردن هر فریم n-اُم. این کار باعث میشود جریان MPEG با سرعت n برابر بیشتر پخش شود، که میتواند برای جلوههای ویژه استفاده شود. همچنین میتواند با گزینهٔ --halfspeed برای پخش ۳ فریم از هر ۴ فریم و موارد مشابه ترکیب شود. هنگام استفاده از این گزینه انتظار کیفیت صدای عالی را نداشته باشید.
- -h n, --halfspeed n
- پخش هر فریم به تعداد n بار. این کار باعث میشود جریان MPEG با سرعت 1/n-ام (n برابر کندتر) پخش شود، که میتواند برای جلوههای ویژه استفاده شود. همچنین میتواند با گزینهٔ --doublespeed برای دو برابر کردن هر فریم سوم یا مواردی از این دست ترکیب شود. هنگام استفاده از این گزینه انتظار کیفیت صدای عالی را نداشته باشید.
- -E file, --equalizer
- فعالسازی برابرسازی (اکولایزر)، برگرفته از file. فایل باید شامل ۳۲ سطر داده باشد، سطرهای توضیحات اضافی میتوانند با # آغاز شوند. هر سطر داده شامل دو مدخل ممیز شناور است که با فاصله از هم جدا شدهاند. آنها بهترتیب ضرایب ضرب کانالهای چپ و راست را برای یک باند بسامدی مشخص تعیین میکنند. سطر نخست مربوط به پایینترین، و سطر سیودوم مربوط به بالاترین باند بسامدی است. توجه داشته باشید که میتوانید اکولایزر را بهصورت تعاملی با رابط کنترلی عمومی کنترل کنید. همچنین دقت کنید که اینها ۳۲ باند کدک MPEG هستند، نه با فاصلهبندیای که در یک اکولایزر گرافیکی معمولی میبینید. مزیت آن این است که هیچ بار محاسباتی اضافهای علاوه بر رمزگشایی ندارد. عیب آن این است که شما تقریباً صدای بم (bass) را در باند 0، فرکانسهای میانی (بالایی) را در باند 1، و صدای زیر (treble) را در تمام باندهای دیگر خواهید داشت.
- --gapless
- فعالسازی کدی که نمونههای اضافی (بدردنخور) را در ابتدا و انتهای قطعهها حذف میکند، و گذارهای بدون وقفه میان فایلهای MPEG را در شرایطی که لایهگذاری رمزگذار و تأخیرهای کدک مانع آن میشوند، امکانپذیر میسازد. این قابلیت بهطور پیشفرض از نسخهٔ 1.0.0 برنامهٔ mpg123 فعال است.
- --no-gapless
- غیرفعال کردن کد پخش بدون وقفه. این کار رمزگشاییهای MP3 را به همراه تأخیر و لایهگذاری رمزگذار، بهعلاوهٔ تأخیر رمزگشای mpg123 در اختیارتان میگذارد.
- --no-infoframe
- عدم تجزیهٔ فریم Xing/Lame/VBR/Info و رمزگشایی آن دقیقاً مانند یک پخشکنندهٔ سختافزاری قدیمی و نادان MP3. این کار مستلزم غیرفعال شدن پخش بدون وقفه است زیرا اطلاعات لازم در فریم فرادادهٔ یادشده قرار دارد..TP -D n, --delay n ایجاد تأخیر به مدت n ثانیه پیش از هر قطعه.
- -o h, --headphones
- هدایت خروجی صدا به درگاه هدفون (تنها در برخی سختافزارها؛ AIX، HP، SUN).
- -o s, --speaker
- هدایت خروجی صدا به بلندگو (تنها در برخی سختافزارها؛ AIX، HP، SUN).
- -o l, --lineout
- هدایت خروجی صدا به درگاه خروجی خطی (line-out) (تنها در برخی سختافزارها؛ AIX، HP، SUN).
- -b size, --buffer size
- استفاده از یک بافر خروجی صدا با اندازهٔ size کیلوبایت. این گزینه برای گذر از دورههای کوتاه فعالیت سنگین سیستم مفید است، که در حالت عادی باعث قطعی در خروجی صدا میشوند. باید اندازهٔ بافر را حداقل 1024 (یعنی ۱ مگابایت، که تقریباً معادل ۶ ثانیه دادههای صوتی است) یا بیشتر تعیین کنید؛ مقادیر کمتر از حدود 300 چندان منطقی نیستند. مقدار پیشفرض 0 است که بافرینگ را غیرفعال میکند.
- --preload fraction
- صبر کردن برای پر شدن بافر به میزان fraction پیش از شروع پخش (کسری بین 0 و 1). میتوانید این پیشبافرینگ را تنظیم کنید تا صدا سریعتر شنیده شود یا پخش رادیوی اینترنتی پایدارتر و بدون وقفهای داشته باشید. پیشفرض 0.2 است (صبر برای پر شدن ۲۰٪ بافر، که در نسخهٔ 1.23 از 1 تغییر کرده است).
- --devbuffer seconds
- تنظیم بافر دستگاه به ثانیه؛ مقدار <= 0 به معنای مقدار پیشفرض است. این همان بافر کوچکی است که میان برنامه و بکاند صوتی (audio backend) قرار دارد و احتمالاً ارتباط مستقیمی با بافرهای سختافزاری دارد.
- --smooth
- نگهداشتن دادههای بافر در مرز میان قطعهها -- به این معنی که بافر بین قطعهها خالی نمیشود تا پخش روانتری حاصل شود.
گزینههای متفرقه (MISC OPTIONS)
- -t, --test
- حالت آزمایشی. جریان صوتی رمزگشایی میشود، اما هیچ خروجیای ارسال نمیشود.
- -c, --check
- بررسی برای تخطی از محدودهٔ فیلتر (clipping)، و گزارش آن برای هر فریم در صورت وقوع.
- -v, --verbose
- افزایش سطح پرگویی (verbosity). برای نمونه، شمارههای فریم را در حین رمزگشایی نمایش میدهد.
- -q, --quiet
- حالت بیصدا. سرکوب پیامهای تشخیصی.
- -C, --control
- فعال کردن کلیدهای کنترلی ترمینال. در صورت شناسایی ترمینال، این گزینه به طور خودکار فعال میشود. به طور پیشفرض، از کلید 's' یا کلید فاصله (space) برای توقف/شروع مجدد (مکث، ادامهٔ) پخش، از 'f' برای پرش به جلو و رفتن به آهنگ بعدی، از 'b' برای بازگشت به ابتدای آهنگ، از ',' برای بازپیچی به عقب، از '.' برای حرکت سریع به جلو، و از 'q' برای خروج استفاده کنید. برای دیدن فهرست کامل کلیدهای کنترلی موجود، کلید 'h' را فشار دهید. قابلیت حلقهٔ A-B با کلید 'o' بازهٔ زمانی پیشفرض حلقه را به بازهٔ میان دو بار فشردن کلید 'o' تغییر میدهد و فشردن بار سوم (یا زدن کلید 'p') به پخش حلقهای پایان میدهد. پس از آن، کلید 'p' از بازهٔ بهروزشدهٔ حلقه استفاده خواهد کرد.
- --no-control
- غیرفعال کردن کنترل ترمینال حتی در صورت شناسایی ترمینال.
- --title
- در ترمینالهای xterm، rxvt، screen و iris-ansi (سازگار، متغیر محیطی TERM بررسی میشود)، عنوان پنجره را به نام آهنگی که در حال پخش است تغییر میدهد.
- --pauseloop seconds
- تنظیم طول بازهٔ زمانی حلقه در حالت حلقهٔ ثابت کنترل ترمینال، به عنوان یک عدد ممیز شناور (به جای مقدار پیشفرض 0.5 ثانیه). این مقدار را میتوان در زمان اجرا با استفاده از قابلیت حلقهٔ A-B بازنویسی کرد.
- --name name
- تنظیم نام این نمونه (instance)، که احتمالاً در جاهای گوناگون به کار میرود. این گزینه نام کلاینت را برای خروجی JACK تنظیم میکند.
- --long-tag
- نمایش اطلاعات برچسب ID3 همواره در قالب طولانی با اختصاص یک خط به هر مورد (هنرمند، عنوان، ...)
- --utf8
- صرفنظر از متغیرهای محیط، چاپ فرادادهها در قالب UTF-8 انجام میشود (در غیر این صورت، در صورت استفاده نکردن از لوکال UTF-8، نسخهٔ تقلیلیافتهٔ ASCII را دریافت خواهید کرد).
- -R, --remote
- فعالسازی رابط کنترلی عمومی (generic control interface). سپس mpg123 دستورها را از stdin خوانده و اجرا میکند. کاربرد پایه شامل «load <filename>» برای پخش فایل، و موارد بدیهی «pause» و «command» است. دستور «jump <frame>» به یک نقطهٔ مشخص پرش/پیمایش میکند (شماره فریم MPEG). برای دریافت فهرست کامل دستورها و نحو، عبارت «help» را وارد کنید.
- --remote-err
- چاپ پاسخهای حالت کنترل عمومی در خطای استاندارد (stderr)، به جای خروجی استاندارد. این رفتار هنگام استفاده از -s به طور خودکار فعال میشود.
- --fifo path
- ایجاد یک fifo / لولهٔ نامگذاریشده (named pipe) در مسیر مشخصشده و استفاده از آن برای خواندن دستورها به جای ورودی استاندارد.
- --aggressive
- تلاش برای دریافت اولویت بالاتر در سیستم.
- -T, --realtime
- تلاش برای دستیابی به اولویت بلادرنگ (realtime). این گزینه برای اثرگذاری معمولاً نیازمند دسترسیهای مدیر سیستم (root) است.
- -?, --help
- نمایش راهنمای کوتاه دربارهٔ نحوهٔ کاربرد.
- --longhelp
- نمایش راهنمای کامل و طولانی دربارهٔ نحوهٔ کاربرد.
- --version
- چاپ رشتهٔ نسخه.
- --libversion
- چاپ اطلاعات نسخهٔ کتابخانههای mpg123 مورد استفاده (libmpg123، libout123، libsyn123)..SH "پشتیبانی از HTTP (HTTP SUPPORT)" علاوه بر خواندن جریانهای صوتی MPEG از فایلهای معمولی و از ورودی استاندارد (standard input)، mpg123 از دریافت جریانهای صوتی MPEG یا لیستهای پخش (playlists) از طریق پروتکل HTTP که در وب جهانگستر (WWW) استفاده میشود نیز پشتیبانی میکند. چنین فایلهایی با استفاده از اصطلاحاً URL مشخص میشوند که با http:// یا https:// آغاز میگردد. هنگامی که فایلی با این پیشوند مواجه شود، mpg123 از نسخهٔ 1.30.0 به طور پیشفرض یک برنامهٔ کمکی خارجی (یا wget(1) یا curl(1)، گزینهٔ --network را ببینید) را برای واکشی منبع فراخوانی میکند. میتوانید دسترسی از طریق سرور پراکسی را با استفاده از متغیرهای محیطی استانداردی که آن برنامهها پشتیبانی میکنند، پیکربندی کنید. گزینهٔ --proxy که mpg123 پیش از نسخهٔ 1.30.0 برای کدهای شبکهٔ داخلی خود استفاده میکرد، اکنون در ساختهای پیشفرض حذف شده است و احتمالاً در نسخهٔ 1.31.1 برای همیشه کنار گذاشته خواهد شد.
توجه داشته باشید که برای پخش فایلهای صوتی MPEG از یک سرور وب، لازم است اتصال به آن سرور به اندازهٔ کافی سریع باشد. برای نمونه، یک فایل MPEG با نرخ 128 kbit/s نیازمند اتصال شبکهای با حداقل سرعت 128 kbit/s (حدود 16 kbyte/s) به علاوهٔ بار اضافی پروتکل است. اگر با قطعیهای کوتاهمدت شبکه مواجه هستید، باید گزینهٔ -b (بافر) را برای دور زدن این قطعیها امتحان کنید. اگر اتصال شبکهٔ شما در کل برای دریافت بیدرنگ فایلهای صوتی MPEG به اندازهٔ کافی سریع نیست، میتوانید ابتدا فایلها را روی دیسک سخت محلی خود بارگیری کرده (برای نمونه با استفاده از wget(1)) و سپس آنها را از آنجا پخش کنید.
جریانهای دارای فرادادههای درونسازیشدهٔ ICY پشتیبانی میشوند؛ فاصلهٔ زمانی آنها از طریق سرآیندهای HTTP یا --icy-interval مشخص میگردد.
توقف و وقفه (INTERRUPT)
هنگامی که در حالت کنترل پایانه هستید، میتوانید با فشردن کلید q خارج شوید، در حالی که در هر زمان دیگری نیز میتوانید mpg123 را با فشردن Ctrl-C متوقف کنید. اگر در حالت کنترل پایانه نباشید، این کار باعث پرش به فایل بعدی (در صورت وجود) میشود. اگر میخواهید در آن حالت پخش بلافاصله متوقف شود، کلید Ctrl-C را دو بار پشت سر هم (در حدود یک ثانیه) فشار دهید.
توجه داشته باشید که نتیجهٔ خروج از mpg123 با فشردن Ctrl-C ممکن است به دلیل بافر شدن دادههای صوتی در دستگاه صوتی فوراً شنیده نشود. این تاخیر وابسته به سیستم است، اما معمولاً بیش از یک یا دو ثانیه نخواهد بود.
خط وضعیت پخش (PLAYBACK STATUS LINE)
در حالت پرگو (verbose)، mpg123 خطی را با اطلاعات گوناگون حول موقعیت فعلی پخش بهروزرسانی میکند. در هر پایانهٔ مناسبی، این خط همچنین با معکوس کردن رنگها در بخشی از خط با توجه به موقعیت فعلی، به عنوان یک نوار پیشرفت برای فایل جاری عمل میکند. نمونهای از یک خط کامل به این صورت است:
> 0291+0955 00:01.68+00:28.22 [00:05.30] mix 100=085 192 kb/s 576 B acc 18 clip p+0.014
اطلاعات به ترتیب شامل موارد زیر است:
- >
- وضعیت پخش تکنویسهای («>» برای در حال پخش، «=» برای مکث/حلقه، «_» برای متوقفشده)
- 0291+0955
- آفست فریم فعلی و تعداد فریمهای باقیمانده پس از علامت مثبت
- 00:01.68+00:28.22
- موقعیت فعلی و زمان باقیمانده در قالب خوانا برای انسان (ساعت، دقیقه، ثانیه)
- [00:05.30]
- میزان پر بودن بافر خروجی بر حسب زمان پخش، در صورتی که بافر فعال باشد
- mix
- حالت RVA انتخابشده (مقادیر ممکن: mix، alb (آلبوم)، و --- (خنثی، خاموش))
- 100=085
- حجم صدای تنظیمشده و حجم صدای موثرِ تغییریافته توسط RVA پس از علامت مساوی
- 192 kb/s
- نرخ بیت (bitrate) فعلی
- 576 B
- اندازهٔ فریم جاری بر حسب بایت
- acc
- دقت موقعیتها؛ مقادیر ممکن عبارتند از «acc» برای موقعیتهای دقیق یا «fuz» برای تقریبی (fuzzy) (با آفستهای بایتی حدسزدهشده با استفاده از میانگین اندازه فریم)
- 18 clip
- میزان نمونههای بریدهشده (clipped samples)؛ تنها در صورتی غیرصفر است که رمزگشا (decoder) آن را گزارش دهد (رمزگشای عمومی این کار را میکند، اما برخی موارد بهینهشده خیر)
- p+0.014
- تغییر زیروبمی صدا (pitch) (افزایش/کاهش نرخ نمونهبرداری پخش بنا به درخواست کاربر).SH "نکات (NOTES)" رمزگشایی صوتی MPEG به توان پردازشی قابلتوجهی از پردازنده نیاز دارد، بهویژه layer-3. برای رمزگشایی بیدرنگ آن، باید دستکم یک پردازندهٔ i486DX4، Pentium، Alpha، SuperSparc یا معادل آنها را داشته باشید. همچنین میتوانید از گزینهٔ -m برای رمزگشایی فقط تککاناله (mono) استفاده کنید که بار پردازنده را برای جریانهای layer-3 تا حدی کاهش میدهد. همچنین گزینههای -2 و -4 را ببینید.
اگر روشهای دیگر کارساز نبود، اجازه دهید mpg123 در یک فایل رمزگشایی کند و سپس از یک ابزار مناسب برای پخش آن فایل با بار پردازشی کمتر استفاده کنید. به احتمال زیاد میتوانید mpg123 را به شکلی پیکربندی کنید که قالبی مناسب برای دستگاه صوتی شما تولید کند (بخش بالا دربارهٔ کدگذاریها و نرخهای نمونهبرداری را ببینید).
اگر سیستم شما به طور کلی به اندازه کافی سریع است تا به صورت بیدرنگ رمزگشایی کند، اما گاهی دورههایی با بار سنگین سیستم رخ میدهد (مانند cronjobها، ورود از راه دور کاربران، اجرای برنامههای «بزرگ» و غیره) که موجب وقفه در خروجی صدا میشود، باید از گزینهٔ -b برای استفاده از یک بافر با اندازهٔ معقول (دستکم ۱۰۰۰ کیلوبایت) استفاده کنید.
وضعیت خروج (EXIT STATUS)
تا نگارش 1.25.x، mpg123 همواره وضعیت خروج 0 را برمیگرداند، حتی برای ورودیهای کاملاً نامعتبر. خطاهای مهلک تنها برای خروجی در نظر گرفته میشدند. از نگارش 1.26.0، این رفتار به روال شرح داده شده در زیر تغییر یافت.
هنگامی که از رابط کنترل از راه دور (که خطاهای ورودی را به صورت پیامهای متنی بازمیگرداند) استفاده نمیشود، وضعیت خروج فرآیند تنها در صورتی صفر (موفقیتآمیز) خواهد بود که تمام قطعات درون فهرست پخش دستکم یک فریم تجزیهشده داشته باشند (حتی اگر بدون نقص رمزگشایی نشده باشند)، یا از نظر ساختار MPEG تهی باشند (شاید تنها حاوی متادیتا باشند، یا واقعاً یک فایل خالی). وقتی هیچ چیزی را رمزگشایی نمیکنید، نتیجه هیچ است و این مشکلی ندارد. هنگامی که یک قطعه بعداً به دلیل خطاهای تجزیهکننده یا قطعی ارتباط شبکه متوقف شود، این حالت به عنوان پایان قطعه تلقی میشود، اما فینفسه باعث شکست فرآیند نمیشود. وجود یک جریان واقعاً خراب (یا ناموجود) در فهرست پخش، منجر به وضعیت خروج غیرصفر خواهد شد، که با دیگر ابزارهای UNIX همخوانی دارد.
خطا در خروجی صوتی، بدون در نظر گرفتن اینکه چه مقدار داده قبلاً با موفقیت پخش شده است، فوراً منجر به پایان فرآیند با یک وضعیت خروج غیرصفر میشود. اغماض تنها در سمت ورودی است.
گزارش باگها (BUGS)
عمدتاً MPEG-1 layer 2 و layer 3 در عمل آزمایش شدهاند. لطفاً هرگونه اشکال را گزارش کرده و برای کمک به رفع آنها، فایلهای آزمایشی ارائه دهید.
هیچ بررسی خطای CRC انجام نمیشود. با این حال رمزگشا طوری ساخته و آزمایش شده است که با جریانهای آسیبدیده رفتار مناسبی داشته باشد. در بیشتر موارد، فریمهای آسیبدیده فقط بیصدا خواهند بود.
برخی پلتفرمها فاقد پشتیبانی از سختافزار صوتی هستند؛ ممکن است بتوانید از گزینهٔ -s برای فرستادن دادههای رمزگشاییشده به برنامهای که میتواند آن را روی دستگاه صوتی شما پخش کند، استفاده کنید.
نویسندگان (AUTHORS)
- نگهدارنده:
-
Thomas Orgis <maintainer@mpg123.org>, <thomas@orgis.org> - سازندهٔ اصلی:
-
Michael Hipp
از کدها یا ایدههای افراد مختلف استفاده میکند؛ فایل AUTHORS همراه با کد منبع را ببینید.
مجوز (LICENSE)
mpg123 تحت مجوز GNU Lesser/Library General Public License (LGPL)، نگارش 2.1 منتشر شده است.
وبگاه (WEBSITE)
http://www.mpg123.org
http://sourceforge.net/projects/mpg123
| 11 Jul 2022 |