يتوقف تدفق RTSP بعد 30 ثانية: Keepalive، ومهلة الجلسة، وNAT، وقطع اتصال الكاميرا الخاملة

لماذا يتوقف تدفق RTSP بعد 30 ثانية، أو 60 ثانية، أو بضع دقائق، وكيفية تصحيح أخطاء طلبات البقاء على قيد الحياة، ومهلة الجلسة، وNAT، وصمت RTP، وانقطاع اتصال الكاميرا.

توقف تيار rtsp, rtsp keepalive, مهلة الجلسة, تنقطع اتصال الكاميرا, تشخيص آر تي إس بي, صمت RTP

يمثل دفق RTSP الذي يبدأ بنجاح ثم يتوقف بعد 30 ثانية مشكلة مختلفة عن الدفق الذي لا يبدأ أبدًا. عملت المصادقة. تم إرجاع SDP. من المحتمل أن يكون SETUP وPLAY قد نجحا. ربما وصلت وسائل الإعلام لفترة من الوقت. ثم أغلقت الكاميرا الجلسة، أو توقف RTP، أو تجمد المشغل، أو انتهت مهلة الاتصال.

عادةً ما تشير عمليات البحث مثل "يتوقف بث RTSP بعد 30 ثانية"، و"مهلة استمرار RTSP"، و"ينقطع اتصال دفق الكاميرا بعد دقيقة واحدة"، و"مهلة جلسة RTSP" إلى مشكلة مدى عمر الجلسة. قد يحتاج الدفق إلى طلبات البقاء على قيد الحياة، أو قد تنتهي صلاحية تعيين NAT، أو قد تغلق الكاميرا جلسات RTSP الخاملة، أو قد يتم حظر وسائط UDP بعد تغيير المسار، أو قد يكشف RTCP عن فقدان الوسائط قبل قطع الاتصال.

يعد RTSP Inspector مفيدًا هنا لأن الجدول الزمني مهم. أنت بحاجة إلى معرفة ما حدث في الثانية 0، والثانية 30، والثانية 60، واللحظة المحددة التي توقف فيها التدفق.

لماذا يمكن أن يتوقف RTSP بعد أن يبدأ

تشمل الأسباب الشائعة ما يلي:

  • لا يرسل العميل RTSP Keepalive.
  • تتوقع الكاميرا إبقاء GET_PARAMETER على قيد الحياة.
  • تتوقع الكاميرا إبقاء OPTIONS على قيد الحياة.
  • مهلة جلسة RTSP أقصر من المتوقع.
  • تنتهي صلاحية NAT أو حالة جدار الحماية.
  • يتوقف UDP RTP بينما يظل RTSP TCP مفتوحًا.
  • تقوم الكاميرا بإغلاق اتصال TCP بعد صمت الوسائط.
  • استخدم العميل عنوان URL للتحكم التجميعي الخاطئ.
  • تحتوي البرامج الثابتة للكاميرا على خطأ في تنظيف الجلسة.
  • يُبلغ RTCP عن فقدان الحزمة أو عدم استقرارها قبل أن يتجمد الدفق.

يعتمد الإصلاح على الطبقة التي توقفت أولاً: تحكم RTSP، أو وسائط RTP، أو تعليقات RTCP، أو مسار TCP/UDP الأساسي.

رأس جلسة RTSP والمهلة

بعد SETUP، تعرض الكاميرا عادةً رأس Session:

RTSP/1.0 200 OK
Session: 12345678;timeout=60
Transport: RTP/AVP/TCP;unicast;interleaved=0-1

OPTIONS vs GET_PARAMETER keepalive

Two common keepalive methods are:

OPTIONS rtsp://camera/stream RTSP/1.0
Session: 12345678

و:

GET_PARAMETER rtsp://camera/stream RTSP/1.0
Session: 12345678

When debugging, check:

Aggregate control URL problems

This can create subtle behavior:

NAT and firewall idle timeout

Symptoms:

Camera idle disconnects

