SRT مقابل VTT: ما الفرق، وأيهما يجب أن تستخدم؟
SRT وVTT هما أكثر صيغتين شائعتين للترجمة، لكنهما غير قابلتين للتبادل. هذا ما يفرّق بينهما فعليًا، وكيف تختار الصيغة المناسبة.
إذا سبق لك أن حمّلت ترجمة لفيديو وحصلت على ملف لا يعمل، فمن المرجح جدًا أن يكون السبب هو عدم توافق بين SRT وVTT. كلتا الصيغتين تخزّنان في الأساس الشيء نفسه (نص مرتبط بتوقيتات زمنية، يُعرف بالـ cue)، لكنهما قادمتان من حقبتين مختلفتين من الويب، ويتصرفان بشكل مختلف حسب المكان الذي تستخدمهما فيه.
ما هو SRT
SRT (SubRip Text) هو الصيغة الأقدم والأبسط. صُمم لمشغلات الفيديو على سطح المكتب، وليس للمتصفحات. يبدو الـ cue بهذا الشكل:
1
00:00:01,000 --> 00:00:04,000
مرحبًا، وأهلاً بكم في البرنامج.
فقط رقم تسلسلي، وتوقيت بداية ونهاية مفصولان بفاصلة، والنص نفسه. لا رأسية، ولا تنسيق، ولا بيانات وصفية. هذه البساطة هي بالضبط سبب انتشار SRT في كل مكان حتى اليوم: فتقريبًا كل مشغل وسائط، وأداة مونتاج، ومنصة بث يمكنها قراءته.
ما هو VTT
صُمم VTT (WebVTT) خصيصًا لعنصر <track> في HTML5، وهذا يعني أنه الصيغة التي تتوقعها المتصفحات بشكل أصلي لترجمة الفيديو على الويب. يتطلب ملف VTT سطر رأسية WEBVTT، ويستخدم نقاطًا بدلاً من فواصل في التوقيتات الزمنية:
WEBVTT
1
00:00:01.000 --> 00:00:04.000
مرحبًا، وأهلاً بكم في البرنامج.
وبصرف النظر عن الرأسية وصياغة التوقيت، يدعم VTT أيضًا أشياء لم يدعمها SRT أبدًا: تحديد موضع الـ cue على الشاشة، وتنسيقًا أساسيًا (غامق، مائل، ألوان عبر classes)، وعلامات صوت لتمييز المتحدثين. إذا كنت تضمّن الترجمة مباشرة في صفحة ويب، فستحتاج في الغالب إلى VTT.
الفروق العملية التي تسبب المشاكل فعليًا
- الفاصلة مقابل النقطة في التوقيتات الزمنية. هذا هو السبب الأكثر شيوعًا لتوقف ملف SRT عن “العمل” عند إعادة تسميته إلى
.vtt، أو العكس: فاصل التوقيت الزمني مختلف، ومعظم المحلّلات (parsers) لا تصححه تلقائيًا. - رأسية
WEBVTT. ملف VTT بدونها غير صالح، حتى لو كانت كل الأسطر الأخرى صحيحة. - متطلبات المنصات. يقبل YouTube وVimeo ومعظم برامج مونتاج الفيديو صيغة SRT. أما عنصر
<track>الأصلي في المتصفحات، وكثير من مشغلات الفيديو بلغة JavaScript، فتحتاج إلى VTT. وتتطلب عمليات البث/HLS عمومًا VTT أيضًا. - دعم التنسيق. إذا احتجت إلى تحديد موضع الترجمة على الشاشة أو تنسيق متحدثين معينين، فإن SRT لا يستطيع ذلك على الإطلاق. ستحتاج إلى VTT (أو صيغة أكثر تقدمًا مثل ASS).
أيهما يجب أن تستخدم؟
- لرفع الترجمة إلى YouTube، أو المونتاج في Premiere/Final Cut، أو العمل مع معظم أدوات سطح المكتب ← SRT.
- لتضمين الترجمة في صفحة ويب باستخدام عنصر
<video>/<track>، أو للعمل مع HLS/البث عبر الويب ← VTT. - إذا احتجت إلى تنسيق أو تموضع متقدم ← فكّر في ASS بدلاً من أي من الصيغتين.
إذا كان لديك إحدى الصيغتين واحتجت إلى الأخرى، فلست مضطرًا لإعادة كتابة أي شيء يدويًا: فالتحويل آلي بالكامل (صيغة التوقيت، الرأسية، ترقيم الـ cues). أداتنا لتحويل SRT إلى VTT تقوم بذلك بالكامل داخل متصفحك، دون رفع أي ملف، ودون حساب، وملفك لا يغادر جهازك أبدًا.