Problemet det löser
Skolor och kursskapare har ofta hundratals videor utan transkript, eller bara automatiska undertexter som inte går att läsa som ett dokument. Tillgänglighetsenheter tar emot förfrågningar om anpassningar en i taget. Att publicera läsbara transkript för allt tar bort eftersläpningen och gynnar alla som studerar.
Vad den första versionen bör innehålla
- Transkript för varje video i en kurs eller kanal
- AI-taligenkänning för videor utan undertexter
- Stycken och talaretiketter för bättre läsbarhet
- HTML-sidor med transkript som är lätta att navigera med skärmläsare
- Nedladdningsbara text- och undertextfiler
Så bygger du det, steg för steg
- 01
Inventera videorna
Slå upp varje kursspellista eller kanal för att lista alla videor som behöver ett transkript.
- 02
Transkribera i bulk
Skicka ID:na till /batch med format.paragraphs. Aktivera allow_asr med en webhook så att videor utan undertexter transkriberas med AI-taligenkänning.
- 03
Förbättra läsbarheten
För föreläsningar med flera talare använder du ASR-talaretiketter. Behåll styckebrytningar och rubriker så att transkripten läses som dokument.
- 04
Publicera
Rendera varje transkript som en HTML-sida eller en utfällbar sektion under videon, med en nedladdningslänk.
Startkod
Den här idén bygger på mönstret "Recept 3: Läs in en hel spellista i en kunskapsbas". Byt till dina egna kanaler, promptar och lagring.
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 DBDärför är det värt att bygga
För lärosäten är vinsten att uppfylla tillgänglighetskraven snabbare och göra kursinnehållet mer användbart och lättare att hitta. Byråer och plattformar kan sälja publicering av transkript som en tjänst till skolor.
Misstag att undvika
- Att publicera automatiska undertexter som ett enda obrutet textblock: formatera med stycken och talare.
- Att bara erbjuda transkript som nedladdning: lägg texten på sidan så att den är läsbar och kan indexeras.
- Att anta att AI-resultatet är perfekt: låt någon stickprovskontrollera facktermer och namn, särskilt för obligatoriska anpassningar.
Frågor om den här idén
Förbättrar transkript tillgängligheten för video?
Ja. Transkript ger döva, hörselskadade och skärmläsaranvändare full tillgång till talat innehåll, och rekommenderas tillsammans med undertexter i vanliga riktlinjer för tillgänglighet.
Hjälper transkript SEO?
Transkript som publiceras som text på sidan ger sökmotorerna mer relevant innehåll att indexera än enbart en inbäddad video.
Vad händer om en video saknar undertexter?
Aktivera AI-taligenkänning så transkriberar API:et ljudet på något av 99 språk.