SRT یا RTMP؟ بهترین پروتکل استریم برای اینترنت ایران
SRT یا RTMP؟ مقایسه دو پروتکل اصلی پخش زنده از نظر پایداری، تأخیر و مقاومت در برابر قطعی؛ اینکه کدام برای اینترنت ناپایدار ایران بهتر است و چطور در OBS فعالش کنید.
اگر تا حالا استریم کردهاید، احتمالاً با RTMP کار کردهاید. اما وقتی اینترنت نوسان دارد، سؤال مهمی پیش میآید: SRT یا RTMP؟ در این مقاله این دو پروتکل را ساده و کاربردی مقایسه میکنیم و میگوییم کدام برای اینترنت ایران مناسبتر است.
RTMP چیست؟
RTMP قدیمیترین و رایجترین پروتکل ارسال پخش زنده است. تقریباً همه پلتفرمها (یوتیوب، توییچ، آپارات، کیک) ورودی RTMP دارند و همه نرمافزارهای پخش از آن پشتیبانی میکنند. پورت استاندارد آن ۱۹۳۵ است.
RTMP روی TCP کار میکند. TCP همه بستهها را به ترتیب و کامل تحویل میدهد؛ اما وقتی بستهای گم شود، کل جریان منتظر ارسال دوباره آن میماند و سرعت ارسال هم کم میشود. روی اینترنت پرنوسان این یعنی صف شدن داده، فریمدراپ و در نهایت قطع پخش.
SRT چیست؟
SRT (Secure Reliable Transport) پروتکلی متنباز است که برای ارسال ویدیو روی اینترنت ناپایدار ساخته شده. SRT روی UDP کار میکند و فقط بستههای گمشده را، در یک بازه زمانی مشخص (Latency)، دوباره درخواست میکند. نتیجه: تصویر روان حتی با درصدی از دست رفتن بستهها.
ویژگیهای مهم SRT:
- بازیابی بستههای گمشده بدون متوقف کردن کل جریان
- تأخیر قابل تنظیم؛ هرچه بیشتر، تحمل قطعی بیشتر
- رمزنگاری داخلی با AES
- مناسب برای اینترنت موبایل، Wi-Fi شلوغ و مسیرهای طولانی
مقایسه SRT و RTMP
| ویژگی | RTMP | SRT |
|---|---|---|
| لایه انتقال | TCP | UDP |
| رفتار در برابر از دست رفتن بسته | کند شدن و صف شدن | بازیابی سریع فقط بسته گمشده |
| پشتیبانی پلتفرمها | همه | محدود |
| پشتیبانی OBS | کامل | کامل (نسخه ۲۷ به بعد) |
| مناسب برای | اینترنت ثابت و پایدار | اینترنت پرنوسان و موبایل |
پس کدام را انتخاب کنم؟
بیشتر پلتفرمها فقط RTMP قبول میکنند، اما با ریاستریم لازم نیست انتخاب کنید: شما میتوانید با SRT به سرور پرتو وصل شوید و ما خروجی را با RTMP (یا RTMPS) به یوتیوب، آپارات و بقیه میفرستیم. یعنی پایداری SRT در مسیر اینترنت خودتان، و سازگاری RTMP در سمت پلتفرمها.
- اینترنت فیبر یا ADSL پایدار دارید؟ RTMP کافی است.
- با اینترنت همراه، Wi-Fi یا از محل رویداد استریم میکنید؟ حتماً SRT.
- پایین OBS فریمدراپ شبکه میبینید؟ SRT را امتحان کنید.
فعال کردن SRT در OBS
- در پنل پرتو، بخش سرورها و اتصال، آدرس SRT را کپی کنید. این آدرس شامل کلید شماست.
- در OBS به Settings ← Stream بروید و Service را Custom بگذارید.
- آدرس SRT را در فیلد Server بگذارید و فیلد Stream Key را خالی بگذارید.
- Start Streaming را بزنید.
آموزش کامل اتصال را در آموزش OBS برای ری استریم ببینید و برای انتخاب بیتریت مناسب از محاسبهگر استریم کمک بگیرید.
تنظیم Latency در SRT
مهمترین تنظیم SRT، مقدار Latency است: مدت زمانی که گیرنده برای رسیدن بستههای گمشده صبر میکند. اگر کم باشد، بستهها به موقع نمیرسند و تصویر میشکند؛ اگر زیاد باشد، تأخیر پخش کمی بیشتر میشود. یک قاعده رایج این است که Latency حدود سه تا چهار برابر پینگ (RTT) شما تا سرور باشد. چون سرورهای پرتو داخل ایران هستند و پینگ پایینی دارند، مقدار پیشفرضی که در پنل میبینید برای بیشتر اتصالها کافی است. اگر روی اینترنت همراه یا در محل رویداد قطعی میبینید، Latency را بیشتر کنید.
آیا SRT تأخیر پخش را زیاد میکند؟
تأخیری که SRT اضافه میکند معمولاً در حد چند صد میلیثانیه است؛ در مقایسه با تأخیر چندثانیهای خود پلتفرمها مثل یوتیوب و آپارات، برای بیننده محسوس نیست. در عوض، پخشی بدون پرش و قطعی تحویل میگیرید.
آیا SRT با همه نرمافزارها کار میکند؟
OBS از نسخه ۲۷، vMix و بسیاری از انکودرهای سختافزاری و اپهای موبایل مثل Larix Broadcaster از SRT پشتیبانی میکنند. اگر نرمافزار شما SRT ندارد، همان RTMP را استفاده کنید؛ ریاستریم با هر دو کار میکند.
جمعبندی
RTMP استاندارد همهجا پذیرفتهشده است و SRT برای اینترنت ناپایدار ساخته شده. روی اینترنت ایران، بهخصوص اینترنت همراه، SRT تفاوت محسوسی در پایداری ایجاد میکند. همه پلنهای پرتو هر دو ورودی را دارند؛ جزئیات در تعرفهها.