SSubToolDesk
ar
VTT → TXT

حوّل ترجمات WebVTT إلى نص عادي

نظّف ملفات <code>.vtt</code> المصدَّرة من Zoom أو Microsoft Teams أو Google Meet أو يوتيوب إلى نص مفرّغ سهل القراءة. تُحذف وسوم الصوت وبيانات المقاطع الوصفية تلقائيًا، بلا أي رفع.

مكتشف: …
اسحب ملفًا، أو الصق النص، أو حرّره مباشرة
…
محلي

ملفاتك لا تصل إلى أي خادم أبدًا. تتم كل عملية تحويل في هذه الصفحة محليًا داخل متصفحك باستخدام واجهة FileReader في JavaScript. لا يُرفع شيء، ولا يُسجَّل، ولا يُخزَّن. مناسبة لتسجيلات Zoom وTeams السرية، والفيديو غير المنشور، والمقابلات القانونية.

كيف تعمل عملية تحويل VTT إلى TXT

WebVTT (Web Video Text Tracks) هو صيغة الترجمة القياسية من W3C لفيديو HTML5، وهي ما يصدّره Zoom و Microsoft Teams و Google Meet ويوتيوب عند تنزيل نص مفرّغ لاجتماع أو ملف ترجمة فيديو. يبدأ كل ملف .vtt بسطر عنوان WEBVTT، تتبعه مقاطع موقوتة بألف من الثانية مفصولة بنقطة (00:00:03.500، لا فاصلة SRT). يدعم WebVTT أيضًا بيانات وصفية أغنى من SRT: إعدادات مقطع مثل align:start position:10% على سطر التوقيت، ووسوم صوت مثل <v اسم المتحدث> لتحديد من يتحدث، وكتل NOTE / STYLE / REGION تحمل تعليقات أو تنسيقًا شبيهًا بـ CSS لا حوارًا.

لا شيء من ذلك يصلح لنص مفرّغ عادي. يقرأ محلل SubToolDesk ملفك محليًا عبر واجهة FileReader في المتصفح، ويحذف العنوان وكتل البيانات الوصفية، ويزيل وسوم الصوت والتنسيق، ويعيد (إن طلبت ذلك) تجميع ما تبقى من المقاطع في فقرات حقيقية.

خطوات التحويل

  • صدّر أو حدّد موقع ملف ترجمة .vtt لديك (يقدّم Zoom و Teams كلاهما خيار «تنزيل النص المفرّغ» أو «تنزيل الترجمة» بعد الاجتماع).
  • اسحبه إلى المحول أعلاه، أو الصق نص VTT الخام في لوحة الإدخال.
  • تأكد من أن بطاقة الصيغة تعرض VTT.
  • اترك إزالة وسوم التنسيق مفعّلة لحذف وسوم الصوت وإعدادات المقاطع.
  • اترك إزالة أسماء المتحدثين مفعّلة إذا كانت الترجمة تضيف أيضًا اسمًا نصيًا في بداية الأسطر (شائع في النصوص المفرّغة تلقائيًا من Teams).
  • اضغط نسخ أو تنزيل للحصول على النص المفرّغ بصيغة .txt.

لماذا تحوّل WebVTT إلى نص عادي

صُمِّم ملف .vtt لمشغّل فيديو، لا لقارئ. وتجريده إلى نص عادي يرتبط دائمًا تقريبًا بما يحدث بعد ذلك:

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

قبل وبعد: مثال حقيقي

تصدير قصير على نمط Zoom، بوسوم صوت وإعدادات مقاطع وكتلة NOTE وكل ما سبق، يُحوَّل مع تفعيل دمج في فقرات وإزالة أسماء المتحدثين وإزالة وسوم التنسيق (الوضع الافتراضي في هذه الصفحة):

Before
WEBVTT

NOTE
نص مفرّغ تم إنشاؤه بواسطة Zoom