Look for:

RTP silence vs RTSP disconnect

Checklist for streams that stop after 30 seconds

Use this process:

A useful report includes:

Final diagnosis

<!-- rtsp-localized-evidence-foundation-v1:start -->

خطة إثبات عملية لموضوع «يتوقف تدفق RTSP بعد 30 ثانية: Keepalive، ومهلة الجلسة، وNAT، وقطع اتصال الكاميرا الخاملة»

الإجابة المباشرة هي أن تشخيص بث كاميرا لا يعتمد على ظهور صورة أو على رمز خطأ منفرد. يجب ربط النتيجة بطلب RTSP وردّه، وباختيار Transport، وبهوية جلسة صالحة، ثم بأرقام تسلسل RTP والطوابع الزمنية وبيانات RTCP عند وصول الوسائط. في موضوع «يتوقف تدفق RTSP بعد 30 ثانية: Keepalive، ومهلة الجلسة، وNAT، وقطع اتصال الكاميرا الخاملة» ابدأ بأقرب طبقة إلى العرض الظاهر، لكن احتفظ بسجل زمني واحد حتى لا تختلط مشكلة التحكم بمشكلة الشبكة أو برنامج فك الترميز.

أنشئ حالة اختبار صغيرة قبل تغيير إعدادات الكاميرا أو الجدار الناري. دوّن عنوان RTSP بعد إخفاء كلمة المرور، ووقت الاختبار، واسم المسار، ونوع النقل المطلوب، ورد الخادم، وأول لحظة تصل فيها الوسائط. نفّذ محاولة واحدة عبر UDP وأخرى عبر TCP interleaved عندما يسمح الجهاز بذلك. لا تغيّر عنوان المسار وبيانات الاعتماد والنقل في التجربة نفسها، لأن نجاح المحاولة التالية لن يوضح أي متغير أصلح العطل.

طبقة الفحص الدليل الذي يجب حفظه سؤال القرار
RTSP الطلب، الحالة، الرؤوس، CSeq وSession هل وافق الخادم على العملية نفسها؟
SDP control وpayload type وclock rate وcodec هل وصف الخادم المسار الذي سيُستقبل؟
Transport client_port أو interleaved وقيمة server_port هل يرسل الطرفان عبر القناة نفسها؟
RTP SSRC والتسلسل والطابع الزمني وmarker هل تصل وحدات الوسائط بترتيب يمكن تفسيره؟
RTCP sender report وCNAME وBYE هل توجد ساعة وهوية ونهاية جلسة قابلة للتتبع؟
Decoder SPS/PPS/VPS وpacketization mode هل البيانات الواصلة قابلة للتهيئة وفك الترميز؟

افصل دائمًا بين «لم تصل وسائط» و«وصلت وسائط غير قابلة للفك». غياب حزم RTP بعد SETUP وPLAY يشير إلى مسار UDP أو NAT أو جدار ناري أو رد Transport غير متطابق. وصول RTP مع فجوات في التسلسل يثبت فقدًا أو إعادة ترتيب. وصول تسلسل متماسك مع فشل الصورة ينقل التحقيق إلى payload type وclock rate وحدود الإطار ومعلمات H.264 أو H.265. هذه الحدود أهم من رسالة اللاعب العامة لأنها تحدد المالك المحتمل للإصلاح.

كيف تُكتب إجابة قابلة للاقتباس؟

اكتب النتيجة في ثلاث جمل: العملية التي نجحت، أول دليل أخفق، والتجربة التالية التي تفصل بين سببين. مثال البنية هو: «نجح DESCRIBE وSETUP وPLAY؛ لم تصل أي حزمة RTP إلى منافذ العميل المعلن عنها؛ إعادة الاختبار عبر TCP interleaved ستفصل بين حجب UDP وخطأ عنوان المسار». لا تقل إن الكاميرا أو الشبكة «معطلة» من دون حزمة أو رد يثبت الحد.

ما الحد الأدنى لإعادة إنتاج المشكلة؟

