সাবটাইটেল সিঙ্ক্রোনাইজেশন এবং SRT ও VTT ফরম্যাট
ভিডিওর অডিওর সাথে সাবটাইটেলের মিল থাকা অত্যন্ত জরুরি। অনেক সময় ভিডিও সম্পাদনা, ফ্রেম রেট পরিবর্তন বা বিভিন্ন সংস্করণের কারণে সাবটাইটেল কিছুটা আগে বা পরে চলে যায়। এই ধরনের সমস্যা সমাধানের জন্য "সাবটাইটেলের সময় সরানোর টুল" ব্যবহার করা হয়, যা একটি সাবটাইটেল ফাইলের প্রতিটি কিউ (cue)-এর সময়কে নির্দিষ্ট পরিমাণে এগিয়ে বা পিছিয়ে দেয়।
এই টুলটি মূলত দুটি বহুল ব্যবহৃত সাবটাইটেল ফরম্যাট সমর্থন করে:
১. SRT (SubRip Subtitle): এটি একটি সাধারণ টেক্সট ফরম্যাট যেখানে নম্বর দেওয়া কিউ ব্লক থাকে।
২. VTT (WebVTT - Web Video Text Tracks): এটি ওয়েব ভিডিওর জন্য ব্যবহৃত একটি আধুনিক ফরম্যাট, যা অবশ্যই WEBVTT লেখা দিয়ে শুরু হতে হয়।
টুলটি প্রক্রিয়াকরণের সময় মূল ফাইলের কিউ আইডি, সেটিংস, নোট, স্টাইল, অঞ্চল (regions), লাইনের সমাপ্তি এবং সাবটাইটেলের মূল লেখা হুবহু বজায় রাখে। এটি শুধুমাত্র সময়ের মানগুলোকে পরিবর্তন করে।
ইনপুট এবং অফসেট নির্ধারণের নিয়ম
টুলটিতে সাবটাইটেল ফাইল দুইভাবে দেওয়া যায়: সরাসরি ফাইল ড্রপ করে অথবা টেক্সট বক্সে পেস্ট করে। ইনপুট ফাইলটি অবশ্যই UTF-8 এনকোডিংয়ে সংরক্ষিত হতে হবে এবং এর সর্বোচ্চ সাইজ ২ মেগাবাইট (2 MB) পর্যন্ত হতে পারবে।
সময় সরানোর জন্য দুটি ফরম্যাট ব্যবহার করা যায়:
- সেকেন্ড: দশমিক সংখ্যা ব্যবহার করে সরাসরি সেকেন্ডের মান দেওয়া যায় (যেমন:
2.5বা-0.75)। - টাইমকোড: এটি
H:MM:SS.mmm(ঘণ্টা:মিনিট:সেকেন্ড.মিলিসেকেন্ড) ফরম্যাটে লিখতে হয় (যেমন:-00:00:02.500)।
ধনাত্মক মান (positive value) কিউগুলোকে দেরিতে দেখায় এবং ঋণাত্মক মান (negative value) কিউগুলোকে আগে দেখায়।
সাবটাইটেল যাচাইকরণ ও ত্রুটি সংশোধন
টুলটি সাবটাইটেল ফাইলের গঠন এবং সময়ের ক্রম কঠোরভাবে যাচাই করে। প্রক্রিয়াকরণের সময় নিম্নলিখিত নিয়মগুলো অনুসরণ করা হয়:
- ক্রমিক ধারাবাহিকতা: প্রতিটি কিউ অবশ্যই তার পূর্ববর্তী কিউয়ের পরে শুরু হতে হবে। যদি কোনো কিউ তার ওপরের কিউয়ের আগে শুরু হয়, তবে টুলটি কাজ করবে না।
- যৌক্তিক সময়সীমা: প্রতিটি কিউয়ের শেষ সময় অবশ্যই তার শুরু হওয়ার সময়ের পরে হতে হবে।
- ওভারল্যাপ অনুমোদন: টুলটি একই সময়ে একাধিক কিউ শুরু হওয়া বা একে অপরের ওপর ওভারল্যাপ করা সমর্থন করে।
- ইনলাইন টাইমস্ট্যাম্প: WebVTT ফাইলের ক্ষেত্রে ইনলাইন টাইমস্ট্যাম্পগুলো অবশ্যই সঠিক ক্রমে এবং কিউয়ের ভেতরে থাকতে হবে।
যদি ইনপুট ফাইলে কোনো অসঙ্গতি থাকে, তবে টুলটি নির্দিষ্ট ত্রুটি বার্তা দেখায়, যেমন:
- "কিউ
‹number›শুরু হওয়ার পরে শেষ হতে হবে।" - "কিউ
‹number›তার ওপরের কিউয়ের আগে শুরু হয়েছে।" - "কিউ
‹number›-এর‹line›নম্বর লাইনে অবৈধ টাইমস্ট্যাম্প আছে।" - "কিউ
‹number›-এ কিউয়ের বাইরে বা ভুল ক্রমে একটি ইনলাইন VTT টাইমস্ট্যাম্প আছে।"
ঋণাত্মক শিফট এবং শূন্য সময়ের সীমাবদ্ধতা
ঋণাত্মক মান দিয়ে সাবটাইটেল এগিয়ে নেওয়ার সময় একটি গুরুত্বপূর্ণ বিষয় মনে রাখতে হবে। কোনো কিউয়ের সময় পিছিয়ে যদি শূন্য সেকেন্ডের (time zero) আগে চলে যায়, তবে টুলটি সেই কিউটিকে কেটে ছোট বা মুছে ফেলে না। ফাইলের কাঠামোগত সততা বজায় রাখার জন্য পুরো প্রক্রিয়াটি সেখানেই থামিয়ে দেওয়া হয় এবং একটি ত্রুটি বার্তা প্রদর্শন করা হয়:
"এভাবে সরালে কিউ ‹number› শূন্যের আগে চলে যাবে। ‹minimum› বা তার চেয়ে পরের ব্যবধান ব্যবহার করুন।"
এর ফলে ব্যবহারকারী জানতে পারেন যে ঠিক কতটুকু সময় সর্বোচ্চ পেছানো সম্ভব, যা সাবটাইটেলের কিউগুলোর মধ্যকার পারস্পরিক ব্যবধান ও দৈর্ঘ্য নিখুঁত রাখতে সাহায্য করে।
ডেটা প্রসেসিং এবং গোপনীয়তা
এই টুলটি ব্যবহারের সময় আপনার তথ্যের গোপনীয়তা সম্পূর্ণ সুরক্ষিত থাকে। আপনার সাবটাইটেলের লেখা ও ফাইল ব্রাউজারেই থাকে। BroBroGo কিছুই আপলোড বা সংরক্ষণ করে না। সম্পূর্ণ প্রক্রিয়াকরণ আপনার নিজস্ব ডিভাইসের ব্রাউজারে সম্পন্ন হয়।
প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)
কোন SRT ও VTT ফাইল ব্যবহার করা যায়?
নম্বর দেওয়া কিউ ব্লকসহ UTF-8 SRT ফাইল অথবা WEBVTT দিয়ে শুরু হওয়া WebVTT ফাইল ব্যবহার করুন। কিউ আইডি, সেটিংস, নোট, স্টাইল, অঞ্চল, লাইনের সমাপ্তি ও সাবটাইটেলের লেখা যেমন আছে তেমনই রাখা হয়।
ঋণাত্মক সরানোয় সময় শূন্যের আগে চলে গেলে কী হবে?
কিউ কেটে ছোট করা বা মুছে ফেলার বদলে কাজটি থামিয়ে দেওয়া হয়। এতে প্রতিটি কিউয়ের দৈর্ঘ্য এবং চাওয়া ব্যবধান নির্ভুল থাকে; কম সময় এগিয়ে দিয়ে আবার চেষ্টা করুন।
স্থির সময় সরিয়ে কি ক্রমশ বাড়তে থাকা সিঙ্কের ভুল ঠিক করা যায়?
না। স্থির সরানো পুরো ফাইলে একই পরিমাণ দেরি বা এগিয়ে থাকা ঠিক করে। ভিডিও চলার সঙ্গে ব্যবধান বাড়লে সাবটাইটেলের সময়ের হার বা আলাদা কিউ সম্পাদনা করতে হবে।
ফাইল আপলোড করার সময় কোনো সাইজ বা ক্যারেক্টার সীমা আছে কি?
হ্যাঁ, আপলোড করা ফাইলের সর্বোচ্চ সাইজ ২ মেগাবাইট (2 MB) হতে পারবে এবং ফাইলটি অবশ্যই UTF-8 এনকোডিংয়ের হতে হবে। পেস্ট করা লেখার ক্ষেত্রেও একটি নির্দিষ্ট ক্যারেক্টার সীমা প্রযোজ্য।