اقرأ في هذا المقال
- ما هو بروتوكول RTMP
- أساسيات بروتوكول RTMP
- خصاص بروتوكول المراسلة في الوقت الفعلي RTMP
- كيفية عمل بروتوكول RTMP
- مزايا بروتوكول RTMP
- عيوب بروتوكول RTMP
- كيفية إعداد اتصال بروتوكول RTMP
يشير بروتوكول دفق الفيديو وعلى سبيل المثال “RTMP” و”MPEG-DASH” إلى طريقة توصيل قياسية لتقسيم مقطع الفيديو إلى أجزاء وإرساله إلى الجمهور عن طريق إعادة تجميعه، وبرز البث المباشر كواحد من أكثر وسائل الترفيه والتواصل شيوعاً، ويزداد تدفق الفيديوهات بشعبية أسرع بكثير من أي صناعات أخرى في العالم الحالي.
ما هو بروتوكول RTMP
بروتوكول المراسلة في الوقت الحقيقي (RTMP): هو بروتوكول مملوك تم تطويره في الأصل بواسطة (Macromedia)، لدفق الفيديو والصوت والبيانات في الوقت الفعلي بين الخادم ومشغل (Flash) وإنّ (RTMP) بروتوكولاً شائع الاستخدام للبث المباشر في سير عمل الإنتاج.
- “RTMP” هي اختصار لـ “Real-Time-Messaging-Protocol”.
أساسيات بروتوكول RTMP
إنّ التقنيات المتعلقة بتدفق الفيديو والفيديو تتغير أيضاً بشكل متكرر لمواكبة هذه الصناعة سريعة النمو وكما أنّ العديد من الشركات، مثل (apple) و(adobe) قد طورت بروتوكولات الاتصال المتدفقة أو بروتوكولات الفيديو الخاصة بها لنقل البيانات، بحيث يمكن أن يكون الملف خفيف الوزن وقابل للعرض على المشاهدين، والبروتوكولات الأكثر استخداماً هي (TCP) و(UDP) و(HLS) و(MPEG-DASH) و(RTSP) و(RTP) و(RTCP) و(RTMP).
يدعم (RTMP) دفق معدل البت التكيفي (ABS) مما يجعله مناسباً تماماً لخدمات (OTT) واستناداً إلى بروتوكول التحكم في النقل عبر الإنترنت (TCP)، يمكن لـ (RTMP) بث محتوى مباشر بزمن انتقال منخفض نسبياً، لهذه الأسباب غالباً ما يتم استخدامه كبروتوكول متوسط للتدفق بين المشفر ومحول الشفرات قبل التسليم بتنسيقات أخرى مثل (HLS) و(MPEG-DASH).
ومع ذلك إنّ (RTMP) هو بروتوكول بث قديم وثابت وخيار (CDN) شائع لفترة طويلة، ويتم استخدام (RTMP) لتجنب التأخير في الاتصال وحفظ النطاق الترددي، ويُعد (Flash Player) الذي يستخدم لعرض دفق الفيديو والصوت عبر بروتوكول المراسلة في الوقت الحقيقي شائعاً ويستخدم على نطاق واسع.
- “TCP” هي اختصار لـ “Transmission-Control-Protocol” و”CDN” هي اختصار لـ “Content-Delivery-Networks”.
- “OTT” هي اختصار لـ “Over-The-Top” و”HLS” هي اختصار لـ “HTTP-Live-Streaming”.
- “UDP” هي اختصار لـ “User-Datagram-Protocol” و”RTSP” هي اختصار لـ “Real-Time-Streaming-Protocol”.
- “RTP” هي اختصار لـ “Real-Time-Transport” و”ABS” هي اختصار لـ “adaptive-bitrate-stream”.
خصاص بروتوكول المراسلة في الوقت الفعلي RTMP
- (RTMP) هو بروتوكول شبكة قائم على بروتوكول (TCP) والذي يحافظ على الاتصالات المستمرة ويسمح بالاتصال بزمن انتقال منخفض.
- هناك بعض الاختلافات في بروتوكول (RTMP) والتي تسمح بطرق اتصال أخرى.
- (RTMPT) هو إصدار من (RTMP) يتم نقله عبر بروتوكول (HTTP) عبر نفق.
- (RTMPS) هو إصدار من (RTMP) يتم إرساله عبر (TLS / SSL) للاتصالات الآمنة.
- (RTMPE) هو إصدار محسن ومشفّر من (RTMP) يستخدم آلية أمان (Adobe) الخاصة لضمان حماية تشفير في الوقت الفعلي للمحتوى.
ملاحظة:“TLS/SSL” هي اختصار لـ “Transport-Layer-Security/Secure-Sockets-Layer” و”HTTP” هي اختصار لـ “Hyper-Text-Transfer-Protocol”.
كيفية عمل بروتوكول RTMP
بروتوكول المراسلة في الوقت الحقيقي هو بروتوكول شبكة قائم على (TCP)، ويوفر خدمة تعدد إرسال الرسائل ثنائية الاتجاه عبر نقل دفق موثوق به بين زوج من الأقران المتصلين، مثل الاتصال بين خادم (RTMP) ومشغل فلاش العميل أو مشغل الويب أو الجهاز المحمول.
يتم إنشاء اتصال بروتوكول المراسلة في الوقت الحقيقي عن طريق مصافحة بين مشغل فلاش العميل وخادم (RTMP)، وبالنسبة إلى دفق معين تبدأ المصافحة بالطلب من مشغل (Flash) ثم يتلقى الخادم هذا الطلب، وبعد تلقي الطلب يتم إرسال جميع مستندات الفيديو والصوت إلى ملف تنسيق الويب الصغير (SWF) والذي يمكن تشغيله في (Flash Player)، ويمكن غرسه بشكل عكسي في صفحة ويب أو حتى في الأجهزة المحمولة.
لنقل سلس يتم تقسيم التدفقات إلى أجزاء أصغر متداخل قبل إرسالها عبر الشبكة، وحجم الدفق المجزأ قابل للتكوين، حيث تقلل أحجام الأجزاء الأكبر من استخدام وحدة المعالجة المركزية ولكنّها تلتزم أيضاً بعمليات الكتابة الأكبر، والتي يمكن أن تؤخر المحتوى الآخر على اتصالات النطاق الترددي المنخفض والأجزاء الصغيرة ليست جيدة للدفق بمعدل بت عالي.
يتم الاحتفاظ بحجم الشظية بشكل مستقل لكل اتجاه، ومع ذلك يتم إرسال الأجزاء المنقسمة وتعدد إرسالها عبر اتصال واحد بطريقة تلبي كل قناة نطاقها الترددي، ووقت الاستجابة ومتطلبات جودة الخدمة الأخرى، ويتم التعامل مع الحزم المشذرة بهذه الطريقة على أنها غير قابلة للتجزئة ولا يتم إرسالها على مستوى الأجزاء، ويقوم بروتوكول المراسلة في الوقت الحقيقي بتغليف الفيديو بتنسيق (MP4) و(FLV) والصوت بتنسيق (AAC) و(MP3).
- “SWF” هي اختصار لـ “Shock-wave-Flash”.
- “AAC” هي اختصار لـ “Advanced-Audio-Coding”.
مزايا بروتوكول RTMP
- لا توجد قيود على البروتوكول الخامل باستثناء (RTMFP) مع اتصال العميل النشط مقارنةً بـ (RTP / RTSP).
- مدعوم أصلاً من قبل مشغلات الفلاش والمكدس التكنولوجي من (Adobe).
- يمكن للمستخدمين الاحتفاظ بمخزن مؤقت صغير، بدلاً من تنزيل مقطع فيديو أثناء التشغيل ممّا يوفر النطاق الترددي.
- يتمتع (RTMP) بدعم واسع لـ (DRM).
- يوفر بروتوكول المراسلة في الوقت الحقيقي دعماً قوياً للبث المباشر بالإضافة إلى البث الديناميكي، حيث يتم ضبط جودة الفيديو تلقائياً مع التغييرات في النطاق الترددي المتاح.
ملاحظة:“DRM” هي اختصار لـ “digital-rights-management”.
عيوب بروتوكول RTMP
- يعمل (RTMP) فقط في (Flash) وليس في (HTML5).
- بعض برامج الترميز المتقدمة غير مدعومة بواسطة (RTMP) مثل (H.265).
- يتم إرسال معظم محتوى (RTMP) عبر المنفذ غير القياسي 1935 من منفذ (HTTP 80)، مما يجعله عرضة للحظر بواسطة جدران الحماية، ويمكن منع هذه المشكلة عن طريق البث في (RTMPT) أي نفق عبر (HTTP) والذي يأتي بتكلفة أداء الخادم.
- نظراً لأنّ بيانات (RTMP) يتم دفقها إلى المشغل، فإنّ هذا هو السبب في أن الاتصال يتطلب نطاقاً ترددياً أعلى من معدل بت الفيديو، ونتيجةً لذلك إذا انقطع الاتصال لبضع ثوانٍ فسيتقطع البث.
كيفية إعداد اتصال بروتوكول RTMP
1- المصافحة
تعتبر عملية المصافحة مباشرة نسبياً في دفق (RTMP)، ويتم إجراؤها بعد إنشاء اتصال TCP.
- في عملية المصافحة هذه، يرسل كل جانب أي عميل وخادم ثلاث حزم يشار إليها باسم (C0) و(C1) و(C2) و(S0) و(S1) و(S2) لحزم العميل والخادم.
- يرسل العميل C0 إلى الخادم الذي يحتوي على إصدار (RTMP) الذي يطلبه.
- ثم يرسل العميل C1 تحتوي على (1536 بايت) عشوائي من البيانات، ويتم إرسالها دون انتظار إشارة الخادم إلى أنه قد استقبل C0.
- في هذه المرحلة يجب أن ينتظر الخادم حتى يتلقى C0 للرد مع S0 واختيارياً مع S1، ويعرف الخادم في هذه المرحلة إصدار (RTMP) الذي يطلبه العميل.
- يستجيب الخادم بـ (S0) و(S1)، وهما في الأساس نسخان من (C0) و(C1).
- ثم يقوم العميل والخادم بتبادل (C2) و(S2)، وبعد ذلك تعتبر المصافحة مكتملة ويتم إنشاء اتصال.
2- الاتصال
- تتبع خطوة الاتصال خطوة المصافحة بين عميل (RTMP) وخادم (RTMP)، وفي عملية الاتصال يتبادل العميل والخادم الرسائل المشفرة باستخدام تشفير (AMF).
- يرمز (AMF) إلى تنسيق رسالة الإجراء ويستخدم لإرسال الرسائل بين عميل (Adobe Flash) وخادم وسائط (Flash).
- أو يمكن للمبرمجين استخدام (AMF) لتسلسل الرسوم البيانية للكائنات في (ActionScript) و(XML).
- يُستخدم (AMF) في تدفق (RTMP) للتواصل بين العميل والخادم ولإشارة نوع الرسالة ومحتواها.
- ويظهر الرسالة التي أرسلها العميل إلى خادم (RTMP) عنوان (URL) الخاص بالاتصال، وبرنامج ترميز الصوت وبرنامج ترميز الفيديو وإصدار (AMF) المستخدم.
ملاحظة:“AMF” هي اختصار لـ “Action-message-format” و”URL” هي اختصار لـ “Uniform-Resource-Locator”.
3- التدفق
- بعد مصافحة (RTMP) وخطوات الاتصال بتم إنشاء اتصال بين عميل (RTMP) وخادم (RTMP) ويمكن الآن تقديم البيانات.
- للقيام بذلك تحدد مواصفات (RTMP) عدة أوامر.