احتفظ بنسخة من تبادل OPTIONS وDESCRIBE وSETUP وPLAY، ونص SDP، ورد Transport، ومعرّف Session بعد إخفاء الأسرار. بالنسبة للوسائط، سجّل SSRC وأول وآخر رقم تسلسل ومعدل الساعة وعدد الفجوات ومدة الالتقاط. اذكر هل يعمل VLC أو VMS آخر، لكن تعامل مع ذلك كاختبار فرق لا كدليل أن الطرف الآخر صحيح في كل شيء.

متى يجب فحص الخادم بدل العميل؟

افحص الخادم عندما يرفض العملية بحالة واضحة، أو يغيّر عنوان control إلى مسار غير موجود، أو يعيد Transport لا يطابق العرض، أو يبدّل SSRC والساعة من دون انتقال معلن. افحص العميل عندما يكرر nonce قديمًا، أو يرسل Session مفقودة، أو يطلب UDP ثم لا يفتح المنافذ، أو يفسر marker بوصفه نهاية كل NAL. قد يكون العطل بينهما؛ لذلك يجب أن تبقى الحزمة والوقت جزءًا من التقرير.

كيف تُراجع النتيجة قبل التسليم؟

أعد المحاولة من بداية اتصال جديدة، ثم قارن السجلين عند أول اختلاف فقط. تأكد من أن التقرير لا يحتوي كلمة مرور أو رمز Authorization كاملًا. اربط كل استنتاج برقم CSeq أو رقم تسلسل أو طابع زمني. استخدم دليل RTSP المرتبط للخطوات المجاورة، وارجع إلى RTSP Inspector لمسار اختبار بث RTSP وجمع الأدلة محليًا. لا يحتاج هذا التشخيص إلى رفع تدفق الكاميرا إلى خدمة عامة.

<!-- rtsp-localized-evidence-foundation-v1:end --><!-- multilingual-blog-closeout:start -->

إجابة مباشرة وحدود القبول

الإجابة المختصرة عن «يتوقف تدفق RTSP بعد 30 ثانية: Keepalive، ومهلة الجلسة، وNAT، وقطع اتصال الكاميرا الخاملة» هي: لماذا يتوقف تدفق RTSP بعد 30 ثانية، أو 60 ثانية، أو بضع دقائق، وكيفية تصحيح أخطاء طلبات البقاء على قيد الحياة، ومهلة الجلسة، وNAT، وصمت RTP، وانقطاع اتصال الكاميرا. تعامل مع هذه العبارة كنتيجة يجب التحقق منها، لا كوعد ينطبق على كل إدخال أو جهاز أو مشروع أو بيئة. النتيجة المكتملة تسجل الحالة الأولية والإجراء الدقيق والمخرج المرئي والشرط الذي يثبت اكتمال المهمة في RTSP Inspector.

إجراء يبدأ من الأدلة

ابدأ بحالة صغيرة قابلة للتكرار قبل تغيير مشروع كامل. سجل إصدار التطبيق ونظام التشغيل وهوية الإدخال أو الجهاز والإعدادات المهمة والنتيجة المتوقعة. نفذ إجراءً واحدًا مقصودًا، واحتفظ بأول انتقال غير متوقع، وقارنه بحالة سليمة معروفة إن توفرت. تغيير عدة عناصر معًا يخفي الشرط الذي أنشأ المشكلة أو أصلحها.

نقطة التحقق 1: يتوقف تدفق RTSP بعد 30 ثانية: Keepalive، ومهلة الجلسة، وNAT، وقطع اتصال الكاميرا الخاملة

عند «يتوقف تدفق RTSP بعد 30 ثانية: Keepalive، ومهلة الجلسة، وNAT، وقطع اتصال الكاميرا الخاملة»، افصل قرار المنتج عن حدود النظام أو العتاد أو الملف المصدر أو الصلاحية أو سير العمل. أثبت أي طبقة قدمت الدليل قبل نسبة السبب. بذلك لا يتحول عرض قريب إلى سبب جذري مزعوم.