00:00:01.200 --> 00:00:03.900 align:start position:10%
<v المتحدث 1>مرحبًا بالجميع، شكرًا لانضمامكم إلى المكالمة اليوم.

00:00:03.900 --> 00:00:06.450
<v المتحدث 2>بالتأكيد! لنبدأ.

00:00:06.450 --> 00:00:09.800
<v المتحدث 1>رائع، أول ما في جدول الأعمال هو خطة الربع الثالث.
After
مرحبًا بالجميع، شكرًا لانضمامكم إلى المكالمة اليوم. بالتأكيد! لنبدأ. رائع، أول ما في جدول الأعمال هو خطة الربع الثالث.

اختفى سطر WEBVTT، وكتلة NOTE، وكل سطر طابع زمني وإعداد مقطع، وكلا وسمَي الصوت <v المتحدث 1>. تبقّى بالضبط ما قيل، مُعاد تنظيمه في جمل سهلة القراءة.

صيغة WebVTT، بالتفصيل

يبدو مقطع WebVTT نموذجي بعدة متحدثين كالتالي:

00:00:03.500 --> 00:00:06.120 align:start position:10%
<v المتحدث 1>شكرًا لانضمامكم إلى المكالمة اليوم.
VTT مقطع الترجمة، موسومًا
WEBVTT← ترويسة مطلوبة00:00:03.500 --> 00:00:06.120← رمز وقت البداية والنهايةThanks for joining the call today.← نص الحوار

بخلاف SRT، سطر مُعرّف المقطع الأولي اختياري في WebVTT ويمكن أن يكون أي نص، لا عددًا متتابعًا فقط. يكتشف محلل SubToolDesk سطر الطابع الزمني مباشرة (يحتوي دائمًا على -->) بدل افتراض ترتيب ثابت للأسطر، فتُحلَّل الملفات بوجود أو بغياب المُعرّفات بشكل صحيح في الحالتين.

لماذا يهم هذا بالتحديد لنصوص الاجتماعات المفرّغة

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

من أين تأتي ملفات WebVTT فعليًا

بعيدًا عن مكالمات الفيديو، WebVTT هو صيغة الترجمة التي يتيح لك يوتيوب تنزيلها لأي فيديو يحتوي ترجمة، والصيغة التي تستخدمها معظم خدمات التفريغ بالذكاء الاصطناعي افتراضيًا (بما فيها تصديرات OpenAI Whisper)، والصيغة التي يتطلبها عنصر HTML5 <track> لأي فيديو مترجَم مضمَّن مباشرة في صفحة ويب. إذا نزّلت ملف ترجمة من أي مكان تقريبًا على الإنترنت في السنوات الأخيرة، فمن المرجّح أن يكون WebVTT وليس صيغة SRT الأقدم، وهذا جزء من سبب أهمية أداة تنظيف مخصصة تفهم VTT، بدل سكريبت حذف نص عام: لا تعرف المقاربات العامة أصلًا أن تبحث عن وسوم الصوت أو تتجاوز كتل NOTE.

التعامل الجيد مع النصوص المفرّغة متعددة المتحدثين

تضع أدوات الترجمة الآلية أسماء المتحدثين بطريقتين مختلفتين، أحيانًا في الملف نفسه: عبر وسم WebVTT الأصلي <v اسم المتحدث>، أو كنص عادي في بداية السطر (المتحدث 1: شكرًا لانضمامكم.). يزيل مفتاح إزالة وسوم التنسيق في هذه الأداة النوع الأول؛ ويزيل إزالة أسماء المتحدثين النوع الثاني. تشغيل كلا المفتاحين معًا (الوضع الافتراضي في هذه الصفحة) ينتج نصًا مفرّغًا لا يتبقى فيه أي من نوعَي الوسم، بصرف النظر عن أيهما يستخدمه ملفك المصدر.

ما يحافظ عليه هذا المحول وما يحذفه

يُحافَظ عليه:

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

