প্রকল্প সম্পর্কে
FFsubsync একটি ভাষা-নিরপেক্ষ কমান্ড-লাইন টুল, পাইথন লাইব্রেরি, এবং ব্রাউজার-ভিত্তিক ইউটিলিটি যা ভিডিও বা রেফারেন্স সাবটাইটেল ফাইলের সাথে সাবটাইটেল স্বয়ংক্রিয়ভাবে সিঙ্ক করে। এটি মাল্টিমিডিয়া ফাইলের সঠিক শুরুর পয়েন্টের সাথে টেক্সট টাইমিং সারিবদ্ধ করে।
### এটি কীভাবে কাজ করে
মূল সিঙ্ক্রোনাইজেশন অ্যালগরিদম তিনটি প্রধান ধাপে কাজ করে:
1. ভিডিও ফাইলের অডিও স্ট্রিম এবং সাবটাইটেল উভয়কে 10ms উইন্ডোতে বিভক্ত করে।
2. প্রতিটি উইন্ডোতে বক্তৃতা আছে কিনা তা নির্ধারণ করে। সাবটাইটেল সরাসরি পার্স করা হয়, যখন অডিও স্ট্রিমগুলি WebRTC-তে নির্মিত ভয়েস অ্যাক্টিভিটি ডিটেক্টর (VAD) এর মতো রেডি-মেড টুল ব্যবহার করে বিশ্লেষণ করা হয়।
3. ফাস্ট ফুরিয়ার ট্রান্সফর্ম (FFT) কনভোলিউশন পদ্ধতির মাধ্যমে মিল সর্বাধিক করে ফলস্বরূপ বাইনারি স্ট্রিংগুলিকে সারিবদ্ধ করে, যা সময় জটিলতা O(n log n) এ নামিয়ে আনে।
### মূল বৈশিষ্ট্য
- **একাধিক রেফারেন্স প্রকার:** ভিডিও ফাইল, অডিও ফাইল, সঠিকভাবে সিঙ্ক করা রেফারেন্স সাবটাইটেল ফাইল (.srt), বা দূরবর্তী URL-এর সাথে সিঙ্ক করুন।
- **ব্রাউজার-ভিত্তিক সংস্করণ:** WebAssembly (ffmpeg.wasm) এর মাধ্যমে ইনস্টলেশন ছাড়াই সম্পূর্ণ ক্লায়েন্ট-সাইডে চলে, ফাইলগুলি স্থানীয় থাকে তা নিশ্চিত করে।
- **দৃঢ় এনকোডিং সনাক্তকরণ:** একাধিক ফলব্যাক ডিটেক্টর ব্যবহার করে লিগ্যাসি সাবটাইটেল টেক্সট এনকোডিং (যেমন Windows-1251, GBK, Shift-JIS, এবং BOM সহ UTF-16) স্বয়ংক্রিয়ভাবে অনুমান করে।
- **উন্নত সিঙ্ক বিকল্প:** ফ্রেমরেট সংশোধন, গোল্ডেন-সেকশন অনুসন্ধান অনুপাত, মিড-ফাইল কাটার জন্য পিসওয়াইজ অ্যালাইনমেন্ট (`--split-penalty`), এবং বিকল্প VAD ব্যাকএন্ড (Auditok, Silero/PyTorch) সমর্থন করে।
- **ডকার সমর্থন:** GitHub কন্টেইনার রেজিস্ট্রির মাধ্যমে প্রি-বিল্ট কন্টেইনার ইমেজ উপলব্ধ।
- **পাইথন লাইব্রেরি API:** কাস্টম প্রগ্রেস কলব্যাক সহ প্রোগ্রাম্যাটিকভাবে আহ্বান করা যেতে পারে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.