نقطة التحقق 2: لماذا يتوقف تدفق RTSP بعد 30 ثانية، أو 60 ثانية، أو بضع دقائق، وكيفية تصحيح أخطاء طلبات ال

لا تغلق «لماذا يتوقف تدفق RTSP بعد 30 ثانية، أو 60 ثانية، أو بضع دقائق، وكيفية تصحيح أخطاء طلبات البقاء على قيد الحياة، ومهلة الجلسة، وNAT، وصمت RTP، وانقطاع ا» حتى تظل النتيجة المحفوظة أو المصدرة أو المعاد فتحها مطابقة للحالة المرصودة. استجابة الواجهة المؤقتة مفيدة، لكن الدليل الدائم أقوى. سجل أي قيد باق لمن يتابع العمل.

نقطة التحقق 3: لماذا يمكن أن يتوقف RTSP بعد أن يبدأ

عند «لماذا يمكن أن يتوقف RTSP بعد أن يبدأ»، افصل قرار المنتج عن حدود النظام أو العتاد أو الملف المصدر أو الصلاحية أو سير العمل. أثبت أي طبقة قدمت الدليل قبل نسبة السبب. بذلك لا يتحول عرض قريب إلى سبب جذري مزعوم.

نقطة التحقق 4: رأس جلسة RTSP والمهلة

لا تغلق «رأس جلسة RTSP والمهلة» حتى تظل النتيجة المحفوظة أو المصدرة أو المعاد فتحها مطابقة للحالة المرصودة. استجابة الواجهة المؤقتة مفيدة، لكن الدليل الدائم أقوى. سجل أي قيد باق لمن يتابع العمل.

نقطة التحقق 5: OPTIONS vs GETPARAMETER keepalive

عند «OPTIONS vs GETPARAMETER keepalive»، افصل قرار المنتج عن حدود النظام أو العتاد أو الملف المصدر أو الصلاحية أو سير العمل. أثبت أي طبقة قدمت الدليل قبل نسبة السبب. بذلك لا يتحول عرض قريب إلى سبب جذري مزعوم.

نقطة التحقق 6: Aggregate control URL problems

لا تغلق «Aggregate control URL problems» حتى تظل النتيجة المحفوظة أو المصدرة أو المعاد فتحها مطابقة للحالة المرصودة. استجابة الواجهة المؤقتة مفيدة، لكن الدليل الدائم أقوى. سجل أي قيد باق لمن يتابع العمل.

نقطة التحقق 7: NAT and firewall idle timeout

عند «NAT and firewall idle timeout»، افصل قرار المنتج عن حدود النظام أو العتاد أو الملف المصدر أو الصلاحية أو سير العمل. أثبت أي طبقة قدمت الدليل قبل نسبة السبب. بذلك لا يتحول عرض قريب إلى سبب جذري مزعوم.

نقطة التحقق 8: Camera idle disconnects

لا تغلق «Camera idle disconnects» حتى تظل النتيجة المحفوظة أو المصدرة أو المعاد فتحها مطابقة للحالة المرصودة. استجابة الواجهة المؤقتة مفيدة، لكن الدليل الدائم أقوى. سجل أي قيد باق لمن يتابع العمل.

نقطة التحقق 9: RTP silence vs RTSP disconnect

عند «RTP silence vs RTSP disconnect»، افصل قرار المنتج عن حدود النظام أو العتاد أو الملف المصدر أو الصلاحية أو سير العمل. أثبت أي طبقة قدمت الدليل قبل نسبة السبب. بذلك لا يتحول عرض قريب إلى سبب جذري مزعوم.

نقطة التحقق 10: Checklist for streams that stop after 30 seconds

لا تغلق «Checklist for streams that stop after 30 seconds» حتى تظل النتيجة المحفوظة أو المصدرة أو المعاد فتحها مطابقة للحالة المرصودة. استجابة الواجهة المؤقتة مفيدة، لكن الدليل الدائم أقوى. سجل أي قيد باق لمن يتابع العمل.

