المشاهدة اللاحقة والإزاحة الزمنية: ما هما، ولماذا نافذتك أقصر مما أُعلن

مزوّد يعلن عن أرشيف سبعة أيام، وعميل يعرض يومين، كلاهما صادق في العادة. الحدّ هو الدليل، لا الأرشيف.

ثلاث كلمات تُستعمل لأشياء متداخلة. لنفصل بينها أولًا.

الإزاحة الزمنية (timeshift) هي إيقاف بث حيّ تشاهده الآن مؤقتًا أو إرجاعه. والمشاهدة اللاحقة (catch-up) هي فتح برنامج انتهى في وقت سابق من أرشيف مزوّدك. والتسجيل هو التقاط بث إلى ملف على جهازك أنت.

تُنفَّذ الثلاثة بطرق مختلفة، وتفشل بطرق مختلفة، وواحد منها فقط يقع بكامله تحت سيطرتك.

لماذا لا تستطيع عادةً إرجاع بث حيّ

لنبدأ بما يتوقع الناس أن يعمل، وهو في الغالب لا يعمل.

البث الحيّ في IPTV، بشكله المعتاد، استجابة HTTP واحدة لا تنتهي أبدًا. لا طول لها. ولا فهرس. الخادم يكتب البايتات والمشغّل يقرأها، وليس لأي منهما أي تصوّر عن موضع قبل 10 دقائق لأن لا شيء احتفظ به.

وبوابة العميل نفسها للالتماس في البث الحيّ تعكس ذلك بدقة: على المشغّل أن يُبلغ أن البث قابل للالتماس، وأن يكون طول موجب متاحًا. ولا بد أن يتحقق الشرطان. أما النقل فليس مُدخَلًا أصلًا.

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

بعض المزوّدين يقدّمون فعلًا نافذة حيّة قابلة للإرجاع. وحيث يفعلون، تُنفَّذ على أنها الأرشيف لا خاصية في البث الحيّ، وهذا يقودنا إلى الآلية المهمة.

كيف تعمل المشاهدة اللاحقة فعلًا

المزوّد الذي يحتفظ بأرشيف يسجّل قنواته هو، باستمرار، في مخزن على جانبه. وعميلك لا يبث من ملف محفوظ له اسم؛ بل يطلب شريحة من الخط الزمني للقناة.

والحقيقة البنيوية أن العميل هو من يبني ذلك الطلب. فلا يُسلَّم عنوان لكل برنامج في أي مكان. يأخذ الباني قناة ووقت بداية ومدة، وينتج عنوانًا:

live      http://line.example.com:8080/user/pass/12345.ts
catch-up  http://line.example.com:8080/timeshift/user/pass/120/2026-08-30:21-00/12345.ts
                                                  ^^^  ^^^^^^^^^^^^^^^^^^^^
                                                  minutes    start, local time

تترتب على ذلك نتيجتان، وكلتاهما تفسّر بلاغات تبدو لولا ذلك أخطاءً برمجية.

البوابة التي تدعم الأرشيف لكنها تستخدم تخطيط مسار مختلفًا ستتلقى طلبًا لعنوان لا وجود له عندها. ومن الأريكة يبدو ذلك برنامجًا مفقودًا لا عنوانًا خاطئًا.

ووقت البداية والمدة يأتيان من صف برنامج. فالمشاهدة اللاحقة تعتمد على الدليل، اعتمادًا كاملًا.

سبب أن نافذتك أقصر مما أُعلن

يقول مزوّدك 7 أيام. وأنت تصل إلى 2. لا شيء معطوب ولا أحد يكذب.

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

واحتفاظ الدليل ليس عرضيًا أيضًا. يحتفظ المحلِّل افتراضيًا بـ 8 أيام إلى الأمام ويوم 1 إلى الخلف، مقيّدَين عند 14 و7، ويسقط البرامج خارج تلك النافذة أثناء التحليل بدل تخزينها ثم تقليمها لاحقًا. والدليل الذي ينشر 14 يومًا إلى عميل يحتفظ بـ 8 لا يفقد بيانات بسبب عطل.

provider archive   7 days back
guide retention    1 day back  (default)
reachable          1 day back

