Video Stream Out TOP

خلاصه

توجه:
سخت‌افزار: این TOP از انکودر سخت‌افزاری Nvidia برای ایجاد جریان ویدیو استفاده می‌کند، بنابراین نیازمند کارت گرافیک Nvidia و سیستم عامل ویندوز است.

Video Stream Out TOP به عنوان یک فرستنده RTMP یا SRT عمل می‌کند و همچنین می‌تواند یک سرور RTSP ایجاد کند تا ویدیو و صوت فشرده را از طریق شبکه ارسال کند. این TOP از انکودر سخت‌افزاری Nvidia استفاده می‌کند. برای RTSP، امکان اتصال چندین کلاینت هم‌زمان به آن وجود دارد. چندین Video Stream Out TOP که از یک پورت مشترک استفاده می‌کنند، از یک سرور RTSP زیرساختی مشترک بهره می‌برند. همچنین این TOP می‌تواند برای ارسال جریان ویدیو از طریق مسیرهای WebRTC ویدیو/صوت استفاده شود.

کدک‌های ویدیویی قابل پخش: H.264، H.265 (HEVC) و AV1. (AV1 تنها توسط GPUهای جدیدتر NVIDIA پشتیبانی می‌شود.) همه پروتکل‌ها یا سرویس‌های استریمینگ از همه کدک‌ها پشتیبانی نمی‌کنند.

کدک‌های صوتی قابل پخش: MP3، AAC و Opus.


RTMP

پشتیبانی از RTMP پیشرفته نیز وجود دارد.

برای دریافت URL استریم RTMP، بسته به محل و سرویس مورد استفاده، ممکن است نیاز به جستجو داشته باشید. فرمت URL به شکل زیر است:

{service url}/{stream key}

مثلاً برای Twitch، URL چیزی شبیه به:

rtmp://live-yto.twitch.tv/app/live_1234567_sduhy3xJ1KJ34Eg6CjksdJLubFS7gtUY

برای اطلاعات بیشتر درباره سرویس‌های مختلف، به RTMP مراجعه کنید.


SRT

SRT می‌تواند از کدک ویدیویی H.264 یا H.265 استفاده کند. همچنین امکان ارسال متادیتای هر فریم (Per-Frame Metadata) وجود دارد وقتی که یک CHOP یا DAT در پارامتر مربوطه مشخص شده باشد.

تنظیمات سرور SRT با استفاده از گزینه‌های URL کنترل می‌شود.
مثلاً برای ایجاد Video Stream Out در حالت listener، URL به صورت زیر است:

srt://0.0.0.0:9494?mode=listener

برای اتصال به listener در Video Stream In TOP:

srt://127.0.0.1:9494?mode=caller

هر دو طرف اتصال می‌توانند listener یا caller باشند و فرقی نمی‌کند که کدام طرف ویدیو را ارسال یا دریافت می‌کند. دریافت‌کننده باید حالت خود را بر خلاف حالت ارسال‌کننده تنظیم کند.

همه گزینه‌های موجود در اینجا لیست شده‌اند. چند گزینه می‌توانند با علامت & جدا شوند. مثال:

srt://127.0.0.1:9494?mode=caller&send_buffer_size=100000

SRT ارسال شده از Video Stream Out TOP می‌تواند شامل متادیتای هر فریم باشد و به راحتی می‌توان داده‌های CHOP/DAT را همزمان با ویدیو ارسال و دریافت کرد. این داده‌ها می‌توانند با Video Stream In TOP خوانده شوند.


RTSP

برای دریافت URL اتصال به سرور RTSP در Video Stream Out TOP، می‌توانید از Info DAT استفاده کنید یا روی نود کلیک وسط کنید. فرمت URL به شکل زیر است:

rtsp://<ipaddress>:<port>/<streamName>

مثال:

rtsp://192.168.0.1:554/tdvidstream

محدودیت‌ها

  • استریمینگ RTSP از ارسال مستقیم به یک سرور RTSP دیگر از طریق RTP پشتیبانی نمی‌کند.

  • کارت‌های NVIDIA Geforce محدود به ۸ جلسه انکودر در هر سیستم هستند. کاهش رزولوشن، این محدودیت را برطرف نمی‌کند. کارت‌های Quadro/RTX Pro محدودیتی ندارند. میزان کل پیکسل‌هایی که قابل انکود است به سخت‌افزار بستگی دارد؛ کارت‌های جدیدتر و قدرتمندتر پیکسل‌های بیشتری را انکود می‌کنند.

  • برای اطلاعات بیشتر به Nvidia Video GPU Support Matrix مراجعه کنید.

  • یک تست با فایل پیش‌فرض TouchDesigner روی کارت M6000 توانست ۱۳ Video Stream Out TOP با کیفیت 1080p@30Hz اجرا کند.

برای اطلاعات بیشتر به Video Stream In TOP، RTMP، RTSP و Video Streaming User Guide و Movie File Out TOP مراجعه کنید.

توجه برای ویندوز: اگر با مشکل اتصال مواجه شدید، مطمئن شوید که فایروال ویندوز غیرفعال است.


