نقل RTSP غير المطابق في رد الخادم: تصحيح أخطاء استجابات إعداد الكاميرا وعدم تطابق وضع RTP

كيفية تصحيح أخطاء النقل غير المتطابقة لـ RTSP عندما ترد الكاميرا بوضع نقل RTP مختلف، أو قنوات مشذرة خاطئة، أو منافذ مفقودة، أو استجابة إعداد غير متوافقة.

النقل غير المطابق لـ rtsp, رد الخادم, إعداد آر تي إس بي, رأس النقل, RTP عبر TCP, udp.rtp, تشخيص آر تي إس بي

بعض حالات فشل RTSP لا تُرجع "461 نقل غير مدعوم" نظيف. بدلاً من ذلك، يُبلغ العميل عن "نقل غير متطابق في رد الخادم"، أو "رأس نقل غير صالح"، أو "رد الخادم بنقل مختلف"، أو "عدم تطابق نقل RTP". يحدث هذا غالبًا عندما تقبل الكاميرا "الإعداد" ولكنها تجيب برأس "النقل" الذي لا يتطابق مع ما طلبه العميل أو ما يمكن للعميل تحليله.

يبحث المستخدمون عن "نقل غير متطابق RTSP في رد الخادم"، و"نقل غير متطابق ffmpeg"، و"عدم تطابق نقل إعداد RTSP"، و"رأس نقل الكاميرا غير صالح" لأن الدفق قد يعمل في مشغل واحد ويفشل في مشغل آخر. الكاميرا ليست ببساطة غير قابلة للوصول. مفاوضات النقل RTSP غير متناسقة.

يعد RTSP Inspector مفيدًا لأنه يجب مقارنة رؤوس الطلب والاستجابة مباشرةً.

كيف يبدو تبادل SETUP المطابق

طلبات العميل TCP مشذرة:

Transport: RTP/AVP/TCP;unicast;interleaved=0-1

Server replies with compatible TCP interleaved transport:

Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=12345678

طلبات العميل UDP:

Transport: RTP/AVP;unicast;client_port=50000-50001

Server replies with UDP ports:

Transport: RTP/AVP;unicast;client_port=50000-50001;server_port=6970-6971

إذا قام الخادم بتغيير وضع النقل، أو حذف الحقول المطلوبة، أو إرجاع قيم غير صحيحة، فقد يفشل العملاء الصارمون.

حالات عدم التطابق الشائعة

تشمل الأمثلة الشائعة ما يلي:

  • يطلب العميل TCP، ويرد الخادم UDP.
  • يطلب العميل UDP، ويرد الخادم TCP.
  • يحذف الخادم interleaved=.
  • يقوم الخادم بإرجاع أرقام القنوات الخاطئة.
  • يقوم الخادم بإرجاع قيم "client_port" مختلفة عن الطلب.
  • يحذف الخادم "server_port" لـ UDP.
  • يقوم الخادم بإرجاع البث المتعدد عندما يطلب العميل البث الأحادي.
  • يقوم الخادم بإرجاع بدائل نقل متعددة بتنسيق غير مدعوم.
  • يقوم الوكيل بإعادة كتابة الطلب ولكن ليس الاستجابة.

بعض العملاء يتسامحون مع هذه المراوغات. والبعض الآخر يرفضهم.

لماذا يعمل لاعب واحد ويفشل آخر

تختلف تطبيقات RTSP. قد يقبل اللاعب المتسامح استجابة النقل المشوهة أو غير المتوقعة ويستمر. قد تفشل الأداة الأكثر صرامة لأن الاستجابة تنتهك توقعاتها.

وهذا لا يعني تلقائياً أن العميل الصارم مخطئ. وهذا يعني أنه يجب فحص سلوك الكاميرا أو الوكيل.

للتشخيص المهني، احتفظ بما يلي:

  • رأس النقل المطلوب.
  • استجابة النقل الخادم.
  • تتبع عنوان URL.
  • معرف الجلسة.
  • ما إذا كانت حزم RTP ستصل بعد ذلك.

إعادة كتابة الوكيل والتتابع

قد تقوم المرحلات المدركة لـ RTSP بإعادة كتابة رؤوس النقل لسد مسارات UDP وTCP. إذا كانت إعادة الكتابة غير مكتملة، فسيرى العميل المتلقين للمعلومات استجابة لا تتطابق مع طلبه.

أمثلة:

  • يطلب العميل TCP من التتابع.
  • يطلب التتابع UDP من الكاميرا.
  • يقوم الترحيل بإعادة توجيه استجابة UDP Transport الخاصة بالكاميرا باتجاه مجرى النهر.

أبلغ العميل عن نقل غير متطابق على الرغم من أن الكاميرا والمرحل قاما بشيء صالح جزئيًا.

قائمة التحقق من التصحيح

استخدم هذه العملية:

  1. التقاط طلب "الإعداد".
  2. التقاط استجابة SETUP.
  3. مقارنة بروتوكول النقل: UDP، TCP معشق، البث المتعدد.
  4. قارن البث الأحادي/البث المتعدد.
  5. قارن بين منافذ العميل ومنافذ الخادم والقنوات المتداخلة.
  6. تحقق مما إذا كان الوكيل/جهاز إعادة البث موجودًا في المسار.
  7. تحقق مما إذا كانت حزم RTP اللاحقة تتبع تعيين الاستجابة.
  8. قارن بين اللاعب المتسامح والعميل الصارم باستخدام أدلة الحزمة.
  9. اختبر عنوان URL المباشر للكاميرا إن أمكن.
  10. قم بالإبلاغ عن زوج النقل الدقيق إلى البائع.

التشخيص النهائي

"النقل غير المتطابق في رد الخادم" يعني أن مفاوضات "الإعداد" قد أنتجت استجابة نقل غير متوافقة أو مشوهة. قد تقوم الكاميرا أو المرحل بتغيير وضع RTP، أو حذف الحقول، أو إرجاع قيم لا يمكن للعميل استخدامها بأمان.

يساعد RTSP Inspector من خلال جعل زوج طلب النقل/الاستجابة مرئيًا، وهي الطريقة الوحيدة الموثوقة لتشخيص هذه الفئة من فشل RTSP.