| ZITA-NJBRIDGE(1) | General Commands Manual | ZITA-NJBRIDGE(1) |
نام (NAME)
zita-njbridge - کلاینتهای Jack برای انتقال صدای چندکاناله روی شبکه محلی
خلاصه دستور (SYNOPSIS)
zita-j2n [ options ] ip-address ip-port
zita-n2j [ options ] ip-address ip-port
zita-j2n [ options ] ip-address ip-port interface
zita-n2j [ options ] ip-address ip-port interface
توضیحات (DESCRIPTION)
کلیات (General)
برنامههای zita-j2n (ارسالکننده) و zita-n2j (دریافتکننده) امکان تبادل حداکثر ۶۴ کانال از جریانهای صوتی فشردهنشده با کیفیت کامل را میان دو یا چند سیستم که سرور صوتی Jack را اجرا میکنند، فراهم میسازند. فرستنده و گیرنده(ها) هرکدام میتوانند نرخ نمونهبرداری و اندازه دوره مختص به خود را داشته باشند و نیازی به همگامسازی ساعت کلمه (Word clock) بین آنها نیست. گیرنده از بازنمونهبرداری تطبیقی برای تبدیل جریان(های) صوتی به نرخ نمونهبرداری محلی خود استفاده میکند.
هیچ رابطه ارباب/بردهای (Master/slave) میان فرستنده و گیرنده(ها) وجود ندارد. این یک هدف طراحی صریح است. از هر نظر، نتیجه نهایی استفاده از zita-njbridge مشابه داشتن اتصالات صوتی آنالوگ بین کارتهای صدای سیستمهای استفادهکننده از آن است. هیچ کاری از سوی فرستنده بر گیرنده(ها) تأثیر نخواهد گذاشت، بهجز در دسترس بودن سیگنالهای صوتی یا تبدیل شدن به سکوت در صورت نبود فرستنده. رخدادهای Xrun یا چرخههای نادیدهگرفتهشده تأثیری بر همگامسازی یا بازنمونهبرداری نخواهند داشت. حالت حرکت آزاد (Freewheeling) در سرور Jack در هر یک از دو طرف، عملیات را موقتاً به حالت تعلیق درمیآورد.
ابزار zita-njbridge میتواند به دو صورت استفاده شود: یکبهیک یا یکبهچند. هر دو پروتکل IPv4 و IPv6 پشتیبانی میشوند.
برای راهاندازی یکبهیک باید از فرم اول دستورات که در بالا نشان داده شده است استفاده شود. پروتکل مورداستفاده UDP است و آرگومان ip-address موردنیاز برای فرستنده و گیرنده، آدرس گیرنده است. میتوان بهجای آدرسهای عددی IP از یک نام میزبان استفاده کرد که با استفاده از getaddrinfo() جستجو و شناسایی خواهد شد.
برای راهاندازی یکبهچند باید از فرم دوم استفاده شود. آرگومان ip-address باید یک آدرس چندپخشی (Multicast) معتبر باشد و آرگومان الزامی interface رابط شبکهای را که باید استفاده شود انتخاب میکند.
طول فیلتر بازنمونهبردار (Resampler filter length)
گیرنده از کتابخانه zita-resampler برای بازنمونهبرداری سیگنالها به نرخ محلی خود استفاده میکند. طول فیلتر پایینگذر چندفازی مورداستفاده در الگوریتم بازنمونهبرداری، پهنای باند صوتی را تعیین کرده و به میزان تأخیر میافزاید. این مقدار همچنین در صورت دریافت کانالهای متعدد میتواند تأثیر قابلتوجهی بر بار پردازنده (CPU) داشته باشد.
ابزار zita-njbridge طول فیلتر را بر اساس نرخ نمونهبرداری کمتر میان فرستنده و گیرنده انتخاب خواهد کرد. برای نرخهای نمونهبرداری ۴۴.۱ کیلوهرتز و بالاتر، مقدار انتخابشده منجر به تضعیفی کمتر از ۰.۱ دسیبل تا فرکانس ۲۰ کیلوهرتز خواهد شد. گزینه --filt امکان نادیدهگرفتن پیکربندی خودکار را فراهم میکند، اما معمولاً نیازی به این کار نخواهد بود.
مسائل تأخیر (Latency issues)
هنگام اتصال دو سیستم Jack با دورههای غیرهمگام، حداقل تأخیر اضافی در بدترین شرایط برابر با مجموع زمان دو دوره است. تأخیر اضافی به معنای هرگونه تأخیری است که برای برقراری اتصال بدون وقفه لازم است. تأخیر رفتوبرگشت از یک ورودی آنالوگ ایدهآل (با تأخیر مازاد صفر) روی فرستنده به یک خروجی آنالوگ ایدهآل روی گیرنده، دو برابر این مقدار خواهد بود. شرایط بدترین حالت به این معناست که فرستنده و گیرنده هر دو میتوانند در زمانهای دلخواهی درون دورههای مربوط به خود اجرا شوند.
ابزار zita-njbridge برای ارائه یک تأخیر اضافی معین و ثابت طراحی شده است. مقدار هدف برابر است با مجموع دو دوره، بهعلاوه تأخیر بازنمونهبرداری و هرگونه بافرینگ اضافی مشخصشده توسط کاربر. تأخیر واقعی برابر این مقدار بهعلاوه میانگین تأخیر شبکه خواهد بود. از آنجا که تأخیر شبکه ناشناخته است، راهی برای جبران آن وجود ندارد. این امر تنها با استفاده از یک کانال بازگشت، یا روشی برای همگامسازی ساعتهای دو سیستم که بتوان از آن برای سنجش میانگین تأخیر شبکه استفاده کرد، ممکن میشد. نسخه فعلی zita-njbridge این امکان را فراهم نمیکند، زیرا برای استفاده در یک شبکه محلی در نظر گرفته شده است. یک شبکه اترنت گیگابیتی اختصاصی یا کمترافیک میتواند تأخیرهای معمول شبکه را به مراتب کمتر از یک میلیثانیه نگه دارد.
گزینه --buff در zita-n2j تعداد میلیثانیههای مشخصشده را به تأخیر هدف میافزاید. مقدار پیشفرض ۱۰ میلیثانیه است که در یک شبکه محلی گیگابیتی با ترافیک متوسط بیش از اندازه کافی است. این مقدار میتواند روی صفر تنظیم شود؛ برای مثال زمانی که مشخص باشد فرستنده همیشه نزدیک به شروع دوره Jack خود اجرا میشود و جیتر (نوسان) تأخیر شبکه کمتر از این دوره است.
در صورت وجود هرگونه جیتر تأخیر شبکه بالاتر از ۱۰ میلیثانیه، افزایش زمان بافر اضافی برای جلوگیری از قطع گاهبهگاه جریانهای صوتی دریافتی ضروری خواهد بود.
میزان تأخیر به زمان دقیق اجرای فرستنده درون دوره Jack آن بستگی ندارد. این رفتار مشابه بازپخش روی کارت صدا است: زمانی که نمونههای بازپخش خیلی زودتر از موعد نوشته شوند، این امر تأخیر را کاهش نمیدهد، بلکه دادهها تا پایان دوره در بافر میمانند. در مورد zita-njbridge، زمان باقیمانده برای تأخیر شبکه در دسترس خواهد بود. به همین دلیل هنگامی که فرستنده بار کاری سبکی دارد و تأخیر شبکه اندک است، میتوان از گزینه --buff 0 در گیرندهها استفاده کرد.
استفاده در شبکههای گسترده یا بیسیم (Use on wide area or wireless networks)
پیادهسازی فعلی برای استفاده در شبکههای محلی طراحی شده است که تحویل کموبیش قابلاعتماد بستهها را با تأخیر کم یا متوسط فراهم میکنند. از دست رفتن گاهبهگاه بستهها بر همگامسازی یا بازنمونهبرداری تأثیری نخواهد داشت، اما هر نمونهای که نامرتب دریافت شود نادیده گرفته خواهد شد (چرا که پیشتر با سکوت جایگزین شده است). بافرینگ اضافی (با استفاده از گزینه --buff) امکان دریافت سیگنال بدون وقفه را در حضور جیتر تأخیر فراهم میکند، البته به بهای تأخیر اضافی. ابزار zita-njbridge ممکن است در اتصالات اینترنتی فواصل دور نیز قابل استفاده باشد، اما توجه داشته باشید که برای این منظور طراحی نشده است.
عملکرد در شبکههای بیسیم کاملاً به شانس بستگی دارد. مجدداً تأکید میشود که zita-njbridge برای چنین کاربردهایی طراحی نشده است.
گزینهها (OPTIONS)
گزینههای عمومی (Common options)
- --help
-
نمایش خلاصه گزینهها و خط فرمان. - --jname name
-
انتخاب نام کلاینت Jack. مقدار پیشفرض - --jserv server
-
انتخاب سرور Jack برای اتصال. - --ipv4
- --ipv6
استفاده انحصاری از نوع آدرس IP مشخصشده.
گزینههای zita-j2n
- --chan channels
-
تعداد کانالها برای ارسال؛ مقدار پیشفرض ۲ کانال است. - --16bit
-
ارسال صدا به صورت نمونههای عدد صحیح علامتدار ۱۶ بیتی. - --24bit
-
ارسال صدا به صورت نمونههای عدد صحیح علامتدار ۲۴ بیتی. این فرمت پیشفرض است. - --float
-
ارسال صدا به صورت نمونههای ممیز شناور ۳۲ بیتی (فرمت داخلی Jack). - --mtu MTU
-
اطلاع دادن مقدار MTU مسیر به zita-j2n، تا بتواند از بستههایی تا این اندازه استفاده کند. مقدار پیشفرض ۱۵۰۰ است. توجه داشته باشید که مقادیر بزرگ MTU در یک شبکه اشتراکی ممکن است نوسان (جیتر) تأخیر شبکه را افزایش دهد. - --hops hops
-
تنظیم حداکثر تعداد پرشها (Hops) برای بستههای چندپخشی (Multicast). پیشفرض یک است، به این معنی که چندپخشی تنها به شبکه محلی محدود میشود.
گزینههای zita-n2j
- --chan list
-
فهرستی از شماره کانالها به ترتیب صعودی که با کاما یا خط تیره از هم جدا شدهاند؛ خط تیره نشاندهنده یک بازه است. شمارهگذاری کانالها از ۱ شروع میشود. تنها کانالهای درخواستی بازنمونهبرداری میشوند و درگاه (پورت) Jack متناظر خواهند داشت. کانالهایی که توسط فرستنده ارائه نشوند، در خروجی سکوت تولید خواهند کرد. فهرست پیشفرض کانالها '1,2' است. - --buff time
-
افزایش تأخیر هدف به میزان زمان دادهشده، بر حسب میلیثانیه. مقدار پیشفرض ۱۰ میلیثانیه است. برای اطلاع از مفهوم دقیق این پارامتر به توضیحات بالا مراجعه کنید. - --filt delay
-
تنظیم تأخیر فیلتر بازنمونهبردار، بر حسب تعداد نمونه در نرخ کمتر میان دو نرخ نمونهبرداری، در بازه ۱۶ تا ۹۶. برای جزئیات به توضیحات بالا مراجعه کنید. - --info
-
چاپ اطلاعات عیبیابی تکمیلی. چهار مقدار چهار بار در ثانیه چاپ میشوند: تعداد دورههای Jack در طول ۱/۴ ثانیه گذشته، میانگین خطای حلقه کنترلی بازنمونهبردار بر حسب فریم، میانگین تصحیح نسبت بازنمونهبردار، و حداقل تعداد فریمهای در دسترس در بافر دریافت.
نویسنده (AUTHOR)
برنامههای zita-j2n و zita-n2j و این صفحه راهنما توسط Fons Adriaensen <fons@linuxaudio.org> نوشته شدهاند.
| July 2014 |