ملفات الترجمةمدة القراءة: 6 د

ما هو ملف VTT

‏WebVTT هي الصيغة التي تفهمها المتصفحات. ما الذي تضيفه على SRT، ومتى تحتاج إليها، وفيم يفيد كل عنصر فيها.

‏WebVTT هي صيغة الترجمات التي يعرف المتصفح قراءتها. وهي الوحيدة: أَلحِق ملف SRT بفيديو HTML5 ولن يحدث شيء على الإطلاق. لا خطأ، ولا تحذير، ولا سطر ترجمة.

امتدادها .vtt، وهي في داخلها شبيهة جدًا بـ SRT. ثلاثة أشياء تتغير: تحمل ترويسة إلزامية، وتضع نقطة حيث يضع SRT فاصلة، وتعرف أن تعبّر عن أكثر بكثير مما يقدر عليه SRT.

ما بداخله

WEBVTT

1
00:00:04.120 --> 00:00:06.480
قبل أن ندخل في الأرقام،
لنراجع أين نحن.

2
00:00:06.600 --> 00:00:09.000 line:90% align:start
ما لم أكن أتوقعه
هو هبوط الأسبوع الثاني.

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

ومن هناك، الكتل نفسها كما قبل. مع فرقين يظهران من النظرة الأولى: النقطة قبل أجزاء الألف، وإمكانية إضافة إعدادات في آخر سطر الزمن.

ما يضيفه على SRT

الموضع والمحاذاة. line:90% يُنزل سطر الترجمة، وalign:start يحاذيه إلى بداية السطر، وposition:20% يزيحه جانبًا. مفيد لئلا يغطي شريطًا مكتوبًا موجودًا في الصورة أصلًا.

الأنماط. كتلة STYLE بـ CSS حقيقي في رأس الملف، وأصناف مبثوثة في النص عبر <c.narrator>. ألوان وأحجام وظلال.

من يتكلم. الوسم <v مارتا>مرحبًا</v> هو طريقة الإشارة إلى المتحدث. والمشغّلات القادرة على التعرف عليه تستطيع تلوينه بلون آخر؛ وغيرها تتجاهله. وفي مقابلة أو اجتماع، هذا هو الفرق بين كتلة نص صمّاء ونص يمكن قراءته.

المناطق والملاحظات. كتل NOTE تحفظ تعليقات لا يراها أحد، وREGION تحدّ مناطق من الشاشة بتمريرها الخاص، مثل الأشرطة التي تصعد في بث مباشر.

معرّفات الكتل. فوق سطر الزمن، تقبل كل كتلة اسمًا — intro أو question-3 — للإشارة إليها من جافاسكربت.

متى تحتاج إلى ملف VTT

كلما كان الفيديو يُعرض في متصفح. فإن كانت صفحتك تحتوي على <video> مع <track> خاص به، فذلك الملف لا بد أن يكون WebVTT:

<video controls>
  <source src="reunion.mp4" type="video/mp4" />
  <track src="reunion.vtt" kind="subtitles" srclang="ar" label="العربية" default />
</video>

وكذلك مع مشغّلات الويب الحالية (Video.js وPlyr وShaka) ومع بث HLS، الذي يوزّع الترجمات على هيئة مقاطع WebVTT.

وخارج المتصفح، لا يطلبها أحد تقريبًا: برامج المونتاج على سطح المكتب، والمشغّلات التي استخدمها الجميع دائمًا، وأغلب نماذج الرفع ما زالت تنتظر SRT.

مشكلتان لا ذنب للملف فيهما

الخادم ملزَم بإرساله بنوع text/vtt. فإن سُلّم بـ text/plain أو application/octet-stream، رفضته بعض المتصفحات. ويُحل ذلك في إعداد الخادم، لا في الملف أبدًا.

وعليه أن يأتي من المصدر نفسه، أو أن يحمل CORS. فملف .vtt مستضاف على نطاق آخر بلا ترويسة Access-Control-Allow-Origin لا يُحمَّل أبدًا، حتى لو عمل العنوان على أكمل وجه حين تفتحه يدويًا. وهذا هو السبب الأول للمشكلة الشائعة «الفيديو يعمل والترجمات لا».

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

تحويله

الطريق من SRT إلى VTT بسيط: ضع الترويسة، وحوّل الفاصلة إلى نقطة، وهرّب حرفَي & و< اللذين يحفظهما SRT كنص وقد يأخذهما WebVTT على أنهما ترميز. ومحوّل SRT إلى VTT عندنا يحسم الثلاثة في متصفحك، دون أن يخرج الملف منه.

وفي الاتجاه المعاكس، يبقى خارجًا كل ما لا يعرف SRT قوله — الموضع والأنماط والمناطق — ولهذا يستبعدها محوّل VTT إلى SRT ويحوّل وسوم المتحدث إلى «مارتا:» تفتتح السطر، وهي الطريقة التي يعرف SRT أن يعرضها بها. أيهما تختار ولماذا.

وإن كان ما لديك هو الفيديو لا الترجمات

ارفعه ونسلّمك التفريغ بتوقيتاته، وكل متحدث مميَّز باسمه، وملخصًا. ويمكنك أن تنزّل منه ملف VTT جاهزًا والمتحدثون معلَّمون فيه. بلا حساب للبدء.

أداة ذات صلة

‏SRT إلى VTT

‏SRT إلى VTT

حوّل تسجيلك إلى نص

نص بعلامات زمنية، وكل متحدث محدَّد، وملخص لأبرز النقاط. لا حاجة إلى حساب للبدء.