فإن كانت نافذة مشاهدتك اللاحقة مخيّبة، فالشيء الذي ينبغي توسيعه هو احتفاظ الدليل، لا إعداد أرشيف. وقد فاجأني ذلك أول مرة تتبّعت فيها زعمًا بـ 7 أيام حتى انتهى إلى نافذة يوم 1: المكان الطبيعي للبحث هو إعداد أرشيف، لكن الحدّ يسكن في محلِّل الدليل. وهذه أنفع معلومة في هذه المقالة.

ما الذي بُني وما الذي لم يُبنَ

طُرحت المشاهدة اللاحقة على رأس سطح المكتب أولًا، بإصدار مخطط فهرس خاص بها. وصفحة وحدة التحكم مسمّاة عملًا متبقيًا، إلى جانب مواضع الاستئناف وإعادة مزامنة الأعلام. فعلى Xbox اليوم تحصل على القنوات الحيّة والجدول، أما الإرجاع فهو في تطبيق Windows. وتقول المشاهدة اللاحقة على Xbox ما ينبغي فعله في الأثناء.

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

التسجيل، وهو الجزء الذي تسيطر عليه

كل ما سبق يعتمد على احتفاظ مزوّدك بشيء. أما التسجيل فلا.

الجدولة من الدليل مكتملة، والمجدوِل حريص على الشيء الذي يفسد التسجيل في أغلب الأحيان: أوقات الدليل تقريبية على نحو ليست عليه شرائح الأرشيف. يطبّق تسجيل الدليل هامشًا تلقائيًا قدره 2 بالمئة من مدة البرنامج، مقيّدًا بين 1 و5 دقائق، عند كل طرف:

programme     margin (2% of duration, clamped to 1..5 minutes)
30 minutes    1 minute      (0.6 rounded up to the floor)
40 minutes    1 minute
2 hours       2.4 minutes
3 hours       5 minutes     (3.6 would be 3.6, the ceiling binds at longer runs)

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

خاصيتان من خواص التسجيلات مقصودتان لا عرضيتان.

التسجيلات ملفات محلية على العميل الذي أنشأها. ولا يحتفظ الخادم بأي بيانات تسجيل على الإطلاق: لا عائلة تسجيلات في نموذج المزامنة ولا أنواع تسجيل في خدمة الفهرس. وأُزيلت إدارة التسجيل على جانب الخادم من الأهداف بدل تأجيلها، لأن فهرسًا لما سجّلته هو معرفة بما تشاهده، والاحتفاظ به سيجعل الخدمة واعية بالمحتوى. وهذا خط لا يتجاوزه هذا المنتج، والـ DVR السحابي هدف مستبعد نهائيًا بالقاعدة ذاتها.

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

ما الذي يفعله التسجيل فعلًا بالبث

التسجيل إعادة تغليف (remux)، لا إعادة ترميز. يشغّل محرك الالتقاط FFmpeg لنسخ التدفقات الأولية من النقل الحيّ إلى ملف، بلا فك ترميز ولا إعادة ضغط لأي شيء. فالصورة في الملف هي، بتًّا بِبتّ، الصورة التي بُثّت.

تترتب على ذلك نتيجتان مباشرتان.

إنه لا يكلّف شيئًا يُذكر. لا فك ترميز ولا ترميز، مجرد تفكيك تعدد وإعادة تجميعه، فتسجيل قناة 4K لا يُثقل الجهاز كما يُثقله تشغيلها. ويمكنك التسجيل وأنت تشاهد شيئًا آخر.

ولا توجد إعدادات جودة، لأنه لا قرار جودة يُتَّخذ. التسجيل جيّد تمامًا بقدر البث، ولا أفضل. فإن كانت القناة رفعًا ناعمًا إلى 1080p، فكذلك الملف. وتظهر إعدادات جودة التسجيل المسبقة في قائمة أعمالنا المتبقية، وما ستتحكم فيه فعلًا هو إعادة ترميز، وهي ميزة مختلفة بكلفة مختلفة.

شرط عملي واحد: لا بد من إمكانية العثور على FFmpeg. فإن لم يكن موجودًا، يعيد الالتقاط خطأ «غير موجود» بدل أن يفشل بصمت في منتصف الطريق.

أين تذهب التسجيلات

تُطرح خلفيتان: قرص محلي ومشاركة شبكة SMB، مع اختبار اتصال للثانية كي تكتشف أن بيانات الاعتماد خاطئة قبل التسجيل لا بعده.

