دو خرابی که سی ثانیه شبیه هم به نظر میرسند
«زیرنویسها دیرند» یک نشانه را توصیف میکند، نه هندسهٔ آن را. در آغاز فیلم، ترکی که بهطور یکنواخت دو ثانیه دیر است بسیار شبیه ترکی است که ساعتش کسری کندتر میرود. هر دو متن را پس از گفتار متناظر نشان میدهند. تمایز فقط پس از گذشت زمان پدیدار میشود.
آفست ثابت کل خط زمانی زیرنویس را بدون تغییر مقیاسش جابهجا میکند. هر کیو دو ثانیه دیر است، یا هر کیو ۷۵۰ میلیثانیه زود است، از اولین سطر تا تیتراژ.
رانش خطا را در طول زمان تغییر میدهد. کیویی ممکن است در دقیقهٔ یک درست باشد، در دقیقهٔ بیست یک ثانیه دیر، و نزدیک پایان سه ثانیه دیر. جابهجا کردن کل فایل با یک عدد میتواند هر یک از آن نقاط را همتراز کند و نمیتواند همهٔ آنها را همتراز کند.
به همین دلیل اولین اقدام مفید این نیست که آفستها را امتحان کنید تا یکی نزدیک به نظر برسد. اقدام مفید اندازه گرفتن دو نقطه است.
آزمون دو نقطهای
رویدادی را انتخاب کنید که در هر دو ترک بهراحتی قابل شناسایی باشد — کوبیده شدن یک در، ظاهر شدن یک عنوان، یا نخستین هجای یک جملهٔ مجزا. ثبت کنید:
error = matching media time − subtitle cue start time
خطای مثبت یعنی کیو پیش از رویداد رسانهای متناظر شروع میشود و باید دیرتر برود. خطای منفی یعنی پس از رویداد شروع میشود و باید زودتر برود. قرارداد علامت کمتر از این اهمیت دارد که آن را یک بار بنویسید و یکدست به کار ببرید.
اندازهگیری را نزدیک پایان تکرار کنید. فرض کنید اولین واژهٔ گفتهشده در 00:01:03.250 است در حالی که کیوی آن از 00:01:01.250 شروع میشود:
early error = 63.250 − 61.250 = +2.000 seconds
در دقیقهٔ ۵۲، واژهٔ دیگری در 00:52:10.800 رخ میدهد و کیوی آن از 00:52:08.800 آغاز میشود:
late error = 3,130.800 − 3,128.800 = +2.000 seconds
دو خطا با هم میخوانند. هر کیو را دو ثانیه دیرتر ببرید.
حالا اندازهگیری آغاز را نگه دارید اما فرض کنید کیوی پایانی از 00:52:05.800 آغاز میشود:
late error = 3,130.800 − 3,125.800 = +5.000 seconds
خطا سه ثانیه رشد کرده است. جابهجایی دو ثانیهای آغاز را همتراز میکند و پایان را سه ثانیه دیر میگذارد؛ جابهجایی پنج ثانیهای پایان را همتراز میکند و آغاز را سه ثانیه دیر میکند. خط زمانی به مقیاسبندی یا نگاشت روی یک تدوین نیاز دارد، نه فقط انتقال.
پیش از ادامهٔ مطلب
زیرنویسی نزدیک آغاز ۱٫۵ ثانیه زود است و نزدیک پایان هم ۱٫۵ ثانیه زود. کدام تصحیح با هر دو مشاهده میخواند؟
هر کیو را ۱٫۵ ثانیه دیرتر ببرید. اندازهگیریهای آغاز و پایان علامت و اندازهٔ یکسانی دارند، پس ساعت زیرنویس مقیاس درست و مبدأ اشتباه دارد. افزودن ۱٬۵۰۰ میلیثانیه به شروع و پایان هر کیو کل خط زمانی را منتقل میکند و در عین حال مدت هر کیو و هر فاصله را حفظ میکند. تصحیح مقیاس فقط وقتی توجیه دارد که خطا میان نقاط دور از هم متفاوت باشد.
چرا جابهجایی ترک را حفظ میکند
SRT و WebVTT هر دو مهرهای زمانی مطلق شروع و پایان را برای هر کیو ذخیره میکنند. علائم نگارشیشان فرق دارد — SRT معمولاً 00:00:03,500 مینویسد، در حالی که WebVTT 00:03.500 یا 00:00:03.500 — اما وقتی هر زمان بر حسب میلیثانیه بیان شود، عمل یکی است:
new_start = old_start + offset
new_end = old_end + offset
new_duration = new_end − new_start
= old_end − old_start
مدت، آفست را حذف میکند. فاصلهها و همپوشانیهای میان کیوها هم آن را حذف میکنند. به همین دلیل یک جابهجاکنندهٔ زمان زیرنویس میتواند وعدهای محکم بدهد: برای کیوهایی که بالای صفر میمانند، فقط جایشان روی خط زمانی رسانه تغییر میکند.
آغاز، تنها مرز فیزیکی است. کیویی از ۰٫۵۰۰ تا ۲٫۰۰۰ ثانیه که یک ثانیه به عقب برود از ۰٫۵۰۰- شروع میشد. نه SRT و نه WebVTT زمان رسانهٔ منفی ندارند. نگه داشتن باقیماندهٔ قابل مشاهده یعنی محدود کردن شروعش به صفر و کوتاه کردن آن کیو؛ حذف کردنش یعنی دور انداختن کل بلوک. هر چیزی که در صفر یا پیش از آن تمام میشود باقیماندهٔ قابل مشاهدهای ندارد و باید برود.
رانش یک مسئلهٔ مقیاس است
برای رانش نرم، سادهترین مدل دو زمان زیرنویس را به دو زمان رسانه نگاشت میکند:
scale = (media₂ − media₁) ÷ (subtitle₂ − subtitle₁)
mapped_time = media₁ + (subtitle_time − subtitle₁) × scale
وقتی scale برابر ۱ باشد، عبارت به یک آفست ثابت ساده میشود. وقتی ۱ نباشد، هر فاصلهای روی خط زمانی زیرنویس تغییر میکند. این ممکن است تعمیر درستی باشد وقتی مبدأ و مقصد یک تدوین با مدتهای متفاوتاند. این کار هر بار که دو اندازهگیری متفاوت باشند، خودبهخود درست نیست.
فیلمی با یک لوگوی درجشده، یک خلاصهٔ حذفشده یا یک آرم استودیوی متفاوت خطایی تکهای دارد: کیوها پیش از تدوین همترازند، در محل برش به اندازهای ثابت میپرند، سپس در آفست جدید همتراز میمانند. مقیاسبندی کل ترک آن یک تدوین را روی همهٔ کیوها پخش میکرد. یک نقطهٔ سوم را دور هر برش مشکوک اندازه بگیرید؛ پرش ناگهانی به جابهجایی یک بازه یا استفاده از ویرایشگری با نشانگرهای تدوین نیاز دارد.
پس دستهبندی مفید این است:
| اندازهگیریها | مدلی که ارزش امتحان دارد |
|---|---|
| خطای یکسان در نقاط دور از هم | آفست ثابت |
| خطا بهنرمی رشد میکند | ناسازگاری مقیاس یا سرعت |
| خطا پس از یک صحنه میپرد | تدوین متفاوت؛ یک بازه را جابهجا کنید |
| خطا نامنظم تغییر میکند | ویرایش در سطح کیو یا ترک آسیبدیده |
نرخ فریم کجا وارد میشود — و کجا نه
فایلهای جانبی زیرنویس زمان را ذخیره میکنند، نه وعدهای دربارهٔ اینکه رسانه چگونه به آن زمان رسیده است. یک گردش کار نرخ فریم همچنان میتواند با تغییر مدت پخش رانش بسازد. اگر یک مستر سریعتر از دیگری پخش شود، نقطهٔ یکساعتش در زمان ساعت دیواری متفاوتی رخ میدهد، هرچند هر دو فایل مهرهای زمانی کاملاً معتبری داشته باشند.
اما «مشکل نرخ فریم» باید نتیجهای باشد که شواهد مدت یا گردش کار پشتیبانیاش میکند، نه مترادفی برای هر ناهمگامی زیرنویس. دو اندازهگیری آفست برابر خطای نرخ را نشان نمیدهند. تفاضل رو به رشد مشخص نمیکند کدام مرحلهٔ تولید سببش شده؛ فقط ثابت میکند که یک انتقال نمیتواند تعمیر کامل باشد.
مشخصات WebVTT از W3C الزام میکند کیوها بر اساس زمان شروع مرتب باشند و هر پایان دیرتر از شروعش باشد. کتابخانهٔ کنگره همان ساختار شروع–پیکان–پایان را برای SRT توصیف میکند و در عین حال یادآور میشود که SRT رسماً استاندارد نشده است. هیچیک از دو قالب نمیتواند به شما بگوید خط زمانیاش به همان فایل رسانهای که کنارش است تعلق دارد یا نه. آن رابطه باید با محتوا بررسی شود.
یک توالی تعمیر عملی
- یک نسخهٔ دستنخورده از فایل زیرنویس نگه دارید.
- یک رویداد همگامسازی بیابهام نزدیک آغاز پیدا کنید و خطای علامتدارش را محاسبه کنید.
- یکی دیگر نزدیک پایان پیدا کنید و به همان شیوه محاسبه کنید.
- اگر خطاها با هم میخوانند، زمانبندی زیرنویس را به همان مقدار ثابت جابهجا کنید و یک کیو در میانه را آزمایش کنید.
- اگر بهنرمی متفاوتاند، از ابزاری استفاده کنید که دو نقطهٔ همگامسازی را نگاشت میکند و خط زمانی را مقیاس میدهد؛ دستکم یک نقطهٔ سوم را وارسی کنید.
- اگر میپرند، مرز تدوین را پیدا کنید و بازهها را جداگانه تعمیر کنید.
وقتی خود رسانه از ابتدا کوتاه شده باشد، تشخیص اغلب از پیش معلوم است. اگر یک فایل WAV را با حذف دقیقاً ۱۲٫۵۰۰ ثانیه پیش از اولین نمونهٔ نگهداشتهشده برش دهید، فایل جانبی بیتغییر حالا نسبت به آن صدا ۱۲٫۵۰۰ ثانیه دیر است و هر کیو به همان جابهجایی به عقب نیاز دارد. این برش یک انتقال است، چون هیچ زمانی درون بخش نگهداشتهشده کشیده نشده است.
قاعدهٔ قابل اتکا
تعمیر را از روی یک کیو انتخاب نکنید. یک نقطه میتواند آفستی را بگوید که همان نقطه را همتراز میکند، و هیچ چیزی دربارهٔ ساعت میان آن نقطه و پایان.
دو خطای دور از هم و یکسان، جابهجایی ثابت را توجیه میکنند. دو خطای متفاوت ثابت میکنند که جابهجایی ثابت ناکامل است. نقطهٔ سوم رانش نرم را از یک برش یا یک ترک نامنظم متمایز میکند. این عادت کوچک اندازهگیری از ناامیدکنندهترین شکست در تعمیر زیرنویس جلوگیری میکند: بینقص کردن آغاز، و یک ساعت بعد کشف اینکه حالا پایان بدتر شده است.
پرسشهای رایج
چگونه یک آفست ثابت زیرنویس را اندازه بگیرم؟
روی یک واژهٔ واضحِ گفتهشده یا یک رویداد دیدنی مکث کنید، زمان رسانه و زمان شروع کیوی متناظر را یادداشت کنید، سپس زمان کیو را از زمان رسانه کم کنید. روی رویداد دومی نزدیک پایان تکرار کنید؛ تفاضلهای یکسان شاهدِ یک آفست ثابت هستند.
معمولاً چه چیزی باعث میشود زیرنویسها هرچه بیشتر از همگامی خارج شوند؟
خط زمانی زیرنویس و مدت رسانه دیگر مقیاس یکسانی ندارند. مسیرهای رایج یک تدوین متفاوت، یک تبدیل سرعت پخش یا یک گردش کار نرخ فریم است که مدت را تغییر داده؛ نشانهٔ تشخیصی این است که خطا با پیش رفتن پخش تغییر میکند.
آیا دو بررسی زیرنویس میتواند ثابت کند به جابهجایی نیاز دارم یا مقیاسبندی؟
میتوانند مدلهای ساده را از هم تشخیص دهند. خطاهای علامتدار برابر از یک جابهجایی ثابت پشتیبانی میکنند؛ خطاهای متفاوت نشان میدهند یک جابهجایی کافی نیست. نقاط بررسی بیشتر وقتی مفیدند که تدوینی در میانه چیزی را درج یا حذف کرده باشد، چون آن یک پرش ناگهانی میسازد نه رانش نرم.
آیا جابهجایی ثابت زیرنویس، مدت نمایش کیوها را تغییر میدهد؟
نه، مگر در مرز صفر. افزودن یک مقدار به شروع و پایان یک کیو، تفاضل آنها را دقیقاً حفظ میکند. جابهجایی به عقبی که از صفر عبور کند باید کیو را به صفر محدود یا حذف کند، چون زمان رسانهٔ منفی قابل نمایش نیست.