باختصار: ملف MPD هو وصف بصيغة XML لبرنامج كامل: فتراته، وتمثيلات الفيديو والصور المتاحة فيه، ودقاتها ومعدلات بتّها، وأجزاء كل واحدة، وعناوينها. لا شيء فيه قابل للتشغيل. ولتنزيل DASH يجب اختيار تمثيل فيديو واحد وتمثيل صوت واحد، وجلب أجزائهما بالترتيب، ثم غلافهما معاً في حاوية واحدة — عادةً MP4 — دون إعادة ترميز. المعيار تُشرف عليه منصة DASH Industry Forum.
اقرأ الوصف قبل أن تجلب أي شيء
ثلاثة أمور تجعل MPD مختلفاً عن قائمة تشغيل HLS، وكل واحد يغيّر طريقة التنزيل:
- المسارات منفصلة بالتصميم. الفيديو والصور في مجموعة تكيّف (AdaptationSet) مستقلة، والصوت في مجموعة أخرى، فأداة تحفظ «فيديو» فقط تنتج ملفاً صامتاً — وهو الخلل المشروح في فيديو محمّل بلا صوت.
- عدة فترات. قد يُقسَّم البرنامج إلى فترات، وغالباً عند مواضع الإعلانات، وترقيم الأجزاء يعيد البداية في كل فترة، فالترتيب يتبع تسلسل الفترات لا عدّاداً واحداً.
- نموذجا عنونة. إما قالب بأجزاء مرقّمة يجب توسيعه صحيحاً، أو قائمة صريحة بعناوين الأجزاء؛ والنموذج الثاني يشبه حالة HLS.
التمييز بين DASH و HLS بنظرة واحدة
| العلامة | DASH | HLS |
|---|---|---|
| امتداد ملف الوصف | .mpd (XML) | .m3u8 (قوائم نصية وفق RFC 8216) |
| حاوية الأجزاء المعتادة | .m4s وأحياناً .webm | .ts أو .m4s |
| الصوت | غالباً في مجموعة تكيّف منفصلة | كثيراً ما يكون داخل الأجزاء نفسها |
| تبديل الجودة | اختيار تمثيل | اختيار نسخة أو صيغة بديلة |
ولهذا كان الفرق مهماً: HLS كثيراً ما يعطيك ملفاً واحداً بعد دمج بسيط، أما DASH فيحتاج دائماً تقريباً إلى ضم مسارين، ومن يظنّه حالة مماثلة يحصل على «الملف صامت».
سير العمل
اجلب ملف الوصف من جلسة تعمل
يُستخدم DASH كثيراً للمحتوى الذي يتوقع تسجيل دخول. افتح الصفحة حيث يعمل الفيديو ودع المشغّل يطلب الوصف، ثم التقط ما طلبته الصفحة. نسخ رابط الصفحة إلى خدمة لا تحمل جلستك هي النقطة التي تموت عندها أغلب محاولات DASH.
اختر تمثيل فيديو واحداً وتمثيل صوت واحداً
اختر الفيديو بالدقة ثم بمعدل البت، واختر الصوت بمعدل البت واللغة إن تعددت. اختيار المشغّل يعبّر عن تقدير النطاق لا عن سقف المصدر، وقواعد الاختيار في التحميل بأعلى جودة.
اجلب كل أجزاء المسارين
«كل» تعني كل جزء وبترتيب الفترات. الأجزاء الناقصة تُغلَّف في ملفات تنتهي مبكراً أو يخرج صوتها عن التزامن، والخطأ يظهر غالباً في نهاية تنزيل طويل لا في بدايته.
غلّف بـ FFmpeg دون إعادة ترميز
مع مداخل مرتّبة يجمع FFmpeg التدفقات الأولية في MP4 واحد بنسخها، كما في دليل الدمج ومرجع الحاويات:
ffmpeg -f concat -safe 0 -i video.txt -i audio.m4a -c copy -map 0:v -map 1:a out.mp4
حيث يدرج video.txt ملفات أجزاء الفيديو بالترتيب. وهذا هو المعنى الحقيقي بـ«محمّل DASH مع FFmpeg»: الأداة تشغّل FFmpeg لإعادة التغليف، بينما لا يقوم FFmpeg بأي عمل مع خسائر الجودة.
تحقق من المدة والتزامن والصوت
يجب أن يُظهر ffprobe out.mp4 مسار فيديو واحداً على الأقل ومساراً صوتياً، بمدة تطابق المصدر. ثم شغّل عند ثلاث نقاط: البداية والوسط والنهاية.
أين تخطئ تنزيلات DASH
| العَرَض | السبب | العلاج |
|---|---|---|
| MP4 صامت | جُلب مسار الفيديو وحده | اجلب تمثيل الصوت ثم ضع المسارين في الخريطة |
| الملف يتوقف في المنتصف | أجزاء الفترة الثانية لم تُطلب | اتبع ترتيب الفئات وتأكد أن العدد يطابق الوصف |
| ترتيب المشاهد خاطئ | ترتيب أبجدي بدل ترتيب الوصف | ابنِ قائمة الدمج من MPD لا من سرد المجلد |
| الصوت ينجرف عن الشفاه | طوابع بداية غير صفرية | أعد توليد PTS أو طبّق إزاحة أثناء التغليف |
| 403 قرب النهاية | عناوين الأجزاء الموقّعة سقطت أثناء العمل | جدّد الوصف وأكمل الأجزاء المتبقية |
النطاق بصراحة
يُستخدم DASH أيضاً ناقلاً للمحتوى المحمي بإدارة الحقوق الرقمية. وحيث يكون البث مشفراً أو خلف جدار مدفوع، فهذا خارج هذه الصفحة وخارج الاستخدام المعلن لـ VidBrowser: ما فوق يفترض محتوى تملك حق مشاهدته في جلستك، غير مشفّر. وحفظك له للرجوع الشخصي لا ينقل إليك ترخيصاً — راجع شروط الموقع ورخصة المالك قبل أي إعادة نشر.
الأسئلة الشائعة
كيف أنزّل فيديو DASH من ملف MPD؟
اقرأ الوصف، واختر تمثيل فيديو واحداً وتمثيل صوت واحداً، واجلب كل الأجزاء بترتيب الفترات، ثم غلّفها في MP4 بنسخ المسارات.
هل يصلح FFmpeg كمحمّل DASH؟
FFmpeg يغلف ويفكّ المغلف لكنه لا يعدّد أجزاء مواقعك ولا يحمل جلستك؛ قرنه بأداة تقوم بالالتقاط.
لماذا ينقص الصوت تنزيلي من DASH؟
لأن DASH يضع الصوت في مجموعة تكيّف منفصلة، فيجب جلبها وتنصيبها في الخريطة صراحة.
هل ملف MPD فيديو؟
لا. إنه XML يصف الفترات والتمثيلات والأجزاء وعناوينها، وإعادة تسميته إلى .mp4 لا تنتج شيئاً قابلاً للتشغيل.
هل يقلّل التغليف من الجودة؟
لا؛ نسخ المسارات يعيد تحوي بيانات مرمّزة أصلاً، والجودة تنقص عند إعادة الترميز فقط.
هل أنزّل DASH محمياً بالحقوق الرقمية؟
لا، ولا واحدة من الطرق هنا تحاول ذلك؛ التسليم المشفّر والمحتوى المدفوع خارج النطاق.