هدف SMB هو الجواب الصحيح لمنزل فيه NAS، وهو يغيّر الحساب تغييرًا كبيرًا. فالتلفزيون الحيّ بمعدلات بت البث الإذاعي بضعة غيغابايتات في الساعة. وموسم من أي شيء يملأ حاسوبًا محمولًا بسرعة.

ولا توجد خلفية سحابية منفَّذة، ولسبب الحدّ المذكور أعلاه ليست مخططة أيضًا.

الفجوة في الجدولة

التسجيلات الفردية من الدليل تعمل. أما التسجيل المتكرر وتسجيل المسلسلات فلا وجود له.

فـ«سجّل كل حلقة من هذا» ليس شيئًا يمكنك طلبه اليوم؛ كل حلقة تُجدوَل على حدة من الدليل. وهذه أكبر فجوة منفردة في هذه المنطقة من المنتج، ويستحق أن تعرفها قبل أن تخطط سير عمل حولها.

كلفة الاتصال التي لا يحسبها أحد

شيء واحد يفاجئ المنازل، وينطبق على الآليات الـ 3 كلها بالتساوي.

المشاهدة اللاحقة بث. والتسجيل بث. وكلاهما يستهلك اتصالًا من المزوّد ما دام يعمل، تمامًا كما تفعل المشاهدة الحيّة. والخط الذي يسمح بـ 2 اتصالات، مع 1 تسجيل جارٍ، يبقى له 1.

ولهذا قد يمنع تسجيل مجدوَل للمساء شخصًا آخر من المشاهدة بهدوء، ولهذا يعني تسجيلان متداخلان على خط بـ 2 اتصالات أن لا أحد يشاهد أي شيء. وجانب التسجيل من الوعي بالاتصالات في قائمة أعمالنا المتبقية، فالتطبيق لا يحذّرك حاليًا من ذلك التصادم قبل وقوعه. وتغطي الحد الأقصى للاتصالات الحساب، بما في ذلك سبب بقاء اتصال مستهلَكًا بعد توقف البث.

أيّها تستخدم

إن كان البرنامج قد بُثّ بالفعل ولدى مزوّدك أرشيف، فاستخدم المشاهدة اللاحقة، وتوقّع أن تكون النافذة التي يمكن الوصول إليها محدودة بدليلك لا بزعم المزوّد.

وإن لم يكن البرنامج قد بُثّ بعد، فسجّله. فهو لا ينتهي حين تدور نافذة المزوّد، ولا يعتمد على احتفاظ الدليل بعد وقوعه. إنه ملف تملكه.

وإن أردت إيقاف التلفزيون الحيّ مؤقتًا، فالجواب الصادق أنك لا تستطيع عادةً، والسبب بنيوي لا ميزة مفقودة. وتغطي MPEG-TS أم HLS ما هو البث الحيّ ولماذا الموضع فيه ليس شيئًا موجودًا.

