ارفع ملف تفريغ بصيغة JSON، ودع الأداة تتعرف على البنية تلقائيًا، ثم صدّر ملف SRT مرتبًا يحتوي على التوقيت والنص وتسميات المتحدثين عند الحاجة.
يتم تحويل ملف JSON محليًا داخل متصفحك. لا حاجة إلى رفع الملف.
ينبغي التحقق سريعًا من ملفات SRT المنشأة تلقائيًا، ومع الفيديوهات المهمة يُفضّل مراجعة التوقيت بصريًا.
خدمات التفريغ الصوتي مثل OpenAI Whisper وAWS Transcribe وGoogle Cloud Speech-to-Text غالبًا ما تنتج ملفات JSON بدلًا من ملفات ترجمة جاهزة. قد تحتوي هذه الملفات على أوقات وكلمات وجمل وبدائل ومعلومات عن المتحدثين. يقرأ هذا المحول تلك البنية، ويستخرج وقت البداية ووقت النهاية والنص، ثم ينشئ ملف SubRip قياسيًا بصيغة SRT.
لا يمكن رفع JSON الخام مباشرة إلى YouTube أو استيراده بشكل موثوق في Adobe Premiere أو DaVinci Resolve أو Final Cut Pro. يجب أولًا تحويل البيانات إلى مسار ترجمة خطي: رقم متسلسل، وقت بداية، وقت نهاية، ونص ظاهر. تقوم الأداة بهذه الخطوة تلقائيًا.
لا تكتفي هذه الصفحة بتحويل بسيط، بل تعرض بنى API حقيقية. هكذا يمكنك معرفة ما إذا كان ملف JSON لديك مشابهًا، ولماذا يمكن تحويله إلى ملف SRT صالح.
تحتوي صادرات Whisper غالبًا على مصفوفة segments. يحتوي كل عنصر عادةً على start وend وtext، وهي بنية مناسبة جدًا لتحويلها إلى كتل SRT.
{
"segments": [
{ "start": 0.00, "end": 2.40, "text": "مرحبًا بكم في الفيديو." },
{ "start": 2.40, "end": 5.10, "text": "اليوم نعرض سير العمل." }
]
}
1
00:00:00,000 --> 00:00:02,400
مرحبًا بكم في الفيديو.
2
00:00:02,400 --> 00:00:05,100
اليوم نعرض سير العمل.
يرجع AWS Transcribe غالبًا الكلمات وعلامات الترقيم بشكل منفصل داخل results.items. تجمع الأداة هذه الكلمات في كتل ترجمة مقروءة، ويمكنها الاحتفاظ بتسميات المتحدثين إذا كانت موجودة.
{
"results": {
"items": [
{ "type": "pronunciation", "start_time": "0.00", "end_time": "0.55", "alternatives": [{ "content": "مرحبًا" }], "speaker_label": "spk_0" },
{ "type": "pronunciation", "start_time": "0.56", "end_time": "1.10", "alternatives": [{ "content": "Maik" }], "speaker_label": "spk_0" },
{ "type": "punctuation", "alternatives": [{ "content": "." }] }
]
}
}
1
00:00:00,000 --> 00:00:01,100
spk_0: مرحبًا Maik.
يحفظ Google Speech-to-Text الكلمات عادةً داخل results[].alternatives[].words[]. وتظهر أوقات البداية والنهاية غالبًا كثوانٍ مع اللاحقة s، مثل 1.200s.
{
"results": [
{
"alternatives": [
{
"words": [
{ "startTime": "0s", "endTime": "0.700s", "word": "هذا", "speakerTag": 1 },
{ "startTime": "0.700s", "endTime": "1.400s", "word": "يعمل", "speakerTag": 1 }
]
}
]
}
]
}
1
00:00:00,000 --> 00:00:01,400
Speaker 1: هذا يعمل
JSON ليس صيغة ترجمة، بل صيغة بيانات. لذلك قد تستخدم خدمات التفريغ أسماء حقول مختلفة جدًا. يفحص المحول الأسماء الشائعة للمفاتيح، ويمكنه أيضًا البحث داخل المصفوفات المتداخلة إذا لم يكن الملف مطابقًا تمامًا لبنية Whisper أو AWS أو Google.
| الحقل | المفاتيح التي يتم التعرف عليها | الاستخدام في SRT |
|---|---|---|
| وقت البداية | start, start_time, startTime, from, begin | يصبح وقت بداية كتلة SRT |
| وقت النهاية | end, end_time, endTime, to, finish | يصبح وقت نهاية كتلة SRT |
| النص | text, transcript, content, sentence, value | يصبح نص الترجمة الظاهر |
| المتحدث | speaker, speaker_label, speaker_id, speakerTag | يمكن إضافته كبادئة قبل النص |
توفر كثير من خدمات التفريغ معلومات المتحدث في حقول مثل speaker أو speaker_label أو speakerTag أو ما يشبهها. عند تفعيل خيار “تضمين تسميات المتحدثين”، تكتب الأداة هذه المعلومات مباشرة داخل نص الترجمة.
صيغة SRT لا تحتوي على حقل تقني خاص بالمتحدث. لذلك يتم حفظ المتحدث عادةً كبادئة نصية. هذا مفيد جدًا للمقابلات والبودكاست والاجتماعات والدروس وتسجيلات الدعم.
1
00:00:00,000 --> 00:00:02,200
Speaker 1: مرحبًا بكم في هذا الحوار.
2
00:00:02,300 --> 00:00:04,800
Speaker 2: شكرًا على الدعوة.
يوضح الجدول التالي البنى التي تتعرف عليها الأداة بشكل مباشر. وتحاول أيضًا اكتشاف المصفوفات العامة التي تحتوي على بداية ونهاية ونص.
| المزوّد | بنية JSON الشائعة | مدعوم؟ | ملاحظة |
|---|---|---|---|
| OpenAI Whisper | segments[] mit start, end, text | نعم، مباشرة | بنية قائمة على المقاطع، مثالية لإخراج SRT مباشر. |
| AWS Transcribe | results.items[] plus optional speaker_labels | نعم، مباشرة | يتم تجميع بيانات الكلمات في كتل ترجمة مقروءة. |
| Google Speech-to-Text | results[].alternatives[].words[] | نعم، مباشرة | تُجمع قوائم الكلمات ذات الأوقات بالثواني وتُرتب زمنيًا. |
| JSON عام | مصفوفة أو مصفوفة متداخلة تحتوي على بداية ونهاية ونص | نعم، إذا توفرت الحقول | يعمل إذا كانت حقول الوقت والنص واضحة. |
نعم. تتم عملية التحويل محليًا عبر JavaScript داخل متصفحك. لا يتم رفع ملف JSON إلى أي خادم. وهذا مهم لأن ملفات التفريغ قد تحتوي على اجتماعات داخلية أو مواد عملاء أو نصوص أولية أو محتوى فيديو غير منشور.
لا تستطيع الأداة إنشاء مقاطع ترجمة إلا إذا كان ملف JSON يحتوي على معلومات توقيت قابلة للاستخدام. ملف JSON الذي يحتوي على نص فقط، بدون أوقات بداية ونهاية، لا يمكن تحويله بثقة إلى SRT لأن SRT يحتاج إلى طوابع زمنية. إذا كان الملف يحتوي على نص فقط، استخدم محول TXT إلى SRT أو قم بمزامنة النص لاحقًا في Studio.
غالبًا ما تأتي تفريغات JSON من التعرف الآلي على الكلام. لذلك من الأفضل مراجعة ملف SRT الناتج من حيث التوقيت والكتل الفارغة وسهولة القراءة قبل النشر.
اختر ملف تفريغ JSON من Whisper أو AWS أو Google أو نظام مشابه لتحويل الكلام إلى نص.
تتعرف الأداة على البنى المعروفة وتبحث عن المقاطع وقوائم الكلمات وحقول التوقيت ومعلومات المتحدث الاختيارية.
نزّل ملف SRT الناتج، ثم راجعه عند الحاجة في SRT Validator أو Studio.
يدعم صادرات OpenAI Whisper وAWS Transcribe وGoogle Cloud Speech-to-Text الشائعة، إضافة إلى مصفوفات JSON العامة التي تحتوي على بداية ونهاية ونص.
نعم. يمكنك اختيار كتل قصيرة أو عادية أو طويلة. هذا مفيد خصوصًا عندما يحتوي JSON من AWS أو Google على بيانات كلمة بكلمة.
نعم. إذا كانت معلومات المتحدث موجودة في ملف JSON، يمكن للأداة كتابتها كبادئة نصية في إخراج SRT.
نعم. يتم التحويل بالكامل داخل متصفحك، ولا يتم رفع أي ملف إلى خادم.
يحتاج SRT إلى وقت بداية ونهاية لكل كتلة ترجمة. إذا كان JSON يحتوي على نص فقط، فبيانات التوقيت الضرورية غير موجودة.
نعم. تجمع الأداة الكلمات وعلامات الترقيم تلقائيًا في كتل ترجمة قابلة للقراءة.
راجع التوقيت وطول الجمل وتسميات المتحدثين والكتل الفارغة. وللأخطاء التقنية، يمكنك استخدام SRT Validator.