پروتکل RTMP چیست و چه تفاوتی با HLS دارد ؟
پروتکل RTMP توسط کمپانی Adobe توسعه داده شده است و از HLS قدمت بیشتری دارد. پروتکل HLS در سال 2003 و پروتکل RTMP در واسط سال 2000 به حوزه استریمینگ ورود کرده اند. هرکدام از این پروتکل ها مزایا و ویژگی های خاص خود را دارند که در ادامه به آن میپردازیم ولی از پروتکل RTMP بیشتر برای ارتباط زنده استفاده می شود (مانند نرم افزار AdobeConnect) و باید اضافه کنیم که RTMP از پروتکل TCP جهت انتقال اطلاعات ویدیویی استفاده میکند. البته امکان استفاده از پروتکل RTMP , هم در لایو استریمینگ (live streaming) و هم در ویدیو های درخواستی (on-demand video streaming) وجود دارد.
نحوه کار این پروتکل هم بدین صورت است که کلاینت (معمولا فلش پلیر) یکی کانکشن TCP بر روی پورت 1935 ایجاد میکند (ممکن است نیاز به احراز هویت باشد) و پس موفقیت آمیز بودن اصطلاحا session کاربر پس از HandShake ایجاد شده و اکنون سرور و کلاینت میتوانن محتوای ویدیویی را منتقل کنند.
با توجه به از بین رفتن و منسوخ شدن FlashPlayer و عدم پشتیبانی آن توسط مرورگر ها این پروتکل کمی محبوبیت خود را از دست داده است و کاربران و مرورگر ها از پروتکل هایی که بر بستر HTTP هستند بیشتر استقبال میکنند.
اگر با پروتکل های TCP آشنا نیستید حتما این مقاله را مطاله کنید در این مقاله به طوری کلی در مورد پروتکل TCP و UDP و چه تفاوت هایی با هم دارند صحبت کرده ایم و حتی اشاره کرده ایم که برای استریم ویدیو کدام یکی گزینه مناسب تری است.
پروتکل RTMP و HLS هر دو برای استریم ویدیو هستند.
پروتکل HLS که مخفف عبارت (HTTP Live Streaming) می باشد و در کنار آن پروتکل RTMP که مخفف (Real-Time Messaging Protocol) می باشد هردو جزو محبوب ترین پروتکل ها در صنعت ویدیو استریمینگ به حساب می آیند به طوری که اگر با کمی با این حوزه آشنا باشید و شاید بعضا با برخی از نرم افزار های آن کار کرده باشید حتی اگر معنی آن را ندونید ولی اسم آن به چشم شما خورده است.
اگر چه هر دو این پروتکل ها برای انتقال محتوای ویدیویی در سطخ اینترنت طراحی شده اند ولی در برخی موارد با هم تفاوت هایی دارند که در ادامه به آن ها می پردازیم. البته پیش از این که شروع کنیم باید کمی در مورد پروتکل HLS بدانید.
پروتکل HLS چیست ؟
البته در سری پست های قبلی به طور مفصل در مورد این که پروتکل HLS چیست و چه کاربردی دارد توضیح داده ایم و پیشنهاد میکنیم که اگر قصد دارید با جزیات بیشتر با این پروتکل آشنا شوید حتما این مقاله را مطالعه کنید البته که در این مقاله هم یک اشاره کوچک به آن خواهیم کرد ولی بیشتر تمرکز خود را بر روی تفاوت این دو پروتکل قرار داده ایم.
همانطور که در بالا گفتیم در مورد پروتکل HLS ما قبلا صحبت کرده ایم و پیشنهاد میکنیم که این مقاله را مطالعه کنید ولی به بیانی ساده اگر بخواهیم توضیح دهیم HLS یک پروتکل برای انتقال صوت و تصویر (Media Streaming Protocol) در سطح اینترنت است. کمپانی اپل پروتکل HLS را در تابستان سال 2003 همراه با عرضه آیفون 3 به دلیل مشکلات دسترسی به محتوای استریم به وجود آورد.
پروتکل HLS نسبت به فناوریهای قبلی ایمنتر، قابل اعتمادتر و سریعتر هستند. و به لطف این پروتکل ها فضا و همچنین راه برای تولید کنندگان محتوا بسیار راحت شده است این پروتکل ویدیو شما را به تیکه های کوچک تری تقسیم میکند و در لایه HTTP به دیوایس های مختلف ارسال میکند. و یکی از بزرگترین مزیت های آن قابلیت ABR می باشد.
تفاوت پروتکل RTMP و HLS
تا اینجای کار متوجه شدیم که هردو این پروتکل های چگونه کار میکنند و البته هردو برای اشتراک و انتقال محتوای ویدیویی و صوتی در بستر اینترنت هستند در ادامه به تفاوت پروتکل RTMP و HLS می پردازیم. البته با توجه به یک نکته کلیدی که در پاراگراف بالا گفتیم (پشتیبانی مرورگر ها) احتمالا متوجه این شده اید که کدام یک امروزه پر رنگ تر و پراستفاده تر هستند.
تطبیق پذیری هوشمند (Adaptive Bitrate Streaming)
احتمالا در قابلیت های پلتفرم نگاوید ویژگی ABR به چشم شما خورده است و به این معنی است که این قابلیت در نگاوید پشتیبانی می شود. یکی از تفاوت های کلیدی بین RTMP و HLS قابلیت ABR می باشد. به کمک این قابلیت کیفیت ویدیو شما بر اساس پهنای باند گوشی و یا لب تاپ شما تطبیق داده می شود و شما میتوانید یک استریم روان و بدون لگ را تجربه کنید در صورتی که پروتکل RTMP به صورت پیش فرض این قابلیت را در خود ندارد و در آن پیاده سازی نشده است و شما برای این کار باید از نرم افزار های جانبی استفاده کنید.
سازگاری (Compatibility)
پروتکل HLS با طیف گسترده ای از دستگاه ها و پلتفرم ها از جمله iOS، Android و مرورگرهای وب سازگار است. این باعث می شود که این پروتکل را به یک انتخاب محبوب و البته درست برای سرویس های استریم ویدیو تبدیل کند که می خواهند به مخاطبان زیادی دست یابند. از طرف دیگر پروتکل RTMP به اندازه پروتکل HLS پشتیبانی نمی شود.یعنی این پروتکل نیاز به نصب نرم افزار خاصی بر روی دیوایس کاربران دارد که می تواند سازگاری آن را محدود کند.
امنیت (Security)
HLS و RTMP در نحوه مدیریت امنیت و ایجاد کردن آن متفاوت هستند. HLS از HTTPS برای استریم استفاده می کند که رمزگذاری و احراز هویت را فراهم می کند. از طرف دیگر RTMP هیچ ویژگی امنیتی داخلی را ارائه نمی دهد. برای ایمن سازی جریان RTMP، باید از نرم افزار یا پروتکل های اضافی استفاده کنید.
تاخیر (Latency)
تفاوت اصلی و دیگر این دو پروتکل در میزان تاخیر آنها در پخش و استریم ویدیو است RTMP در بحث مربوط به لایو استریمینگ تاخیر کمتری نسبت به HLS دارد و این دلیل رRTMP را به گزینه بهتری برای راهکار های پخش زنده تبدیل میکند. ولی در پخش ویدیو ها در حالت درخواستی (مانند سرویس های VOD) تفاوت چشم گیری میان این دو پروتکل دیده نمی شود.
نتیجه گیری
در این مقاله سعی کردیم به زبانی ساده توضیح دهیم که پروتکل RTMP چیست و چه کاربرد هایی دارد از طرفی هم توضیح کوتاهیی در مورد پروتکل HLS دادیم.
به طوری کلی HLS و RTMP هر دو پروتکل های استریم ویدیو هستند که به طور گسترده مورد استفاده قرار گرفته و می گیرند، اما از جهات مختلفی با هم تفاوت دارند. همانطور که شاید از نوشته بالا برداشت کرده اید HLS یک پروتکل انعطافپذیر تر نسبت به RTMP است که امکان ABR را فراهم میکند و با طیف وسیعی از دستگاهها و پلتفرمها سازگار است. و با توجه به این که در لایه HTTP ارتباط برقرا میکند با بسیاری از مرورگر ها و نرمافزار ها به راحتی ادغام می شود.
از سوی دیگر، RTMP یک پروتکل اختصاصی است که برای ارتباطات بلادرنگ طراحی شده است و تاخیر کمتری نسبت به HLS دارد. که البته در حالت on-demand streaming هم میتواند استفاده شود. با خواندن این مقاله و درک تفاوتهای بین این دو پروتکل میتواند به شما در انتخاب پروتکل مناسب برای نیازهای استریم ویدیو کمک کند.
از آن جایی که باز خورد های مثبتی از سمت شما شما مبنی بر انتشار مقاله های تخصصی تر در این حوزه دریافت کردیم سعی کردیم که سنگینی محتوا ها را به سمت مقاله های تخصصی تر منتقل کنیم. به زودی مقاله هایی را در این حوزه برای شما قرار میدهیم که به نوع خود بی نظیر هستند و شما را با پیرامون حوزه استریم و ویدیو آشنا میکنند. در ضمن در صورتی که درمورد TCP و HLS اطلاعات کافی ندارید از لینک هایی که در این مقاله قرار داده شده استفاده کنید که مفهوم کلی را کاملا درک کنید.
همچنین برای مشاوره تخصصی و رایگان جهت استفاده از پلتفرم استریم ویدیو و پادکست نگاوید میتوانید با ما در تماس باشید و اگر سوالی و پیشنهادی در مورد مقاله های بعدی وبلاگ دارید حتما توسط کامنت با ما در ارتباط باشید.