مصفوفة القبول

النقطة الدليل الواجب حفظه شرط النجاح
يتوقف تدفق RTSP بعد 30 ثانية: Keepalive، ومهلة الجلسة، وNAT، وقطع اتصال الكاميرا الخاملة الحالة الأولية وإجراء واحد والحالة الناتجة يستطيع مشغل ثان تكرار النتيجة
لماذا يتوقف تدفق RTSP بعد 30 ثانية، أو 60 ثانية، أو بضع دقائق، وكيفية تصحيح أخطاء طلبات البقاء على قيد الحياة، ومهلة الج الحالة الأولية وإجراء واحد والحالة الناتجة يستطيع مشغل ثان تكرار النتيجة
لماذا يمكن أن يتوقف RTSP بعد أن يبدأ الحالة الأولية وإجراء واحد والحالة الناتجة يستطيع مشغل ثان تكرار النتيجة
رأس جلسة RTSP والمهلة الحالة الأولية وإجراء واحد والحالة الناتجة يستطيع مشغل ثان تكرار النتيجة
OPTIONS vs GETPARAMETER keepalive الحالة الأولية وإجراء واحد والحالة الناتجة يستطيع مشغل ثان تكرار النتيجة
Aggregate control URL problems الحالة الأولية وإجراء واحد والحالة الناتجة يستطيع مشغل ثان تكرار النتيجة

عزل الفشل والاستعادة والتسليم

توقف عند أول حد يفشل. احتفظ بالمصدر أو المشروع أو الجلسة أو الالتقاط، وأنشئ نسخة قبل التحرير المدمر، وغيّر متغيرًا واحدًا في كل تجربة. إعادة سير واسع بعد عدة تغييرات قد تعطي نتيجة مختلفة من دون تفسير السبب.

افصل غياب الدليل عن دليل الغياب. قد تعني الشاشة الفارغة إدخالًا أو نطاقًا أو مرشحًا أو صلاحية أو جهازًا أو فترة أو حالة مشروع خاطئة. أثبت مسار الالتقاط أو الاستيراد قبل تفسير decoder أو المحرر أو التقرير أو التصدير.

قبل التسليم، أعد فتح الأثر الدائم وافحص بدايته ونقطة القرار ونهايته. سجل الإصدار والمنصة والإعداد والتوقع والملاحظة وأصغر إعادة إنتاج. احذف البيانات الحساسة أو احجبها وتأكد من أن المستلم مخول.

أسئلة وأجوبة

ما أسرع بداية موثوقة؟

استخدم أصغر حالة ممثلة، واكتب النتيجة المتوقعة، وغيّر متغيرًا واحدًا. أثبت المسار الأساسي قبل إضافة المرشحات أو التأثيرات أو التعديلات أو الأتمتة أو مصدر أكبر.

ما الأدلة التي ينبغي حفظها؟

احتفظ بهوية الإدخال والإصدار والمنصة والإعدادات والإجراء الدقيق وأول انتقال غير متوقع والمخرج النهائي. أغلق المشروع أو الجلسة أو التقرير أو التصدير وأعد فتحه.

متى يجب تكرار الإجراء؟

كرره بعد تغيير مؤثر في التطبيق أو النظام أو driver أو firmware أو النموذج أو المصدر أو سير العمل. احتفظ بالحالة المقبولة السابقة كأساس مقارنة دون تعديل.

متى تصبح المهمة جاهزة للتسليم؟

عندما يستطيع شخص مخول آخر تحديد الإدخال وتكرار الإجراء ورؤية النتيجة نفسها وفهم القيود وفتح الأثر المحفوظ دون الاعتماد على حالة محلية غير موثقة.

أدلة مرتبطة

تغطي الصفحات التالية باللغة نفسها المراحل المجاورة من دون تغيير المالك القانوني لهذا الموضوع:

<!-- multilingual-blog-closeout:end -->