اصلاح زیرنویسهای ناهماهنگ با صدا
یک لحظه را پیدا کنید که در آن کلمهٔ گفتهشده و زیرنویس باید با هم بیفتند، سپس آن اختلاف ثابت را وارد کنید. اگر زیرنویس خیلی زود ظاهر میشود «دیرتر» و اگر خیلی دیر ظاهر میشود «زودتر» را انتخاب کنید. هر کیو همان آفست میلیثانیهای را میگیرد، بنابراین خطای هماهنگی ثابت بدون تغییر مدت کیوها اصلاح میشود.
یک فایل SubRip (.srt) یا WebVTT (.vtt) با کدگذاری UTF-۸، تا ۲۰ مگابایت. فایل فقط در همین تب خوانده میشود.
یک آفست ثابت زیرنویسی را درست میکند که از اول تا آخر به یک اندازه زود یا دیر است.
اگر خطا در طول پخش بزرگتر شود، مشکل رانش (drift) یا سرعت پخش است و یک آفست نمیتواند آن را درست کند.
تنظیمات کیو، شناسهها، یادداشتها، بلوکهای استایل WebVTT و متن زیرنویس هنگام تغییر خطوط زمانبندی حفظ میشوند.
چگونگی کار
مراحل انجام کار
- فایل بهصورت UTF-۸ در همین تب مرورگر خوانده میشود. نشانگر ترتیب بایت UTF-۸ موجود و پایانخط هر خط حفظ میشود؛ UTF-۱۶، UTF-۸ نامعتبر و ورودی باینری رد میشوند، نه اینکه کدگذاری حدس زده شود و متن زیرنویس آسیب ببیند.
- سرآیند WEBVTT بهعنوان WebVTT و فایل پذیرفتهشدهٔ بدون آن بهعنوان SubRip در نظر گرفته میشود. فایلی با نام .vtt که خط اول الزامی WEBVTT را ندارد رد میشود.
- بلوکهای جداشده با خط خالی یکییکی پیموده میشوند. سرآیند WebVTT و بلوکهای NOTE، STYLE و REGION حفظ میشوند؛ یک بلوک فقط وقتی کیو شناخته میشود که یکی از دو خط اولش با گرامر کامل «شروع، پیکان، پایان» آن قالب مطابقت داشته باشد.
- هر شروع و پایان به عدد صحیح میلیثانیه تبدیل میشود و پایان باید دیرتر از شروع باشد. آفست درخواستی به یک میلیثانیه گرد میشود، سپس برای «دیرتر» اضافه و برای «زودتر» کم میشود.
- وقتی جابهجایی به زودتر کل یک کیو را به صفر یا پیش از آن میبرد، کیو حذف میشود چون زمان پخش منفی وجود ندارد. وقتی فقط شروع از صفر میگذرد، دقیقاً مطابق انتخاب شما یا شروع به صفر محدود میشود یا کیو حذف میشود.
- فقط خط زمانبندی شناختهشده در قالب مبدأ بازنویسی میشود. شمارههای کیو، شناسهها، متن، تنظیمات کیو WebVTT، بلوکهای ساختاری، نشانگر UTF-۸ و پایانخط هر خط باقیمانده حفظ میشود، سپس فایل کامل برای دانلود ارائه میشود.
فرضها
- یک آفست ثابت به کل فایل اعمال میشود. اگر زیرنویسها در ابتدا هماهنگ باشند و هرچه جلوتر بروید بیشتر خطا داشته باشند، این رانش یا ناهمخوانی سرعت پخش است و با اضافه کردن یک عدد به همهجا درست نمیشود.
- آفست به ثانیه وارد میشود و یک بار به نزدیکترین میلیثانیه گرد میشود، چون هر دو قالب پشتیبانیشده در عمل سه رقم اعشار ذخیره میکنند. در پنل نتیجه، «دیرتر» مثبت و «زودتر» منفی است.
- زمانبندی SubRip به شکل ساعت:دقیقه:ثانیه,میلیثانیه در دو طرف پیکان --> است. شمارندههای عددی کیو، از جمله شکل فشردهای که شمارنده در همان خط زمانبندی است، حفظ میشوند و با حذف یک کیو در ابتدا دوباره شمارهگذاری نمیشوند.
- WebVTT خط اول WEBVTT را لازم دارد، پیش از میلیثانیه نقطه میگذارد و میتواند بخش ساعت را تا وقتی صفر است حذف کند. نمایش ساعتِ موجود حفظ میشود، و اگر مُهر زمانی جابهجاشده از ۶۰ دقیقه بگذرد، ساعت اضافه میشود.
- بلوکهای NOTE، STYLE و REGION، شناسهها و تنظیمات کیو در WebVTT، جز پایانخطهای باقیمانده، بایت به بایت نگه داشته میشوند. کیویی که تگ مُهر زمانی درونخطی WebVTT دارد رد میشود، چون تغییر فقط زمانهای بیرونی آن زمانبندی داخلیِ کارائوکهای را خراب میکند.
- کیوها ممکن است پیش یا پس از جابهجایی همپوشانی داشته باشند؛ اعمال یک آفست آن رابطه را حفظ میکند. این ابزار نحو و جهت زمانبندی را بررسی میکند، اما دربارهٔ اینکه همپوشانی عمدی بوده یا نه تصمیم نمیگیرد.
- ورودی به ۲۰ مگابایت و ۲۵۰٬۰۰۰ کیو محدود است. ورکر هنگام پیمایش فایل بلند بهطور دورهای نوبت را واگذار میکند تا نوار پیشرفت و دکمهٔ لغو پاسخگو بمانند.
پرسشهای رایج
چرا زیرنویسها در ابتدا درستاند اما در پایان اشتباه؟
این رانش زمانی است، نه یک آفست ثابت، و اغلب از تفاوت نرخ فریم یا سرعت پخش میآید. جابهجا کردن هر کیو به یک اندازه نمیتواند خطایی را که در طول زمان رشد میکند اصلاح کند.
آیا ابزار هم SRT و هم WebVTT را جابهجا میکند؟
بله. SRT میلیثانیه را با کاما جدا میکند و WebVTT سرآیند WEBVTT و میلیثانیهٔ جداشده با نقطه دارد. ابزار هر قالب را تشخیص میدهد و در همان قالب مینویسد.
منابع
روش کامل، مثال محاسبهشده و همهٔ فرضهای این نتیجه در این صفحه آمده است: جابهجاکنندهٔ زمان زیرنویس.