پارامترها – صفحه Video Stream Out

  • Active (فعال): کنترل می‌کند که سرور فعال باشد یا نه. اگر خاموش باشد، پورت سرور آزاد خواهد بود.

  • Mode (حالت): انتخاب می‌کند که سرور به عنوان RTSP عمل کند، RTMP را به سرویس دریافت‌کننده ارسال کند یا به مقصد SRT ارسال کند.

  • Network Port (پورت شبکه): پورتی که سرور باید گوش دهد. چندین Video Stream Out TOP می‌توانند از یک پورت استفاده کنند، به شرطی که هر کدام نام استریم منحصر به فرد داشته باشند.

  • Stream Name (نام استریم): نام استریم این نود، همان چیزی است که بعد از / در URL می‌آید.

  • Multi-Cast (چندپخشی): کنترل می‌کند که سرور RTSP ویدیو را با بسته‌های UDP یکتا (unicast) یا چندپخشی (multicast) ارسال کند.

  • Destination URL (آدرس مقصد): URL ارسال جریان SRT/RTMP. برای RTMP فرمت: {service url}/{stream key}. برای SRT به مستندات SRT یا نکات ابتدای صفحه مراجعه شود.

  • Force IDR (ایجاد فریم کلیدی): برای رفع مشکل تصویر، سرور یک فریم کلیدی جدید ارسال می‌کند.

  • FPS: نرخ فریم ارسال ویدیو.

  • Video Codec (کدک ویدیو): انتخاب کدک برای انکودینگ استریم.

  • Profile (پروفایل): پروفایل H.264 برای انکودینگ فریم‌ها.

  • Quality (کیفیت): سطح کیفیت انکودینگ.

  • Keyframe Interval (فاصله فریم کلیدی): فاصله بین هر فریم کلیدی.

  • Max B-Frames (حداکثر فریم B): حداکثر تعداد فریم‌های دوطرفه بین فریم‌های کلیدی.

  • Intra-Refresh Period/Length: کنترل فریم‌های intra-refresh برای کاهش اختلالات استریم.

  • Bitrate Mode: انتخاب بین نرخ ثابت (CBR) یا متغیر (VBR).

  • Average/Max Bitrate: تعیین نرخ بیت هدف و حداکثر به مگابیت بر ثانیه.

  • Num H264 Slices per Frame: تعداد قطعات (slice) هر فریم H.264.

  • VBV/RTMP Buffer Size: تنظیمات بافر.

  • Audio CHOP: منبع صوتی برای ارسال همراه ویدیو.

  • Audio Codec/Bitrate: تعیین کدک و نرخ بیت صوتی.

  • Include Silent Audio Stream: در صورت نیاز سرویس، جریان صوتی سکوت ایجاد شود.

  • Per-Frame Metadata CHOP/DAT: ارسال متادیتای هر فریم همراه ویدیو، قابل دریافت توسط Video Stream In TOP.


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

  • WebRTC: انتخاب WebRTC DAT برای ارسال استریم.

  • WebRTC Connection: اتصال peer-to-peer انتخاب می‌شود.

  • WebRTC Video/Audio Track: انتخاب ترک ویدیو/صوت برای ارسال.


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

  • Output Resolution (رزولوشن خروجی): تغییر سریع رزولوشن.

  • Resolution / Resolution Menu: تنظیم رزولوشن سفارشی یا از پیش تعریف‌شده.

  • Use Global Res Multiplier: استفاده از ضریب رزولوشن جهانی برای سازگاری با سخت‌افزارهای مختلف.

  • Output Aspect / Aspect / Aspect Menu: تنظیم نسبت ابعاد خروجی و انتخاب از مقادیر رایج.

  • Input Smoothness: کنترل فیلتر پیکسل روی ورودی.

  • Fill Viewer / Viewer Smoothness: نحوه نمایش تصویر در viewer و فیلترینگ پیکسل‌ها.

  • Passes: تکرار عملیات TOP به تعداد مشخص.

  • Channel Mask: انتخاب کانال‌های فعال (R/G/B/A).

  • Pixel Format: تعیین فرمت ذخیره داده‌ها برای هر کانال.


ورودی‌ها

  • Input 0:


کانال‌های Info CHOP

اطلاعات اضافی Video Stream Out TOP از طریق Info CHOP قابل دسترسی است.

کانال‌های خاص Video Stream Out TOP

  • last_encode_time

  • last_send_delay

  • packet_loss_ratio

کانال‌های عمومی TOP

  • resx / resy: رزولوشن افقی و عمودی

  • aspectx / aspecty: نسبت ابعاد افقی و عمودی

  • depth: عمق آرایه 2D یا 3D

  • gpu_memory_used: میزان حافظه GPU مصرف‌شده

کانال‌های عمومی Operator

  • total_cooks: تعداد اجرای Operator

  • cook_time: مدت زمان آخرین Cook به میلی‌ثانیه

  • cook_frame / cook_abs_frame: شماره فریم نسبی و مطلق آخرین Cook

  • cook_start_time / cook_end_time: زمان شروع و پایان Cook به میلی‌ثانیه

  • cooked_this_frame: ۱ اگر در این فریم Cook شده باشد

  • warnings / errors: تعداد هشدارها و خطاها