إنشاء ملفات gold_v2.json المرجعية
كيف تكتب المونتاج المرجعي لمقطع واحد داخل المجموعة المرجعية: الملف الذي يحدد معنى كل درجة تظهر في التقييم.
يسجّل ملف gold_v2.json المدى الزمني للأجزاء التي أبقيت عليها حين حررت مقطعًا واحدًا يدويًا. وأبسط صورة صحيحة له هي مصفوفة keep_intervals من أزواج بداية ونهاية بالثواني، تُقرأ من الخط الزمني في برنامج المونتاج وفق المرجع الزمني لملف الوسائط المصدر؛ وكل ما يقع خارج هذه المديات يُحسب مستبعدًا. يجب أن تبدأ كل فترة قبل أن تنتهي، وأن تبقى داخل مدة المقطع، وأن ترد بترتيب تصاعدي، وألا تتداخل. والتزم بسياسة واحدة تجاه الصمت: إذا كان مونتاجك اليدوي يقتطع فترات التوقف فيجب أن يقتطعها الملف المرجعي كذلك، وإلا عاقبت الدرجات RoughCut على عمليات قص أردتها فعلًا. ولا تبنِ الملف المرجعي أبدًا من ناتج RoughCut نفسه، لأن ذلك يقيس التطبيق على نفسه. وتُعدّ الكلمة مستبعدة حين يقل تداخل مدتها مع فترات الإبقاء عن النصف.
في هذه الصفحة
إجراء متقدم، وهذا هو الملف الأعلى أثرًا في منظومة التقييم كلها. كل درجة يعرضها RoughCut هي قياس لمدى التوافق مع هذا الملف. والملف المرجعي المكتوب باستهتار لا ينتج تحذيرًا، بل ينتج أرقامًا واثقة وخاطئة. الخيار الآمن هو ألا تنشئ واحدًا أصلًا ما لم تكن ستنشئه على النحو الصحيح. وإذا كان لديك ملف لم تعد تثق به، فطريق العودة هو حذف ملفgold_v2.jsonالخاص بذلك المقطع أو استبداله؛ عندها يُتجاوَز المقطع بوصفهmissing_goldبدلًا من أن يفسد نتائجك المجمّعة.
المتطلبات المسبقة
- مقطع سبق أن حررته يدويًا، ولا يزال مفتوحًا أو قابلًا للتصدير من برنامج المونتاج لديك.
- مجلد ذلك المقطع داخل المجموعة المرجعية، ويحتوي ملف الوسائط الخاص به. راجع بناء مجموعة مرجعية.
- محرر نصوص عادي. هذا ملف JSON صغير تكتبه بنفسك.
الخطوات
- افتح مونتاجك اليدوي للمقطع في برنامج المونتاج، على الخط الزمني الذي أجريت عليه عمليات القص.
- انتبه إلى المرجع الزمني لملف الوسائط المصدر. كل رقم تكتبه هو زمن داخل المقطع الأصلي بالثواني محسوبًا من بدايته، وليس موضعًا على خط زمني في تتابع يبدأ من مكان آخر، وليس تايم كودًا تبدأ قيمته من غير الصفر.
- استخرج المديات التي أبقيت عليها: لكل جزء باقٍ، زمن بدايته وزمن نهايته داخل المقطع المصدر.
- أنشئ ملف
gold_v2.jsonداخل مجلد ذلك المقطع. - اكتب مصفوفة
keep_intervalsتضم زوجًا[start, end]واحدًا لكل مدى أبقيت عليه، بترتيب تصاعدي. - راجع الحساب: كل قيمة بداية أصغر من قيمة نهايتها، ولا يتداخل أي زوج مع الذي يليه، ولا تتجاوز أي نهاية مدة المقطع.
- احفظ الملف، ثم شغّل
Run smoke eval (5)من شاشةالتقييم(Evaluation) وتأكد أن المقطع حصل على درجة بدلًا من أن يُتجاوَز.
الملف
{
"keep_intervals": [
[0.0, 41.3],
[55.8, 129.6],
[140.2, 300.5]
]
}
هذا مونتاج مرجعي كامل وصالح. وهو يقول: أبقِ على أول 41.3 ثانية، واستبعد الـ 14.5 ثانية التالية، وأبقِ على ما بين 55.8 و129.6، ثم استبعد مرة أخرى، وأبقِ على ما بين 140.2 و300.5، واستبعد كل ما بعد ذلك.
كل ما يقع خارج فترات الإبقاء يُحسب مستبعدًا. أنت لا تسرد ما قصصته أبدًا، بل تسرد ما بقي.
القواعد التي يجب أن تلتزم بها الأرقام
| القاعدة | السبب |
|---|---|
| الأزمنة بالثواني كأعداد عشرية | لا سلاسل تايم كود، ولا إطارات، ولا أجزاء من الألف من الثانية |
| الأزمنة وفق المرجع الزمني لملف الوسائط المصدر | التقييم يقارنها بتحليل RoughCut نفسه للملف ذاته |
start أصغر تمامًا من end | الزوج المقلوب أو عديم الطول يُسقَط، فيتحول المدى الذي قصدت الإبقاء عليه إلى مستبعد بصمت |
| الأزواج بترتيب تصاعدي | قراءة الملف ومراجعته تعتمدان على ذلك |
| الأزواج لا تتداخل | الأزواج المتداخلة تُدمج في مدى واحد، وهو ما يغيّر بهدوء ما ادّعيته |
لا end يتجاوز مدة ملف الوسائط | كل ما يتخطى نهاية المقطع يُقتطع |
آلية التقييم دفاعية: تُسقط المديات المقلوبة، وتدمج المتداخل، وتقتطع عند مدة ملف الوسائط بدل أن تتعطل. هذه شبكة أمان، وليست إذنًا بالتساهل. الخطأ هناك لا يُظهر رسالة خطأ، بل يغيّر معنى مونتاجك المرجعي من دون أن يخبرك.
التزم بسياسة واحدة تجاه الصمت
هذا هو الخطأ الذي يفسد المجموعة المرجعية بهدوء.
إذا كان مونتاجك اليدوي يقتطع فترات التوقف والأنفاس، فيجب أن تقع تلك الفترات خارج فترات الإبقاء. وإذا كنت تُبقي على فترات التوقف، فيجب أن تقع داخلها. كلتا السياستين مقبولة. الخلط بينهما ليس مقبولًا.
فحيثما أبقى الملف المرجعي على صمت كنت ستقصه عمليًا، يُعاقَب RoughCut على قص أردته فعلًا. وحيثما اقتطع الملف المرجعي صمتًا كنت ستُبقي عليه، يُعاقَب التطبيق على تركه. وفي الاتجاهين تكون النتيجة أنك تقيس تناقضك أنت وتسميه دقة.
اكتب السياسة إلى جانب المجموعة، وطبّقها على كل مقطع.
لا تبنِ الملف المرجعي من ناتج RoughCut
تصدير القص الذي اقترحه RoughCut وتحويله إلى ملف gold_v2.json ينتج درجة شبه كاملة لا تعني شيئًا على الإطلاق: فهي تقيس التطبيق على نفسه.
وينطبق الأمر نفسه بصورة أخف على أسلوب «راجع قص RoughCut، وعدّل بضعة قرارات، ثم احفظ ذلك بوصفه الملف المرجعي». فالنتيجة مرتبطة بسلوك التطبيق، وستُجمّل كل تشغيل لاحق. المونتاج المرجعي يجب أن ينبع من قرار اتخذته باستقلال، ويفضَّل أن يكون مونتاجًا أنجزته قبل أن ترى ما اقترحه RoughCut أصلًا.
كيف تصبح الكلمة «مستبعدة»
يعمل المقياس الأساسي على مستوى الكلمة، لذا يجب إسقاط قائمة الفترات على الكلمات. والقاعدة بسيطة وتستحق أن تعرفها:
تُعدّ الكلمة مستبعدة حين يقل تداخل مدتها مع فترة إبقاء عن 50%. فالكلمة الواقعة نصفها داخل الحد يُبقى عليها، والكلمة الواقعة معظمها خارجه تُستبعد.
والنتيجة العملية أن الحدود لا يلزم أن تكون مضبوطة على مستوى الإطار. المهم أن يقع كل حد في الفجوة الصحيحة تقريبًا، لا أن يكون دقيقًا إلى جزء من الألف من الثانية. لا تُرهق نفسك بعُشر ثانية، لكن اهتم كثيرًا بألا تضع القص في فترة توقف خاطئة.
ماذا يفعل ملف مرجعي غير دقيق بأرقامك
المونتاج المرجعي غير الدقيق لا ينتج نتيجة معطوبة بوضوح، بل ينتج نتيجة معقولة المظهر.
- الملف المرجعي الذي يُبقي أقل مما ينبغي، أي يقتطع أكثر مما كنت ستقتطع فعلًا، يجعل RoughCut يبدو مفرطًا في الحذر، ويُظهر «عمليات قص فائتة» حيث لم يفت شيء.
- الملف المرجعي الذي يُبقي أكثر مما ينبغي يجعل RoughCut يبدو متهورًا، ويضخّم حصة القص الزائد في تقدير التصحيح.
- الملف المرجعي المبني على سياسة صمت مختلفة عن أسلوبك الحقيقي في المونتاج يزيح كل مقياس في اتجاه واحد دفعة واحدة، وهو بالضبط النمط الذي يبدو كأنه فرق حقيقي بين النماذج.
ولأن الملف المرجعي نفسه يُستخدم في كل تشغيل، تكون هذه الأخطاء ثابتة، والخطأ الثابت غير مرئي في المقارنة. ولهذا السبب توجد خطوط الأساس. راجع قراءة مقاييس التقييم قراءة صحيحة.
النتيجة المتوقعة
يظهر المقطع في جدول النتائج ومعه قيمة Word-F1 وفارق Δ remove-all وتقدير Fixup/30m، ولا يرد ضمن المقاطع المتجاوَزة. وإذا وُضعت عليه علامة degenerate، فهذا يعني أن المونتاج المرجعي وقص التطبيق يختلفان اختلافًا شديدًا إلى حد استبعاد المقطع من النتائج المجمّعة — تحقق من الملف المرجعي قبل أن تلوم النموذج.
أخطاء شائعة
- استخدام تايم كود التتابع بدل زمن المقطع. إذا كان تتابعك يبدأ عند 01:00:00:00 فاطرح هذه القيمة. كل رقم هو ثوانٍ من بداية المقطع المصدر.
- سرد ما استبعدته. مصفوفة
keep_intervalsهي ما أبقيت عليه. - كتابة سلاسل تايم كود. القيمة
"00:00:41:07"ليست عددًا. - التقريب إلى ثوانٍ صحيحة. الأعداد العشرية مدعومة، والحدود تقع داخل فترات التوقف أكثر حين تستخدمها.
- نسيان الفترة الأخيرة. إذا كان مونتاجك يُبقي على المادة حتى نهاية المقطع، فيجب أن تمتد الفترة الأخيرة إليها، وإلا فأنت تدّعي أنك قصصت النهاية.
- فترة واحدة تغطي المقطع بأكمله. هذا ملف صالح، لكنه يدّعي أنك لم تستبعد شيئًا، وستوضع على المقطع علامة
degenerateبدل أن يدخل النتائج المجمّعة. - تعديل الملف بعد تشغيل ثم توقّع بقاء التشغيلات القديمة قابلة للمقارنة. تغيير الملف المرجعي يغيّر بصمة الملف المرجعي للتشغيل، والمقارنات عبر ملفات مرجعية مختلفة ليست مقارنات نزيهة.
حل المشكلات
| العَرَض | السبب المرجّح |
|---|---|
تجاوُز المقطع بوصفه missing_gold | اسم الملف ليس gold_v2.json، أو الملف ليس داخل مجلد ذلك المقطع |
| فشل التشغيل عند هذا المقطع | الملف ليس JSON صالحًا — تحقق من الفواصل الزائدة وعلامات الاقتباس الذكية |
| الدرجة قريبة من الصفر | فترات الإبقاء على الأرجح بمرجع زمني خاطئ، أو أن البداية والنهاية متبادلتان |
وضع علامة degenerate على المقطع | الملف المرجعي لم يستبعد شيئًا، أو أن مقدار المستبعد غير متناسب إطلاقًا مع قص التطبيق |
| كل شيء يحقق درجات جيدة على نحو مريب | تحقق من أن الملف المرجعي لم يُشتق من ناتج RoughCut نفسه |
لمعرفة معنى كل مقياس، تابع إلى قراءة مقاييس التقييم قراءة صحيحة.