| shairport-sync(1) | General Commands Manual | shairport-sync(1) |
نام (NAME)
shairport-sync - پخشکننده صوتی AirPlay و AirPlay 2
خلاصه دستور (SYNOPSIS)
shairport-sync [-djvw] [-a service-name | --name=service-name] [-B command | --onstart=command] [-c configurationfile | --configfile=configurationfile] [-d | --daemon] [-E command | --onstop=command] [-g | --get-cover-art] [-j | --justDaemoniseNoPIDFile] [--logOutputLevel] [--log-to-syslog] [-L latency | --latency=latency] [-m backend | --mdns=backend] [-M | --metadata-enable] [-o backend | --output=backend] [-p port | --port=port] [--password=secret] [-r threshold | --resync=threshold] [--statistics] [-S mode | --stuffing=mode] [-t timeout | --timeout=timeout] [--tolerance=frames] [-v | --verbose] [-w | --wait-cmd] [-- audio_backend_options]
shairport-sync -X | --displayConfig
shairport-sync -h
shairport-sync -k
shairport-sync -V
توضیحات (DESCRIPTION)
Shairport Sync صداهای AirPlay را پخش میکند. این برنامه میتواند برای دریافت استریم از دستگاههای سنتی AirPlay (معروف به «AirPlay 1») یا دستگاههای AirPlay 2 ساخته شود.
پشتیبانی از AirPlay 2 محدود است و AirPlay 2 از طریق نرمافزار iTunes برای Windows پشتیبانی نمیشود. برای کارکرد AirPlay 2، برنامهای مکمل به نام nqptp باید نصب شده باشد.
لطفاً برای جزئیات بیشتر به https://github.com/mikebrady/shairport-sync مراجعه کنید.
نام فایل اجرایی Shairport Sync برابر با shairport-sync است.
تنظیمات فایل پیکربندی (CONFIGURATION FILE SETTINGS)
بهتر است برای راهاندازی Shairport Sync از فایل پیکربندی استفاده کنید؛ زیرا - فارغ از چند دستور با اهداف خاص - مجموعهای بسیار غنیتر از گزینهها را نسبت به خط فرمان در اختیارتان میگذارد. این فایل معمولاً shairport-sync.conf نام دارد و عموماً در دایرکتوری پیکربندی سیستم قرار دارد که در لینوکس معمولاً دایرکتوری /etc و در یونیکسهای BSD دایرکتوری /usr/local/etc است. برای ویرایش آن ممکن است به دسترسیهای ریشه (root) نیاز داشته باشید.
(نکته: ممکن است Shairport Sync برای استفاده از یک دایرکتوری پیکربندی دیگر کامپایل شده باشد. با اجرای دستور $ shairport-sync -V میتوانید دایرکتوری مربوطه را بررسی کنید. آخرین مورد در رشته خروجی، مقدار sysconfdir یعنی همان دایرکتوری پیکربندی سیستم است.)
درون فایل پیکربندی، تنظیمات در گروههایی سازماندهی شدهاند؛ برای نمونه، یک گروه general برای تنظیمات استاندارد و یک گروه alsa با تنظیمات مربوط به بکاند ALSA وجود دارد. در اینجا نمونهای از یک فایل پیکربندی متداول آورده شده است:
general = {
name = "Mike's Boombox";
};
alsa = {
output_device = "hw:0";
mixer_control_name = "PCM";
};
کاربران عموماً تنها نیاز دارند که (۱) نام سرویس و (۲) دستگاه خروجی را مشخص کنند. اگر تنظیم name نادیده گرفته شود، نام سرویس از hostname سیستم مشتق خواهد شد. به طور پیشفرض، اگر بکاند ALSA در زمان ساخت گنجانده شده باشد، انتخاب خواهد شد. اگر دستگاه خروجی (alsa) دارای میکسری باشد که بتوان از آن برای کنترل بلندی صدا استفاده کرد، آنگاه (۳) نام میکسر نیز باید مشخص شود. در صورت وجود میکسر، انجام این کار بسیار مهم است؛ در غیر این صورت، حداکثر خروجی دستگاه روی هر مقداری خواهد بود که میکسر به طور تصادفی روی آن تنظیم شده باشد، که ممکن است خروجی بسیار ضعیف یا حتی کاملاً بیصدا باشد.
یک فایل پیکربندی نمونه شامل تمام تنظیمات ممکن، که همگی به صورت کامنت هستند، در مسیر shairport-sync.conf.sample در دایرکتوری پیکربندی سیستم - در لینوکس /etc و در یونیکسهای BSD در /usr/local/etc - نصب میشود.
این فایل پیکربندی نمونه شامل مستندات جامعی از تنظیمات است و همچنین در نشانی https://github.com/mikebrady/shairport-sync/blob/master/scripts/shairport-sync.conf نیز در دسترس است. لطفاً برای دریافت تازهترین اطلاعات در مورد تنظیمات فایل پیکربندی به آن مراجعه کنید.
گزینهها (OPTIONS)
دو نوع گزینه خط فرمان برای shairport-sync وجود دارد: گزینههای برنامه (program options) معمولی و گزینههای بکاند صوتی (audio backend options). گزینههای برنامه همواره ابتدا ذکر میشوند و پس از آنها گزینههای بکاند صوتی میآیند که نماد -- قبل از آنها قرار میگیرد.
برای مشاهده نمونههای استفاده، بخش «مثالها (EXAMPLES)» را ببینید.
گزینههای برنامه (PROGRAM OPTIONS)
گزینههای برنامه مستقیماً توسط خود shairport-sync استفاده میشوند.
- -a service name | --name=service name
- استفاده از
این service name
برای
شناساندن
این
پخشکننده
در
نرمافزارهایی
مانند iTunes.
جایگزینیهای زیر مجاز هستند: %h برای hostname رایانه، %H برای hostname رایانه با حرف اول بزرگ (تنها برای حروف ASCII)، %v برای شماره نسخه shairport-sync مانند "3.0.1" و %V برای رشته کامل نسخه shairport-sync مانند "3.0.1-OpenSSL-Avahi-ALSA-soxr-metadata-sysconfdir:/etc".
پیشفرض "%H" است که با hostname با حرف اول بزرگ جایگزین میشود.
- -B program | --on-start=program
- اجرای program
هنگامی که
پخش صدا در
آستانه
شروع است.
مسیر کامل
برنامه را
مشخص کنید،
مثلاً /usr/bin/logger.
اسکریپتهای
اجرایی نیز
قابل
استفاده
هستند، اما
باید در خط
اول دارای
شِبانگ
مناسب (#!/bin/sh)
باشند.
اگر میخواهید shairport-sync قبل از شروع پخش منتظر بماند تا دستور تکمیل شود، گزینه -w را نیز اضافه کنید.
- -c filename | --configfile=filename
- خواندن تنظیمات پیکربندی از filename. حالت پیشفرض خواندن تنظیمات از shairport-sync.conf در دایرکتوری پیکربندی سیستم است - یعنی /etc در لینوکس یا /usr/local/etc در یونیکسهای BSD. برای اطلاعات درباره تنظیمات پیکربندی، بخش «تنظیمات فایل پیکربندی» در بالا را ببینید.
- -d | --daemon
- دستور به shairport-sync برای اجرا در پسزمینه به عنوان دیمن (daemon). این برنامه شناسه فرآیند (PID) خود را در فایلی، معمولاً در /var/run/shairport-sync/shairport-sync.pid، ذخیره میکند که توسط گزینههای -k، -D و -R برای پیدا کردن دیمن در زمانهای بعدی استفاده میشود. همچنین گزینه -j را ببینید. این ویژگی تنها در صورتی فعال است که shairport-sync با پشتیبانی از libdaemon کامپایل شده باشد.
- -E program | --on-stop=program
- اجرای program
هنگامی که
پخش صدا
پایان
یافته است.
مسیر کامل
به برنامه
را مشخص
کنید،
مثلاً /usr/bin/logger.
اسکریپتهای
اجرایی نیز
میتوانند
استفاده
شوند، اما
باید در خط
اول دارای
شِبانگ
مناسب (#!/bin/sh)
باشند.
اگر میخواهید shairport-sync قبل از ادامه فعالیت منتظر بماند تا اجرای دستور به پایان برسد، گزینه -w را نیز انتخاب کنید.
- -g | --get-coverart
- این گزینه نیازمند فعال بودن گزینه -M | --metadata-enable است، و shairport-sync را قادر میسازد تا تصویر کاور (cover art) را از منبع درخواست کرده و آن را به عنوان متادیتا پردازش کند.
- -h | --help
- نمایش یک پیام راهنمای مختصر و خروج.
- -j | justDaemoniseNoPIDFile
- دستور به shairport-sync برای اجرا در پسزمینه به عنوان دیمن. بر خلاف گزینه -d، این گزینه شناسه فرآیند (PID) را در فایلی ثبت نمیکند - صرفاً (به همین دلیل حرف "j" برگرفته از "just") به عنوان دیمن اجرا میشود. این قابلیت تنها در صورتی فعال است که shairport-sync با پشتیبانی از libdaemon کامپایل شده باشد.
- -k | --kill
- متوقف کردن (Kill) دیمن shairport-sync و خروج. (نیازمند آن است که دیمن PID خود را در یک فایل مشخص نوشته باشد - گزینه -d را ببینید. تنها در صورتی در دسترس است که shairport-sync با پشتیبانی از libdaemon کامپایل شده باشد.)
- --logOutputLevel
- از این گزینه برای ثبت (لاگ کردن) سطح بلندی صدا در زمان تغییر صدا استفاده کنید. در صورتی که به دنبال یافتن مقدار مناسبی برای حداکثر سطح صدا باشید، این گزینه میتواند مفید باشد. این ویژگی به عنوان یک تنظیم درون فایل پیکربندی در دسترس نیست.
- --log-to-syslog
- هشدارها،
پیامهای
خطا و دیگر
پیامها به
طور
پیشفرض به
STDERR ارسال
میشوند. از
این گزینه
برای هدایت
این
پیامها به
syslog استفاده
کنید. این
گزینه برای
مواقعی که
Shairport Sync به صورت
دیمن اجرا
میشود در
نظر گرفته
شده است.
همچنین --displayConfig را ببینید.
- -L | --latency=latency
- استفاده از
این گزینه
برای تعیین
مقدار
تأخیر
پیشفرض (default
latency)، بر حسب
فریم، برای
صدایی که از
یک منبع
ناشناخته
یا از نسخه
۹ یا
قدیمیتر iTunes
دریافت
میشود.
مقدار
استاندارد
برای
تأخیر
پیشفرض
برابر با
۸۸٬۲۰۰
فریم است
(در شرایطی
که ۴۴٬۱۰۰
فریم در هر
ثانیه وجود
دارد).
لطفاً توجه داشته باشید که این ویژگی منسوخ شده است و در نسخههای آینده shairport-sync حذف خواهد شد.
- -M | --metadata-enable
- درخواست از کلاینت برای ارسال متادیتا. اطلاعات متادیتا به همراه اطلاعات تولیدشده توسط خود shairport-sync به یک پایپ (pipe) هدایت شده و همچنین در قالب بستههای UDP ارسال خواهد شد. در صورت افزودن گزینه -g | --get-cover-art تصویر کاور نیز در صورت موجود بودن ارسال میشود. برای مشاهده یک نمونه خواننده متادیتا، به https://github.com/mikebrady/shairport-sync-metadata-reader مراجعه کنید.
- --metadata-pipename=pathname
- مشخص کردن مسیر پایپ متادیتا. توجه داشته باشید که shairport-sync برای آن دایرکتوری و پایپ به مجوز نوشتن نیاز دارد. مقدار پیشفرض /tmp/shairport-sync-metadata است. اگر نام فایل اجرایی shairport-sync تغییر داده شود، نام پیشفرض پایپ نیز به همان نسبت تغییر خواهد کرد.
- -m mdnsbackend | --mdns=mdnsbackend
- اجبار به استفاده از بکاند mDNS مشخصشده برای اعلان و شناساندن پخشکننده در شبکه. پیشفرض این است که تمام بکاندهای mDNS به ترتیب آزمایش شوند تا یکی از آنها به درستی کار کند.
- -o outputbackend | --output=outputbackend
- اجبار به استفاده از بکاند خروجی مشخصشده برای پخش صدا. پیشفرض تلاش برای استفاده از اولین بکاند در دسترس است.
- -p port | --port=port
- گوش دادن به درخواستهای پخش روی port مشخصشده. پیشفرض استفاده از پورت ۵۰۰۰ برای AirPlay و پورت ۷۰۰۰ برای AirPlay 2 است.
- --password=secret
- نیاز به داشتن گذرواژه secret برای اتصال و استریم به سرویس. (این مورد تنها برای AirPlay عمل میکند و برای AirPlay 2 کاربردی ندارد.)
- -r threshold | --resync=threshold
- همگامسازی مجدد در صورتی که زمانبندیها بیش از threshold فریم تفاوت داشته باشند. اگر زمانبندی خروجی بیش از مقدار آستانه با زمانبندی منبع تفاوت داشته باشد، صدا قطع شده و یک همگامسازی مجدد کامل انجام خواهد شد. مقدار پیشفرض این آستانه ۲٬۲۰۵ فریم یعنی ۵۰ میلیثانیه است. مقدار 0 را برای غیرفعال کردن همگامسازی مجدد تعیین کنید. این تنظیم منسوخ شده است و در نسخههای آینده shairport-sync حذف خواهد شد.
- --statistics
- چاپ برخی اطلاعات آماری و کارایی در خروجی خطای استاندارد (STDERR)، یا در syslog در صورتی که گزینه -log-to-syslog نیز در خط فرمان انتخاب شده باشد.
- -S mode | --stuffing=mode
- درونیابی («stuffing») جریان صوتی با استفاده از mode تعیینشده. «Stuffing» به فرآیند افزودن یا کاستن فریمهای صوتی از جریان ارسالی به دستگاه خروجی اشاره دارد تا صدا همواره با پخشکننده همگام باقی بماند. حالت basic معمولاً تقریباً کاملاً غیرقابل شنیدن است. حالت جایگزین، یعنی soxr، حتی کمتر محسوس است اما به توان پردازشی بسیار بیشتری نیاز دارد. برای این حالت، پشتیبانی از libsoxr (کتابخانه SoX Resampler) باید هنگام ساخت shairport-sync فعال شده باشد. تنظیم پیشفرض، یعنی auto، به Shairport Sync اجازه میدهد در صورت توانایی پردازشی کافی سیستم، حالت soxr را انتخاب کند.
- -t timeout | --timeout=timeout
- خروج از
حالت پخش در
صورتی که
جریان صوتی
برای بیش از
timeout ثانیه
قطع شود.
هنگامی که shairport-sync یک جریان صوتی را پخش میکند، یک نشست پخش (session) ایجاد کرده و به هر منبع دیگری که برای استفاده از آن تلاش کند وضعیت مشغول (busy) برمیگرداند. اگر جریان صوتی بیش از timeout ثانیه قطع باشد، نشست پخش خاتمه مییابد. اگر مقدار زمان را برابر با 0 تعیین کنید، shairport-sync هرگز سیگنال مشغول بودن را اعلام نخواهد کرد و مانع از قطع پخش توسط منابع دیگر نخواهد شد. مقدار پیشفرض ۱۲۰ ثانیه است.
- --tolerance=frames
- اجازه دادن به پخش برای خروج از همگامسازی دقیق تا حداکثر frames فریم قبل از اقدام به تصحیح آن. مقدار پیشفرض ۸۸ فریم یعنی ۲ میلیثانیه است. هر چه مقدار این تلورانس کمتر باشد، احتمال وقوع تصحیح بیشازحد (overcorrection) بیشتر است. تصحیح بیشازحد به وضعیتی گفته میشود که تعداد تصحیحات اعمالشده (افزودن و حذف فریمها) بیشتر از مقدار مورد نیاز برای همگام نگه داشتن جریان صوتی باشد. از گزینه --statistics برای پایش سطوح اصلاح استفاده کنید. اصلاحات نباید اختلاف چشمگیری با اصلاحات خالص داشته باشند. این تنظیم منسوخ شده است و در نسخههای آینده shairport-sync حذف خواهد شد.
- -V | --version
- نمایش اطلاعات نسخه و خروج.
- -v | --verbose
- چاپ اطلاعات اشکالزدایی روی خروجی STDERR، یا ارسال آن به syslog در صورتی که گزینه -log-to-syslog نیز استفاده شده باشد. برای دریافت جزئیات بیشتر این گزینه را تا سه بار تکرار کنید (به صورت -vv یا -vvv). از گزینه -vvv باید با احتیاط زیاد استفاده شود، چرا که خروجی بسیار حجیمی تولید میکند.
- -w | --wait-cmd
- منتظر ماندن برای پایان اجرای دستورات مشخصشده با -B یا -E پیش از ادامه فعالیت.
- -X | --displayConfig
- این گزینه
اطلاعات
مرتبط با
پیکربندی Shairport
Sync را ثبت
میکند که
برای
اشکالزدایی
بسیار
کاربردی
است.
اطلاعات
ثبتشده
شامل
مواردی از
سیستمعامل
میزبان،
رشته نگارش
Shairport Sync (که
گزینههای
انتخابشده
زمان ساخت
shairport-sync را نشان
میدهد)،
محتوای خط
فرمانی که
Shairport Sync را
فراخوانی
کرده، نام
فایل
پیکربندی و
تنظیمات
فعال درون
آن است.
اگر این گزینه تنها گزینه موجود در خط فرمان باشد، shairport-sync پس از نمایش اطلاعات خاتمه خواهد یافت.
گزینههای بکاند صوتی (AUDIO BACKEND OPTIONS)
گزینههای بکاند صوتی، گزینههایی در خط فرمان هستند که به بکاند صوتی انتخابی تحویل داده میشوند. پیش از آنها همیشه نماد -- قرار میگیرد تا آنها را تعریف کرده و از گزینههای قبلی برنامه متمایز سازد. با این روش، حروف گزینهها میتوانند بدون هیچگونه تداخل، هم به عنوان گزینههای برنامه و هم به عنوان گزینههای بکاند صوتی مورد استفاده قرار گیرند.
بکاندهای صوتی به همراه گزینههای مربوط به هر یک، در متن راهنمایی که توسط گزینه راهنما (-h یا --help) نمایش داده میشود، فهرست شدهاند.
مثالها (EXAMPLES)
در اینجا یک مثال تا حدی ساختگی آورده شده است:
shairport-sync -a "Joe's Stereo" -o alsa -- -d hw:1,0 -m hw:1 -c PCM
برنامه با نام "Joe's Stereo" نمایان خواهد شد ( -a "Joe's Stereo" ). گزینه برنامه -o alsa مشخص میکند که از بکاند alsa استفاده شود، در نتیجه صدا باید به زیرسیستم صوتی ALSA خروجی داده شود. گزینههای بکاند صوتی پس از جداکننده -- به بکاند alsa تحویل داده میشوند و مشخص میکنند که صدا روی زیردستگاه ۰ از کارت صدای ۱ پخش شود ( -d hw:1,0 ) و با استفاده از کنترل سطح بلندی صدا با نام "PCM" از میکسر همان کارت صدا بهره ببرد ( -c "PCM" ).
مثال بالا تا حدودی ساختگی است: اولاً، اگر بکاند alsa هنگام کامپایل برنامه گنجانده شده باشد، خود به عنوان بکاند پیشفرض خواهد بود و نیازی به ذکر آن نیست و گزینه -o alsa میتواند حذف شود. ثانیاً، زیردستگاه ۰ برای یک کارت صدا حالت پیشفرض است، بنابراین دستگاه خروجی را میتوان صرفاً به صورت -d hw:1 نوشت. ثالثاً، وقتی نام میکسر مشخص میشود ( -c "PCM" )، پیشفرض این است که میکسر روی همان دستگاه خروجی قرار دارد؛ بنابراین استفاده از -m hw:1 در اینجا غیرضروری است. با اعمال این پیشفرضها و سادهسازیها، دستور زیر حاصل میشود:
shairport-sync -a "Joe's Stereo" -- -d hw:1 -c PCM
قدردانیها (CREDITS)
Mike Brady (https://github.com/mikebrady) نرمافزار Shairport Sync را بر پایه Shairport اثر James Wah (https://github.com/abrasive) توسعه داده است.
توضیحات تکمیلی (COMMENTS)
این صفحه راهنما با استفاده از xml2man(1) توسط Oliver Kurth نوشته شده است.
| راهنمای کاربر |