ما قياس هذه المادة23 ادعاءات، كل منها مزود بالأدلة التي تقف خلفه
المطالبةالأدلةعد
يبني العميل عنوان المشاهدة اللاحقة من قناة ووقت بداية ومدة. ولا يُزوَّد به لكل برنامج من الدليل أو من واجهة البرمجة.n = 123‏/08‏/2026
عمق المشاهدة اللاحقة الذي يمكن الوصول إليه يحدّه احتفاظ الدليل، لا أرشيف المزوّد المُعلَن وحده، لأن مُدخَل المشاهدة اللاحقة يتجسّد من صف برنامج.n = 131‏/08‏/2026
يحتفظ محلِّل الدليل افتراضيًا بـ 8 أيام إلى الأمام ويوم 1 إلى الخلف، مقيّدَين عند 14 و7، ويسقط البرامج خارج تلك النافذة أثناء التحليل بدل تخزينها ثم تقليمها.n = 131‏/08‏/2026
التسلسل المقصود ذو المستويات الثلاثة، المصدر ثم القناة ثم لا شيء، منفَّذ جزئيًا: تجسيد العنوان مطروح، وواجهة الإعدادات للاختيار بين المستويات ليست كذلك.n = 131‏/08‏/2026
طُرحت المشاهدة اللاحقة على رأس سطح المكتب أولًا، وصفحة وحدة التحكم مسمّاة عملًا متبقيًا، إلى جانب مواضع الاستئناف وإعادة مزامنة الأعلام.n = 131‏/08‏/2026
إمكانية التقديم والتأخير في بث حيّ أصلًا هي اقتران علم قابلية الالتماس في المشغّل بطول موجب، والنقل ليس مُدخَلًا في ذلك القرار.n = 123‏/08‏/2026
يطبّق التسجيل من الدليل هامشًا تلقائيًا قدره 2 بالمئة من مدة البرنامج، مقيّدًا بين 1 و5 دقائق، قبل البداية المجدولة وبعد نهاية EPG.n = 114‏/08‏/2026
التسجيلات ملفات محلية على العميل ولا يحتفظ الخادم بأي بيانات تسجيل على الإطلاق. وأُزيلت إدارة التسجيل على جانب الخادم من الأهداف بدل تأجيلها.n = 116‏/08‏/2026
التسجيل إعادة تغليف (remux) لا إعادة ترميز: محرك الالتقاط يشغّل FFmpeg لنسخ التدفقات إلى ملف، ولهذا يكلّف قليلًا من المعالج ولا يستطيع تغيير الجودة.n = 131‏/08‏/2026
يمكن كتابة التسجيلات إلى قرص محلي أو إلى مشاركة شبكة SMB، مع اختبار اتصال لحالة الشبكة، ولا توجد خلفية سحابية منفَّذة.n = 231‏/08‏/2026
التسجيل المتكرر وتسجيل المسلسلات غير منفَّذ. كل تسجيل يُجدوَل على حدة.n = 131‏/08‏/2026
يحمل تسجيل الدليل المنتهي إطارًا مستخرَجًا من التسجيل نفسه صورةً مصغّرة له، ويتوقف تلقائيًا عند نهاية البرنامج في الدليل.n = 114‏/08‏/2026
يعتمد التسجيل على إمكانية العثور على ملف تنفيذي خارجي للترميز، وغيابه ينتج نتيجة «غير موجود» صريحة بدل التقاط جزئي.n = 101‏/09‏/2026
يقرأ الالتقاط في كتل من 64 KB ويتابع البايتات المكتوبة في أثناء ذلك، وهذا ما يتيح لتسجيل جارٍ أن يُبلغ عن الحجم مع أنه لا يستطيع الإبلاغ عن النسبة المئوية.n = 101‏/09‏/2026
توجد خلفيتا تخزين، قرص محلي ومشاركة شبكة SMB، مع نوع نتيجة تحقق لاختبار حالة الشبكة قبل الاعتماد عليها.n = 201‏/09‏/2026
التسجيل على جانب الخادم ليس بندًا في خارطة الطريق بل هدف مستبعد معلَن، على أساس أن فهرسًا لما سجّلته سيجعل الخدمة واعية بالمحتوى.n = 116‏/08‏/2026
التسجيلات غائبة عن عائلات الحالة المتزامنة عن قصد: توجد ثلاث عشرة عائلة ولا تحمل أي منها بيانات تسجيل.n = 1301‏/09‏/2026
البرامج خارج نافذة الاحتفاظ تُهمَل أثناء التحليل بدل تخزينها وتقليمها لاحقًا، ولهذا فإن توسيع المدى يعني تغيير الاحتفاظ لا مسح ذاكرة مؤقتة.n = 101‏/09‏/2026
يُبلغ التحليل عن عدد البرامج التي أهملها إلى جانب عدد ما احتفظ به، فيمكن نسب نافذة مشاهدة لاحقة ضحلة إلى الاحتفاظ بدل التخمين.n = 101‏/09‏/2026
يلحق باني عنوان البث الحيّ لاحقة تدفق نقل بلا تفرّع ولا إعداد، ويفعل باني المشاهدة اللاحقة الشيء ذاته، فكلاهما يصف ما يطلبه العميل لا ما تعيده البوابة.n = 223‏/08‏/2026
لا شيء في سجل القناة يسجّل حاوية أو نقلًا، فلا يستطيع العميل أن يعرف مسبقًا هل سيُجاب طلب أرشيف بالشكل الذي يتوقعه.n = 123‏/08‏/2026
الجدولة من الدليل واحدة من الصفوف القليلة المعلَّمة مكتملةً تمامًا في متابعتنا نحن، وهذا ما يجعلها النصف الموثوق من هذا الموضوع.n = 101‏/09‏/2026
لا يستطيع التقاط حيّ الإبلاغ عن التقدم نسبةً مئوية، لأن مدة المُدخَل مجهولة.n = 123‏/08‏/2026