যে সমস্যার সমাধান করে
স্কুল ও কোর্স নির্মাতাদের প্রায়ই শত শত ভিডিও থাকে যার কোনো ট্রান্সক্রিপ্ট নেই, অথবা শুধু স্বয়ংক্রিয় ক্যাপশন আছে যা ডকুমেন্টের মতো পড়া যায় না। অ্যাক্সেসিবিলিটি অফিসগুলো একটা একটা করে সুবিধার অনুরোধ পায়। সবকিছুর জন্য পাঠযোগ্য ট্রান্সক্রিপ্ট প্রকাশ করলে জমে থাকা কাজ শেষ হয় এবং প্রতিটি শিক্ষার্থী উপকৃত হন।
প্রথম ভার্সনে কী কী রাখবেন
- কোর্স বা চ্যানেলের প্রতিটি ভিডিওর ট্রান্সক্রিপ্ট
- ক্যাপশন নেই এমন ভিডিওর জন্য AI স্পিচ রিকগনিশন
- পাঠযোগ্যতার জন্য অনুচ্ছেদ ও স্পিকার লেবেল
- স্ক্রিন রিডার দিয়ে সহজে নেভিগেট করা যায় এমন HTML ট্রান্সক্রিপ্ট পেজ
- ডাউনলোডযোগ্য টেক্সট ও সাবটাইটেল ফাইল
ধাপে ধাপে কীভাবে বানাবেন
- 01
ভিডিওর তালিকা করুন
ট্রান্সক্রিপ্ট দরকার এমন প্রতিটি ভিডিওর তালিকা পেতে প্রতিটি কোর্স প্লেলিস্ট বা চ্যানেল রিজলভ করুন।
- 02
একসাথে ট্রান্সক্রাইব করুন
format.paragraphs দিয়ে ID-গুলো /batch-এ পাঠান। ক্যাপশন নেই এমন ভিডিও যাতে AI স্পিচ রিকগনিশনে ট্রান্সক্রাইব হয় সেজন্য ওয়েবহুকসহ allow_asr চালু করুন।
- 03
পাঠযোগ্যতা বাড়ান
একাধিক বক্তার লেকচারের জন্য ASR স্পিকার লেবেল ব্যবহার করুন। অনুচ্ছেদ বিভাজন ও শিরোনাম রাখুন যাতে ট্রান্সক্রিপ্ট ডকুমেন্টের মতো পড়া যায়।
- 04
প্রকাশ করুন
প্রতিটি ট্রান্সক্রিপ্টকে ভিডিওর নিচে একটি HTML পেজ বা ভাঁজযোগ্য অংশ হিসেবে দেখান, ডাউনলোড লিংকসহ।
স্টার্টার কোড
এই আইডিয়াটি "রেসিপি 3: পুরো প্লেলিস্ট একসাথে নলেজ বেসে লোড করুন" প্যাটার্নের ওপর তৈরি। নিজের চ্যানেল, প্রম্পট ও স্টোরেজ বসিয়ে নিন।
import requests
API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}
playlist = requests.post(f"{API}/playlists/resolve", headers=HEADERS,
json={"playlist_url": "https://www.youtube.com/playlist?list=PLAYLIST_ID",
"limit": 100}).json()
ids = [v["video_id"] for v in playlist["items"]]
batch = requests.post(f"{API}/batch", headers=HEADERS, json={
"video_ids": ids,
"format": {"timestamp": True, "paragraphs": True},
}).json()
# Large batches run async: poll GET /batch/{batch_id} until status is "completed"
for r in batch.get("results", []):
if r["status"] == "completed":
for p in r["data"]["transcript"].get("paragraphs") or []:
store(video_id=r["video_id"], start=p["start"], text=p["text"]) # your vector DBকেন বানানো মূল্যবান
প্রতিষ্ঠানগুলোর জন্য লাভ হলো দ্রুত অ্যাক্সেসিবিলিটি দায়বদ্ধতা পূরণ এবং কোর্স কনটেন্টকে আরও ব্যবহারযোগ্য ও খুঁজে পাওয়ার মতো করা। এজেন্সি ও প্ল্যাটফর্মগুলো স্কুলের কাছে ট্রান্সক্রিপ্ট প্রকাশকে সার্ভিস হিসেবে বিক্রি করতে পারে।
যে ভুলগুলো এড়াবেন
- স্বয়ংক্রিয় ক্যাপশনকে একটানা টেক্সটের ব্লক হিসেবে প্রকাশ করা: অনুচ্ছেদ ও বক্তা দিয়ে সাজান।
- ট্রান্সক্রিপ্ট শুধু ডাউনলোডের পেছনে লুকিয়ে রাখা: টেক্সট পেজেই রাখুন যাতে তা পাঠযোগ্য ও ইনডেক্সযোগ্য হয়।
- AI আউটপুট নিখুঁত ধরে নেওয়া: বিশেষ করে বাধ্যতামূলক সুবিধার ক্ষেত্রে কাউকে দিয়ে প্রযুক্তিগত শব্দ ও নাম যাচাই করান।
এই আইডিয়া নিয়ে প্রশ্ন
ট্রান্সক্রিপ্ট কি ভিডিও অ্যাক্সেসিবিলিটিতে সাহায্য করে?
হ্যাঁ। ট্রান্সক্রিপ্ট বধির ও কম শুনতে পাওয়া ব্যবহারকারী এবং স্ক্রিন রিডার ব্যবহারকারীদের মৌখিক কনটেন্টে পূর্ণ প্রবেশাধিকার দেয়, এবং প্রচলিত অ্যাক্সেসিবিলিটি নির্দেশিকায় ক্যাপশনের পাশাপাশি এগুলো সুপারিশ করা হয়।
ট্রান্সক্রিপ্ট কি SEO-তে সাহায্য করে?
পেজে টেক্সট হিসেবে প্রকাশ করা ট্রান্সক্রিপ্ট শুধু একটি ভিডিও এমবেডের চেয়ে সার্চ ইঞ্জিনকে ইনডেক্স করার মতো বেশি প্রাসঙ্গিক কনটেন্ট দেয়।
ভিডিওতে ক্যাপশন না থাকলে কী হবে?
AI স্পিচ রিকগনিশন চালু করুন, API 99টি ভাষার যেকোনোটিতে অডিও ট্রান্সক্রাইব করবে।