يُحذَف:

  • سطر عنوان WEBVTT.
  • كتل البيانات الوصفية NOTE وSTYLE وREGION.
  • أسطر مُعرّف المقطع وكل نطاق طابع زمني.
  • إعدادات المقطع في سطر الطابع الزمني، مثل align:start position:10%.
  • وسوم الصوت مثل <v اسم المتحدث>، عند تفعيل إزالة وسوم التنسيق.
  • بادئات متحدثين بنص عادي مثل المتحدث 1:، عند تفعيل إزالة أسماء المتحدثين.

مشكلات شائعة وكيفية حلّها

  • لا يزال الخرج يعرض طوابع زمنية أو أسهم -->: تحقق من أن بطاقة الصيغة فوق المحول تعرض فعلًا VTT لا Unknown؛ قد يُفسِد لصق ناقص اكتشاف المقاطع.
  • لا تزال وسوم <v اسم المتحدث> موجودة في النص: فعّل إزالة وسوم التنسيق، فهي معطّلة افتراضيًا فقط إن غيّرتها بنفسك.
  • أسماء بنص عادي مثل المتحدث 1: لا تزال تسبق الأسطر: هذا مفتاح منفصل، إزالة أسماء المتحدثين، فعّله أيضًا، لأنه يرصد نمطًا مختلفًا عن إزالة وسم الصوت أعلاه.
  • يُقرأ النص المفرّغ جملة واحدة في كل سطر بدل فقرات متدفقة: فعّل دمج في فقرات.
  • تصبح الفقرات طويلة جدًا بلا إشارة لتغيّر المتحدث: عطّل دمج في فقرات عكسيًا واحتفظ بمقطع واحد في كل سطر؛ فبمجرد إزالة أسماء المتحدثين، لا توجد وسيلة لنص عادي للإشارة إلى تغيّر المتحدث وسط فقرة.
  • تظهر الحروف المُشكَّلة أو النص غير اللاتيني كرموز مشوّهة مثل é: لم يُحفَظ ملف .vtt الأصلي بترميز UTF-8؛ أعد تصديره أو حفظه بترميز UTF-8 وأعد رفعه.

ما تحقّق منه قبل الوثوق بالخرج

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

الأسئلة الشائعة

صدّرت ترجمة من Zoom/Teams. هل سيعمل هذا معها؟

نعم. يصدّر Zoom و Microsoft Teams و Google Meet ويوتيوب جميعًا ملفات ترجمة WebVTT (.vtt)، ويتبع المحلل هنا معيار WebVTT القياسي الذي تولّده هذه المنصات، بما في ذلك وسوم الصوت لكل متحدث وبيانات الموضع.

ما هي وسوم <v المتحدث> التي أراها في ملف VTT لديّ، وهل يجب أن أزيلها؟

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

تحتوي ترجمتي على كتل NOTE أو STYLE. هل ستنتهي في النص المفرّغ؟

لا. كتل NOTE و STYLE و REGION هي بيانات وصفية في WebVTT، لا حوار منطوق، ويتجاهلها المحلل تمامًا قبل استخراج نص المقاطع.

هل يتعامل هذا مع إعدادات مقاطع VTT مثل align أو position؟

نعم. تُتجاهَل إعدادات المقطع (مثل align:start position:10%) التي تتبع سطر الطابع الزمني أثناء التحليل، لأنها تؤثر فقط على التموضع على الشاشة، لا على نص الحوار نفسه.

هل يمكنني تحويل ملف WebVTT يستخدم MM:SS.mmm بدل HH:MM:SS.mmm؟

نعم. يسمح WebVTT بطوابع زمنية بلا عنصر ساعات في الملفات القصيرة، ويطبّع المحلل كلا الشكلين تلقائيًا.

لماذا ينقسم النص المفرّغ من Zoom إلى قسم جديد كل بضع ثوانٍ، حتى عندما لا يتغيّر المتحدث؟

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