خلاصه (Summary)

Audio Stream Out CHOP می‌تواند صدا را به هر کلاینت RTSP (مثل VLC media player یا QuickTime اپل) یا به یک WebRTC peer استریم کند.

برای دسترسی به استریم در یکی از این پلیرها، کافی است از منوی File گزینه‌ی “Network Stream” یا “URL” را باز کنید.

نمونه‌ای از آدرس (URL) مورد استفاده در یک کلاینت RTSP:

  • IP Address = آدرس IP کامپیوتری که TouchDesigner و Audio Stream Out CHOP روی آن اجرا می‌شود.

  • Port = شماره پورتی که در پارامتر Port تنظیم شده است.

  • Stream Name = نامی که در پارامتر Stream Name به استریم داده می‌شود.

ساختار URL موردنیاز به این صورت است:

rtsp://<IP address>:<Port>/<Stream Name>

پارامترها – صفحه “Audio Stream Out”

  • Active (active): سرور RTSP را روشن یا خاموش می‌کند.

  • Mode (mode): ⊞ – انتخاب حالت استریم خروجی: RTSP یا WebRTC.

    • RTSP (rtsp)

    • WebRTC (webrtc)

  • Port (port): شماره پورتی که برای ارسال استریم صدا استفاده می‌شود. این شماره باید در URL کلاینت گیرنده هم قرار گیرد (طبق مثال در خلاصه).

  • Stream Name (streamname): نام اختصاص‌داده‌شده به استریم. این نام باید در URL کلاینت گیرنده قرار گیرد (طبق مثال در خلاصه).


پارامترها – صفحه “WebRTC”

  • WebRTC (webrtc): تنظیم DAT مربوط به WebRTC (یعنی peer) برای ارسال استریم صدا. تنظیم این گزینه باعث می‌شود منوی پارامتر WebRTC Connection به‌طور خودکار با کانکشن‌های موجود پر شود.

  • WebRTC Connection (webrtcconnection): انتخاب اتصال peer-to-peer مربوط به WebRTC. انتخاب این گزینه باعث می‌شود منوی پارامتر WebRTC Track به‌طور خودکار با ترک‌های خروجی صوتی موجود پر شود.

  • WebRTC Track (webrtctrack): انتخاب ترک خروجی صوتی که بخشی از اتصال WebRTC peer-to-peer است. استریم صوتی روی این ترک ارسال خواهد شد.


پارامترها – صفحه “Common”

  • Time Slice (timeslice): فعال کردن این گزینه باعث می‌شود کانال‌ها به صورت “Time Sliced” پردازش شوند. (یعنی بازه‌ی زمانی بین آخرین فریم cook و فریم فعلی cook).

  • Scope (scope): مشخص می‌کند کدام کانال‌ها تحت تأثیر قرار بگیرند. برخی CHOPها در صفحه Common از Scope string استفاده می‌کنند. (نگاه کنید به Pattern Matching).

  • Sample Rate Match (srselect): ⊞ – مدیریت شرایطی که نرخ نمونه‌برداری (sample rate) در چند ورودی CHOP متفاوت است.

    • Resample At First Input’s Rate (first): استفاده از نرخ ورودی اول برای بازنمونه‌برداری دیگر ورودی‌ها.

    • Resample At Maximum Rate (max): بازنمونه‌برداری به بالاترین نرخ نمونه.

    • Resample At Minimum Rate (min): بازنمونه‌برداری به پایین‌ترین نرخ نمونه.

    • Error If Rates Differ (err): نرخ‌های ناسازگار را قبول نمی‌کند.

  • Export Method (exportmethod): ⊞ – روش اتصال کانال CHOP به پارامتر را مشخص می‌کند. (نگاه کنید به مقاله Export).

    • DAT Table by Index (datindex): استفاده از جدول DAT dock شده و ارجاع به کانال از طریق ایندکس آن در CHOP.

    • DAT Table by Name (datname): استفاده از جدول DAT dock شده و ارجاع به کانال از طریق نام آن در CHOP.

    • Channel Name is Path:Parameter (autoname): نام کانال همان مقصد کامل برای اکسپورت است (مثل geo1/transform1:tx).

  • Export Root (autoexportroot): مسیری که به عنوان ریشه (root) در نظر گرفته می‌شود تا همه مسیرهایی که به صورت Channel Name is Path:Parameter اکسپورت می‌شوند نسبت به آن تعریف شوند.

  • Export Table (exporttable): جدولی از نوع DAT که برای نگهداری اطلاعات اکسپورت در روش‌های DAT Table Export استفاده می‌شود.


ورودی‌های اپراتور (Operator Inputs)

  • Input 0:


کانال‌های Info CHOP

اطلاعات اضافه برای Audio Stream Out CHOP از طریق یک Info CHOP قابل دسترسی است.

کانال‌های خاص Audio Stream Out CHOP:

  • packet_loss_ratio

کانال‌های عمومی Info CHOP:

  • start: شروع بازه CHOP بر اساس نمونه‌ها.

  • length: تعداد نمونه‌ها در CHOP.

  • sample_rate: نرخ نمونه‌برداری کانال‌ها بر حسب فریم در ثانیه.

  • num_channels: تعداد کانال‌ها در CHOP.

  • time_slice: اگر CHOP به حالت Time Slice فعال باشد مقدار 1، در غیر این صورت 0.

  • export_sernum: شمارنده‌ای که نشان می‌دهد اتصال‌های اکسپورت چند بار به‌روزرسانی شده‌اند.

کانال‌های عمومی Info اپراتور:

  • total_cooks: تعداد دفعاتی که اپراتور از زمان شروع پردازش cook شده است.

  • cook_time: مدت زمان آخرین cook بر حسب میلی‌ثانیه.

  • cook_frame: شماره فریمی که این اپراتور آخرین بار نسبت به timeline کامپوننت cook شده است.

  • cook_abs_frame: شماره فریمی که این اپراتور آخرین بار نسبت به زمان مطلق cook شده است.

  • cook_start_time: زمانی بر حسب میلی‌ثانیه که اپراتور در فریم مربوطه cook شدن را آغاز کرده است.

  • cook_end_time: زمانی بر حسب میلی‌ثانیه که اپراتور در فریم مربوطه cook شدن را پایان داده است.

  • cooked_this_frame: اگر اپراتور در این فریم cook شده باشد مقدار 1.

  • warnings: تعداد هشدارهای موجود در این اپراتور (در صورت وجود).

  • errors: تعداد خطاهای موجود در این اپراتور (در صورت وجود).