.TH shairport-sync 1 "راهنمای کاربر" .SH "نام (NAME)" shairport-sync \- پخش‌کننده صوتی AirPlay و AirPlay 2 .SH "خلاصه دستور (SYNOPSIS)" \fBshairport-sync [-djvw]\fB [-a \fB\fIservice-name\fB | --name=\fB\fIservice-name\fB]\fB [-B \fB\fIcommand\fB | --onstart=\fB\fIcommand\fB]\fB [-c \fB\fIconfigurationfile\fB | --configfile=\fB\fIconfigurationfile\fB]\fB [-d | --daemon]\fB [-E \fB\fIcommand\fB | --onstop=\fB\fIcommand\fB]\fB [-g | --get-cover-art]\fB [-j | --justDaemoniseNoPIDFile]\fB [--logOutputLevel]\fB [--log-to-syslog]\fB [-L \fB\fIlatency\fB | --latency=\fB\fIlatency\fB]\fB [-m \fB\fIbackend\fB | --mdns=\fB\fIbackend\fB]\fB [-M | --metadata-enable]\fB [-o \fB\fIbackend\fB | --output=\fB\fIbackend\fB]\fB [-p \fB\fIport\fB | --port=\fB\fIport\fB]\fB [--password=\fB\fIsecret\fB]\fB [-r \fB\fIthreshold\fB | --resync=\fB\fIthreshold\fB]\fB [--statistics]\fB [-S \fB\fImode\fB | --stuffing=\fB\fImode\fB]\fB [-t \fB\fItimeout\fB | --timeout=\fB\fItimeout\fB]\fB [--tolerance=\fB\fIframes\fB]\fB [-v | --verbose]\fB [-w | --wait-cmd]\fB [-- \fB\fIaudio_backend_options\fB]\fB shairport-sync -X | --displayConfig\fB shairport-sync -h\fB shairport-sync -k\fB shairport-sync -V\fB \f1 .SH "توضیحات (DESCRIPTION)" ‏Shairport Sync صداهای AirPlay را پخش می‌کند. این برنامه می‌تواند برای دریافت استریم از دستگاه‌های سنتی AirPlay (معروف به «AirPlay 1») یا دستگاه‌های AirPlay 2 ساخته شود. پشتیبانی از AirPlay 2 محدود است و AirPlay 2 از طریق نرم‌افزار iTunes برای Windows پشتیبانی نمی‌شود. برای کارکرد AirPlay 2، برنامه‌ای مکمل به نام \fBnqptp\f1 باید نصب شده باشد. لطفاً برای جزئیات بیشتر به \fBhttps://github.com/mikebrady/shairport-sync\f1 مراجعه کنید. نام فایل اجرایی Shairport Sync برابر با \fBshairport-sync\f1 است. .SH "تنظیمات فایل پیکربندی (CONFIGURATION FILE SETTINGS)" بهتر است برای راه‌اندازی Shairport Sync از فایل پیکربندی استفاده کنید؛ زیرا \- فارغ از چند دستور با اهداف خاص \- مجموعه‌ای بسیار غنی‌تر از گزینه‌ها را نسبت به خط فرمان در اختیارتان می‌گذارد. این فایل معمولاً \fIshairport-sync.conf\f1 نام دارد و عموماً در دایرکتوری پیکربندی سیستم قرار دارد که در لینوکس معمولاً دایرکتوری \fI/etc\f1 و در یونیکس‌های BSD دایرکتوری \fI/usr/local/etc\f1 است. برای ویرایش آن ممکن است به دسترسی‌های ریشه (root) نیاز داشته باشید. (نکته: ممکن است Shairport Sync برای استفاده از یک دایرکتوری پیکربندی دیگر کامپایل شده باشد. با اجرای دستور \fI$ shairport-sync -V\f1 می‌توانید دایرکتوری مربوطه را بررسی کنید. آخرین مورد در رشته خروجی، مقدار \fBsysconfdir\f1 یعنی همان دایرکتوری پیکربندی سیستم است.) درون فایل پیکربندی، تنظیمات در گروه‌هایی سازمان‌دهی شده‌اند؛ برای نمونه، یک گروه \fBgeneral\f1 برای تنظیمات استاندارد و یک گروه \fBalsa\f1 با تنظیمات مربوط به بک‌اند \fBALSA\f1 وجود دارد. در اینجا نمونه‌ای از یک فایل پیکربندی متداول آورده شده است: \fBgeneral = {\f1 \fBname = "Mike's Boombox";\f1 \fB};\f1 \fB\f1 \fBalsa = {\f1 \fBoutput_device = "hw:0";\f1 \fBmixer_control_name = "PCM";\f1 \fB};\f1 کاربران عموماً تنها نیاز دارند که (۱) نام سرویس و (۲) دستگاه خروجی را مشخص کنند. اگر تنظیم \fBname\f1 نادیده گرفته شود، نام سرویس از hostname سیستم مشتق خواهد شد. به طور پیش‌فرض، اگر بک‌اند \fBALSA\f1 در زمان ساخت گنجانده شده باشد، انتخاب خواهد شد. اگر دستگاه خروجی (alsa) دارای میکسری باشد که بتوان از آن برای کنترل بلندی صدا استفاده کرد، آن‌گاه (۳) نام میکسر نیز باید مشخص شود. در صورت وجود میکسر، انجام این کار بسیار مهم است؛ در غیر این صورت، حداکثر خروجی دستگاه روی هر مقداری خواهد بود که میکسر به طور تصادفی روی آن تنظیم شده باشد، که ممکن است خروجی بسیار ضعیف یا حتی کاملاً بی‌صدا باشد. یک فایل پیکربندی نمونه شامل تمام تنظیمات ممکن، که همگی به صورت کامنت هستند، در مسیر \fIshairport-sync.conf.sample\f1 در دایرکتوری پیکربندی سیستم \- در لینوکس \fI/etc\f1 و در یونیکس‌های BSD در \fI/usr/local/etc\f1 \- نصب می‌شود. این فایل پیکربندی نمونه شامل مستندات جامعی از تنظیمات است و همچنین در نشانی \fBhttps://github.com/mikebrady/shairport-sync/blob/master/scripts/shairport-sync.conf\f1 نیز در دسترس است. لطفاً برای دریافت تازه‌ترین اطلاعات در مورد تنظیمات فایل پیکربندی به آن مراجعه کنید. .SH "گزینه‌ها (OPTIONS)" دو نوع گزینه خط فرمان برای shairport-sync وجود دارد: \fBگزینه‌های برنامه (program options)\f1 معمولی و \fBگزینه‌های بک‌اند صوتی (audio backend options)\f1. گزینه‌های برنامه همواره ابتدا ذکر می‌شوند و پس از آن‌ها گزینه‌های بک‌اند صوتی می‌آیند که نماد \fB--\f1 قبل از آن‌ها قرار می‌گیرد. برای مشاهده نمونه‌های استفاده، بخش «مثال‌ها (EXAMPLES)» را ببینید. .SH "گزینه‌های برنامه (PROGRAM OPTIONS)" گزینه‌های برنامه مستقیماً توسط خود shairport-sync استفاده می‌شوند. .TP \fB-a \f1\fIservice name\f1\fB | --name=\f1\fIservice name\f1 استفاده از این \fIservice name\f1 برای شناساندن این پخش‌کننده در نرم‌افزارهایی مانند iTunes. جایگزینی‌های زیر مجاز هستند: \fB%h\f1 برای hostname رایانه، \fB%H\f1 برای hostname رایانه با حرف اول بزرگ (تنها برای حروف ASCII)، \fB%v\f1 برای شماره نسخه shairport-sync مانند "3.0.1" و \fB%V\f1 برای رشته کامل نسخه shairport-sync مانند "3.0.1-OpenSSL-Avahi-ALSA-soxr-metadata-sysconfdir:/etc". پیش‌فرض "%H" است که با hostname با حرف اول بزرگ جایگزین می‌شود. .TP \fB-B \f1\fIprogram\f1\fB | --on-start=\f1\fIprogram\f1 اجرای \fIprogram\f1 هنگامی که پخش صدا در آستانه شروع است. مسیر کامل برنامه را مشخص کنید، مثلاً \fI/usr/bin/logger\f1. اسکریپت‌های اجرایی نیز قابل استفاده هستند، اما باید در خط اول دارای شِبانگ مناسب (\fI#!/bin/sh\f1) باشند. اگر می‌خواهید shairport-sync قبل از شروع پخش منتظر بماند تا دستور تکمیل شود، گزینه \fB-w\f1 را نیز اضافه کنید. .TP \fB-c \f1\fIfilename\f1\fB | --configfile=\f1\fIfilename\f1 خواندن تنظیمات پیکربندی از \fIfilename\f1. حالت پیش‌فرض خواندن تنظیمات از \fIshairport-sync.conf\f1 در دایرکتوری پیکربندی سیستم است \- یعنی \fI/etc\f1 در لینوکس یا \fI/usr/local/etc\f1 در یونیکس‌های BSD. برای اطلاعات درباره تنظیمات پیکربندی، بخش «تنظیمات فایل پیکربندی» در بالا را ببینید. .TP \fB-d | --daemon\f1 دستور به shairport-sync برای اجرا در پس‌زمینه به عنوان دیمن (daemon). این برنامه شناسه فرآیند (PID) خود را در فایلی، معمولاً در \fI/var/run/shairport-sync/shairport-sync.pid\f1، ذخیره می‌کند که توسط گزینه‌های \fB-k\f1، \fB-D\f1 و \fB-R\f1 برای پیدا کردن دیمن در زمان‌های بعدی استفاده می‌شود. همچنین گزینه \fB-j\f1 را ببینید. این ویژگی تنها در صورتی فعال است که shairport-sync با پشتیبانی از libdaemon کامپایل شده باشد. .TP \fB-E \f1\fIprogram\f1\fB | --on-stop=\f1\fIprogram\f1 اجرای \fIprogram\f1 هنگامی که پخش صدا پایان یافته است. مسیر کامل به برنامه را مشخص کنید، مثلاً \fI/usr/bin/logger\f1. اسکریپت‌های اجرایی نیز می‌توانند استفاده شوند، اما باید در خط اول دارای شِبانگ مناسب (\fI#!/bin/sh\f1) باشند. اگر می‌خواهید shairport-sync قبل از ادامه فعالیت منتظر بماند تا اجرای دستور به پایان برسد، گزینه \fB-w\f1 را نیز انتخاب کنید. .TP \fB-g | --get-coverart\f1 این گزینه نیازمند فعال بودن گزینه \fB-M | --metadata-enable\f1 است، و shairport-sync را قادر می‌سازد تا تصویر کاور (cover art) را از منبع درخواست کرده و آن را به عنوان متادیتا پردازش کند. .TP \fB-h | --help\f1 نمایش یک پیام راهنمای مختصر و خروج. .TP \fB-j | justDaemoniseNoPIDFile\f1 دستور به shairport-sync برای اجرا در پس‌زمینه به عنوان دیمن. بر خلاف گزینه \fB-d\f1، این گزینه شناسه فرآیند (PID) را در فایلی ثبت نمی‌کند \- صرفاً (به همین دلیل حرف "j" برگرفته از "just") به عنوان دیمن اجرا می‌شود. این قابلیت تنها در صورتی فعال است که shairport-sync با پشتیبانی از libdaemon کامپایل شده باشد. .TP \fB-k | --kill\f1 متوقف کردن (Kill) دیمن shairport-sync و خروج. (نیازمند آن است که دیمن PID خود را در یک فایل مشخص نوشته باشد \- گزینه \fB-d\f1 را ببینید. تنها در صورتی در دسترس است که shairport-sync با پشتیبانی از libdaemon کامپایل شده باشد.) .TP \fB--logOutputLevel\f1 از این گزینه برای ثبت (لاگ کردن) سطح بلندی صدا در زمان تغییر صدا استفاده کنید. در صورتی که به دنبال یافتن مقدار مناسبی برای حداکثر سطح صدا باشید، این گزینه می‌تواند مفید باشد. این ویژگی به عنوان یک تنظیم درون فایل پیکربندی در دسترس نیست. .TP \fB--log-to-syslog\f1 هشدارها، پیام‌های خطا و دیگر پیام‌ها به طور پیش‌فرض به \fISTDERR\f1 ارسال می‌شوند. از این گزینه برای هدایت این پیام‌ها به \fBsyslog\f1 استفاده کنید. این گزینه برای مواقعی که Shairport Sync به صورت دیمن اجرا می‌شود در نظر گرفته شده است. همچنین \fB--displayConfig\f1 را ببینید. .TP \fB-L | --latency=\f1\fIlatency\f1 استفاده از این گزینه برای تعیین مقدار \fIتأخیر پیش‌فرض (default latency)\f1، بر حسب فریم، برای صدایی که از یک منبع ناشناخته یا از نسخه ۹ یا قدیمی‌تر iTunes دریافت می‌شود. مقدار استاندارد برای \fIتأخیر پیش‌فرض\f1 برابر با ۸۸٬۲۰۰ فریم است (در شرایطی که ۴۴٬۱۰۰ فریم در هر ثانیه وجود دارد). لطفاً توجه داشته باشید که این ویژگی منسوخ شده است و در نسخه‌های آینده shairport-sync حذف خواهد شد. .TP \fB-M | --metadata-enable\f1 درخواست از کلاینت برای ارسال متادیتا. اطلاعات متادیتا به همراه اطلاعات تولیدشده توسط خود shairport-sync به یک پایپ (pipe) هدایت شده و همچنین در قالب بسته‌های UDP ارسال خواهد شد. در صورت افزودن گزینه \fB-g | --get-cover-art\f1 تصویر کاور نیز در صورت موجود بودن ارسال می‌شود. برای مشاهده یک نمونه خواننده متادیتا، به \fBhttps://github.com/mikebrady/shairport-sync-metadata-reader\f1 مراجعه کنید. .TP \fB--metadata-pipename=\f1\fIpathname\f1 مشخص کردن مسیر پایپ متادیتا. توجه داشته باشید که \fBshairport-sync\f1 برای آن دایرکتوری و پایپ به مجوز نوشتن نیاز دارد. مقدار پیش‌فرض \fI/tmp/shairport-sync-metadata\f1 است. اگر نام فایل اجرایی \fBshairport-sync\f1 تغییر داده شود، نام پیش‌فرض پایپ نیز به همان نسبت تغییر خواهد کرد. .TP \fB-m \f1\fImdnsbackend\f1\fB | --mdns=\f1\fImdnsbackend\f1 اجبار به استفاده از بک‌اند mDNS مشخص‌شده برای اعلان و شناساندن پخش‌کننده در شبکه. پیش‌فرض این است که تمام بک‌اندهای mDNS به ترتیب آزمایش شوند تا یکی از آن‌ها به درستی کار کند. .TP \fB-o \f1\fIoutputbackend\f1\fB | --output=\f1\fIoutputbackend\f1 اجبار به استفاده از بک‌اند خروجی مشخص‌شده برای پخش صدا. پیش‌فرض تلاش برای استفاده از اولین بک‌اند در دسترس است. .TP \fB-p \f1\fIport\f1\fB | --port=\f1\fIport\f1 گوش دادن به درخواست‌های پخش روی \fIport\f1 مشخص‌شده. پیش‌فرض استفاده از پورت ۵۰۰۰ برای AirPlay و پورت ۷۰۰۰ برای AirPlay 2 است. .TP \fB--password=\f1\fIsecret\f1 نیاز به داشتن گذرواژه \fIsecret\f1 برای اتصال و استریم به سرویس. (این مورد تنها برای AirPlay عمل می‌کند و برای AirPlay 2 کاربردی ندارد.) .TP \fB-r \f1\fIthreshold\f1\fB | --resync=\f1\fIthreshold\f1 همگام‌سازی مجدد در صورتی که زمان‌بندی‌ها بیش از \fIthreshold\f1 فریم تفاوت داشته باشند. اگر زمان‌بندی خروجی بیش از مقدار آستانه با زمان‌بندی منبع تفاوت داشته باشد، صدا قطع شده و یک همگام‌سازی مجدد کامل انجام خواهد شد. مقدار پیش‌فرض این آستانه ۲٬۲۰۵ فریم یعنی ۵۰ میلی‌ثانیه است. مقدار \fB0\f1 را برای غیرفعال کردن همگام‌سازی مجدد تعیین کنید. این تنظیم منسوخ شده است و در نسخه‌های آینده shairport-sync حذف خواهد شد. .TP \fB--statistics\f1 چاپ برخی اطلاعات آماری و کارایی در خروجی خطای استاندارد (\fISTDERR\f1)، یا در \fBsyslog\f1 در صورتی که گزینه \fB-log-to-syslog\f1 نیز در خط فرمان انتخاب شده باشد. .TP \fB-S \f1\fImode\f1\fB | --stuffing=\f1\fImode\f1 درونیابی («stuffing») جریان صوتی با استفاده از \fImode\f1 تعیین‌شده. «Stuffing» به فرآیند افزودن یا کاستن فریم‌های صوتی از جریان ارسالی به دستگاه خروجی اشاره دارد تا صدا همواره با پخش‌کننده همگام باقی بماند. حالت \fBbasic\f1 معمولاً تقریباً کاملاً غیرقابل شنیدن است. حالت جایگزین، یعنی \fBsoxr\f1، حتی کمتر محسوس است اما به توان پردازشی بسیار بیشتری نیاز دارد. برای این حالت، پشتیبانی از \fBlibsoxr\f1 (کتابخانه SoX Resampler) باید هنگام ساخت \fBshairport-sync\f1 فعال شده باشد. تنظیم پیش‌فرض، یعنی \fBauto\f1، به Shairport Sync اجازه می‌دهد در صورت توانایی پردازشی کافی سیستم، حالت \fBsoxr\f1 را انتخاب کند. .TP \fB-t \f1\fItimeout\f1\fB | --timeout=\f1\fItimeout\f1 خروج از حالت پخش در صورتی که جریان صوتی برای بیش از \fItimeout\f1 ثانیه قطع شود. هنگامی که shairport-sync یک جریان صوتی را پخش می‌کند، یک نشست پخش (session) ایجاد کرده و به هر منبع دیگری که برای استفاده از آن تلاش کند وضعیت مشغول (busy) برمی‌گرداند. اگر جریان صوتی بیش از \fItimeout\f1 ثانیه قطع باشد، نشست پخش خاتمه می‌یابد. اگر مقدار زمان را برابر با \fB0\f1 تعیین کنید، shairport-sync هرگز سیگنال مشغول بودن را اعلام نخواهد کرد و مانع از قطع پخش توسط منابع دیگر نخواهد شد. مقدار پیش‌فرض ۱۲۰ ثانیه است. .TP \fB--tolerance=\f1\fIframes\f1 اجازه دادن به پخش برای خروج از همگام‌سازی دقیق تا حداکثر \fIframes\f1 فریم قبل از اقدام به تصحیح آن. مقدار پیش‌فرض ۸۸ فریم یعنی ۲ میلی‌ثانیه است. هر چه مقدار این تلورانس کمتر باشد، احتمال وقوع تصحیح بیش‌ازحد (overcorrection) بیشتر است. تصحیح بیش‌ازحد به وضعیتی گفته می‌شود که تعداد تصحیحات اعمال‌شده (افزودن و حذف فریم‌ها) بیشتر از مقدار مورد نیاز برای همگام نگه داشتن جریان صوتی باشد. از گزینه \fB--statistics\f1 برای پایش سطوح اصلاح استفاده کنید. اصلاحات نباید اختلاف چشمگیری با اصلاحات خالص داشته باشند. این تنظیم منسوخ شده است و در نسخه‌های آینده shairport-sync حذف خواهد شد. .TP \fB-V | --version\f1 نمایش اطلاعات نسخه و خروج. .TP \fB-v | --verbose\f1 چاپ اطلاعات اشکال‌زدایی روی خروجی \fISTDERR\f1، یا ارسال آن به \fBsyslog\f1 در صورتی که گزینه \fB-log-to-syslog\f1 نیز استفاده شده باشد. برای دریافت جزئیات بیشتر این گزینه را تا سه بار تکرار کنید (به صورت \fB-vv\f1 یا \fB-vvv\f1). از گزینه \fB-vvv\f1 باید با احتیاط زیاد استفاده شود، چرا که خروجی بسیار حجیمی تولید می‌کند. .TP \fB-w | --wait-cmd\f1 منتظر ماندن برای پایان اجرای دستورات مشخص‌شده با \fB-B\f1 یا \fB-E\f1 پیش از ادامه فعالیت. .TP \fB-X | --displayConfig\f1 این گزینه اطلاعات مرتبط با پیکربندی Shairport Sync را ثبت می‌کند که برای اشکال‌زدایی بسیار کاربردی است. اطلاعات ثبت‌شده شامل مواردی از سیستم‌عامل میزبان، رشته نگارش Shairport Sync (که گزینه‌های انتخاب‌شده زمان ساخت \fBshairport-sync\f1 را نشان می‌دهد)، محتوای خط فرمانی که Shairport Sync را فراخوانی کرده، نام فایل پیکربندی و تنظیمات فعال درون آن است. اگر این گزینه تنها گزینه موجود در خط فرمان باشد، \fBshairport-sync\f1 پس از نمایش اطلاعات خاتمه خواهد یافت. .SH "گزینه‌های بک‌اند صوتی (AUDIO BACKEND OPTIONS)" گزینه‌های بک‌اند صوتی، گزینه‌هایی در خط فرمان هستند که به بک‌اند صوتی انتخابی تحویل داده می‌شوند. پیش از آن‌ها همیشه نماد \fB--\f1 قرار می‌گیرد تا آن‌ها را تعریف کرده و از گزینه‌های قبلی برنامه متمایز سازد. با این روش، حروف گزینه‌ها می‌توانند بدون هیچ‌گونه تداخل، هم به عنوان گزینه‌های برنامه و هم به عنوان گزینه‌های بک‌اند صوتی مورد استفاده قرار گیرند. بک‌اندهای صوتی به همراه گزینه‌های مربوط به هر یک، در متن راهنمایی که توسط گزینه راهنما (\fB-h\f1 یا \fB--help\f1) نمایش داده می‌شود، فهرست شده‌اند. .SH "مثال‌ها (EXAMPLES)" در اینجا یک مثال تا حدی ساختگی آورده شده است: shairport-sync \fB-a "Joe's Stereo"\f1 \fB-o alsa\f1 \fB--\f1 \fB-d hw:1,0\f1 \fB-m hw:1\f1 \fB-c PCM\f1 برنامه با نام "Joe's Stereo" نمایان خواهد شد ( \fB-a "Joe's Stereo"\f1 ). گزینه برنامه \fB-o alsa\f1 مشخص می‌کند که از بک‌اند \fBalsa\f1 استفاده شود، در نتیجه صدا باید به زیرسیستم صوتی \fBALSA\f1 خروجی داده شود. گزینه‌های بک‌اند صوتی پس از جداکننده \fB--\f1 به بک‌اند \fBalsa\f1 تحویل داده می‌شوند و مشخص می‌کنند که صدا روی زیردستگاه ۰ از کارت صدای ۱ پخش شود ( \fB-d hw:1,0\f1 ) و با استفاده از کنترل سطح بلندی صدا با نام "PCM" از میکسر همان کارت صدا بهره ببرد ( \fB-c "PCM"\f1 ). مثال بالا تا حدودی ساختگی است: اولاً، اگر بک‌اند \fBalsa\f1 هنگام کامپایل برنامه گنجانده شده باشد، خود به عنوان بک‌اند پیش‌فرض خواهد بود و نیازی به ذکر آن نیست و گزینه \fB-o alsa\f1 می‌تواند حذف شود. ثانیاً، زیردستگاه ۰ برای یک کارت صدا حالت پیش‌فرض است، بنابراین دستگاه خروجی را می‌توان صرفاً به صورت \fB-d hw:1\f1 نوشت. ثالثاً، وقتی نام میکسر مشخص می‌شود ( \fB-c "PCM"\f1 )، پیش‌فرض این است که میکسر روی همان دستگاه خروجی قرار دارد؛ بنابراین استفاده از \fB-m hw:1\f1 در اینجا غیرضروری است. با اعمال این پیش‌فرض‌ها و ساده‌سازی‌ها، دستور زیر حاصل می‌شود: shairport-sync \fB-a "Joe's Stereo"\f1 \fB--\f1 \fB-d hw:1\f1 \fB-c PCM\f1 .SH "قدردانی‌ها (CREDITS)" ‏Mike Brady (\fBhttps://github.com/mikebrady\f1) نرم‌افزار Shairport Sync را بر پایه Shairport اثر James Wah (\fBhttps://github.com/abrasive\f1) توسعه داده است. .SH "توضیحات تکمیلی (COMMENTS)" این صفحه راهنما با استفاده از \fBxml2man(1)\f1 توسط Oliver Kurth نوشته شده است.