YouTube-Logo
Aufschnur Logo

Untertitel für YouTube-Videos mit kostenloser KI von OpenAI auf dem eigenen PC generieren lassen

Um Untertitel für YouTube-Videos generieren zu lassen, gibt es verschiedene Möglichkeiten. Manche funktionieren besser als andere, die meisten aber kosten Geld. Nicht so diese Lösung, die ich euch in diesem Tutorial vorstelle. Die ist nicht nur kostenlos, sondern funktioniert auch erstaunlich gut.

Wenn ihr Content-Creator auf YouTube seid, dann empfiehlt es sich, eure Videos mit Untertitel zu versehen. Mindestens in der nativen Sprache des Videos, idealerweise zusätzlich noch auf englisch. Zum einen scheinen Untertitel sich positiv auf den YouTube-Algorithmus auszuwirken. Zum anderen macht ihr eure Videos damit weiteren Zuschauergruppen zugänglich, wie zum Beispiel Gehörlosen, Usern die eine andere Sprache sprechen, oder auch schlichtweg Leute, die gerade in der Öffentlichkeit unterwegs sind und sich euer Video ohne Ton anschauen wollen/müssen.

YouTube hat zwar eine automatische Untertitel-Generierung, aber deren Resultate kann man nur als mäßig bezeichnen. Und die Untertitel werden bis jetzt auch nur für die native Sprache transkribiert. Im Internet gibt es mittlerweile viele KI-gestützte Dienste, um Untertitel aus bestehenden Videodateien generieren zu lassen. Vernünftig nutzen lassen die sich aber meist nur in Verbindung mit einem kostenpflichtigen Abo. Nicht jeder ist gewillt, noch ein weiteres Abo von 10-20 EUR im Monat abzuschließen, nur um Untertitel für seine YouTube-Videos bereitstellen zu können. Aber es gibt zum Glück eine kostenlose Alternative, die lokal auf eurem PC läuft. Und eines kann ich schon vorweg nehmen: Die Ergebnisse sind absolut beeindruckend!

Erstaunlich präzise Untertitel für YouTube-Videos dank Whisper von OpenAI

Unser KI-gestützter Übersetzer ist das in Python geschriebene GitHub-Projekt yt-whisper, das unter einer MIT-Lizenz kostenlos zur Verfügung gestellt wird. Der Kern des Ganzen, der die Transkription übernimmt, ist Whisper – ein neuronales Netz zur Spracherkennung, das von OpenAI kostenlos als OpenSource zur Verfügung gestellt wird. OpenAI dürfte den meisten ein Begriff sein, wenn man schon mal etwas von GPT bzw. ChatGPT gehört hat.

Die Transkriptionen durch Whisper liefern erstaunlich gute Ergebnisse. Und das nicht nur für englischsprachige Videos. Ich habe bereits eine ganze Reihe meiner deutschsprachigen YouTube-Videos durch yt-whisper gejagt. Da können andere Dienste, und erst recht der hauseigene Transkripter von YouTube, nicht mithalten. Whisper schreibt Substantive groß (klingt selbstverständlich, ist es aber leider oft nicht). Sogar substantivierte Verben erkennt die KI, und schreibt sie korrekt ebenfalls groß. Gleichzeitig erkennt Whisper unliebsame Lückenfüller-Worte wie z.B. das lästige „äh“, und ignoriert diese einfach. Sogar umgangssprachliche Verkürzungen werden teilweise ausgeschrieben. So wird z.B. aus dem gesprochenen „Das is ne gute Idee“ dann „Das ist eine gute Idee“.

Generell gilt natürlich bei allen Transkriptions-Tools immer die Einschränkung: Je schlechter die Stimme im Video zu verstehen ist (störende Hintergrundgeräusche/laute Musik, zu schnelle/undeutliche Aussprache, usw.), umso schlechter fällt das Ergebnis aus. Und mit manchen Markennamen und Fremdwörtern tun sich so gut wie alle Transkriptions-Tools generell etwas schwerer.

Untertitel für YouTube-Videos erstellen mit yt-whisper

yt-whisper wird über die Konsole aufgerufen, und bietet keine eigene grafische Benutzeroberfläche

Ich möchte allerdings auch den kleinen Nachteil dieser Lösung nicht unter den Teppich kehren: yt-whisper ist nicht so komfortabel zu bedienen, wie z.B. eine grafische Webanwendung im Browser. yt-whisper ist ein Python-Skript, das aus der Textkonsole heraus aufgerufen wird und keine grafische Benutzeroberfläche hat. Außerdem müssen zuerst ein paar weitere Softwarebestandteile installiert werden, die von yt-whisper benötigt werden um zu funktionieren. Ich finde, diese kleine Einschränkung ist es aber definitiv wert.

Installation von yt-whisper und seinen Abhängigkeiten

Damit das Skript auf dem eigenen Rechner ausgeführt werden kann, muss der Python-Interpreter installiert sein. Und zwar in einer bestimmten Version, nämlich 3.10. Außerdem wird das ebenfalls frei verfügbare Multimedia-Framework FFmpeg benötigt. Damit die YouTube-Videos für die Transkription lokal zwischengespeichert werden können, bindet yt-whisper ein weiteres GitHub-Projekt ein: yt-dlp. Und da sowohl yt-whisper als auch yt-dlp Github-Projekte sind, lohnt es sich, auch Git zu installieren. Das alles klingt im ersten Moment für manche vielleicht nach etwas viel Aufwand, aber tatsächlich bedarf es dazu nur weniger Befehlszeilen. Und wie das unter Windows 11/10 funktioniert, das zeige ich euch nun Schritt für Schritt.

Wir führen die Installation und auch später die Bedienung des Skripts in der Windows PowerShell-Konsole durch. Für die Installation benötigt ihr administrative Rechte. Startet die „Windows PowerShell“ zum Beispiel über das Startmenü per Rechtsklick -> „Als Administrator ausführen“:

(1) Winget

Um es uns mit den Installationen der benötigten Voraussetzungen leichter zu machen, verwenden wir das Kommandozeilen-Tool „Winget“. Das ist in Windows 11 sowie in neueren Versionen von Windows 10 bereits integriert. Prüft erst einmal mit folgendem Befehl, ob Winget bei euch installiert ist:

winget --version

Falls euch hier keine Versionsnummer, sondern ein Fehler ausgegeben wird, dann müsst ihr Winget erst noch nachinstallieren. Das geht zum Beispiel über den Microsoft Store („App-Installer“).

(2) Python

Um yt-whisper ausführen zu können, bedarf es dem Python-Interpreter. Zum aktuellen Zeitpunkt dieses Reviews darf es allerdings keine neuere Version als 3.10 sein (bzw. 3.10.11). Falls auf eurem System bereits eine ältere oder neuere Version von Python installiert ist, könnt ihr die benötigte Version 3.10 parallel zusätzlich installieren.

Startet nun über Winget die Installation von Python in der Version 3.10.11:

winget install -i -e --id=Python.Python.3.10 --source=winget --scope=machine

Hierbei startet der Installer im interaktiven Modus. Ihr solltet auf jeden Fall das Häkchen „Add python.exe to PATH“ setzen. Dadurch habt ihr es später beim Aufrufen von Python-Skripten einfacher.

Markiert diese Option bei der Installation, um später Python von überall aus aufrufen zu können

(3) FFmpeg

Als nächstes folgt das frei verfügbare Multimedia-Softwareprojekt FFmpeg. Lasst es mit folgender Befehlszeile installieren:

winget install -e --id=Gyan.FFmpeg --source=winget --scope=machine

(4) Git

Die freie Softwareverteilung Git wird zwar nicht zwingend benötigt, aber damit geht die Installation von yt-whisper und yt-dlp einfacher von der Hand. Außerdem könnt ihr mit Git natürlich auch alle anderen Projekte, die es so auf Github gibt, auf euren Rechner installieren lassen. Ihr müsst während der Installation den Nutzungsbedinungen mit „Y“ zustimmen.

winget install -e --id=Git.Git --source=winget

Wichtig: Bevor ihr nun mit der Installation von yt-whisper fortfahrt, müsst ihr erst Windows neustarten!

(5) yt-whisper

Nachdem ihr nun Windows einmal neugestartet habt, prüft ihr zuerst, ob alle nötigen Bestandteile auch wirklich vorhanden sind. Öffnet dazu wieder die Windows PowerShell, diesmal ganz normal, ohne Adminrechte. Gebt nun nacheinander folgende Befehle ein (Zeile für Zeile, jeweils mit Enter bestätigen):

python --version
ffmpeg -version
git version

yt-whisper benötigt Python und FFmpeg. Git ist optional und erleichtert die Installation

Es sollten euch die jeweiligen Versionsnummern ausgegeben werden, aber keine Fehlermeldungen. Das Ganze sollte inhaltlich in etwa so aussehen, wie in dem Screenshot oben. Damit könnt ihr nun die Installation von yt-whisper beginnen. Dafür verwenden wir den Python Paketinstaller „pip“. Der wird i.d.R. mit dem Windows-Installer von Python bereits mitinstalliert. Es kann nicht schaden, pip einmal aktualisieren zu lassen:

python.exe -m pip install --upgrade pip

Holt euch nun das Git-Repository von yt-whisper auf euren PC:

pip install git+https://github.com/m1guelpf/yt-whisper.git

Für diesen Fehler während der Installation gibt es eine einfache Lösung

Sollte die Installation mit obiger Fehlermeldung abbrechen, dann installiert die Anwendung alternativ folgendermaßen (jede Zeile einzeln eingeben und mit Enter bestätigen; die erste Zeile wird hier in diesem Layout wie zwei Zeilen angezeigt, es handelt sich aber um eine einzelne lange Befehlszeile):

pip install --upgrade --no-deps --force-reinstall git+https://github.com/m1guelpf/yt-whisper.git

pip install git+https://github.com/openai/whisper.git

pip install yt-dlp

Da einige Python-Skripts im Benutzerkontext installiert werden, müsst ihr wahrscheinlich das AppData-Roaming-Scripts-Verzeichnis in die PATH-Umgebungsvariable von Windows hinzufügen. Dafür habe ich euch diesen Einzeiler erstellt, den ihr einfach in PowerShell ausführen könnt:

[Environment]::SetEnvironmentVariable( "Path", $([Environment]::GetEnvironmentVariable("PATH", "User") + [IO.Path]::PathSeparator + "C:\Users$($Env:UserName)\AppData\Roaming\Python\Python310\Scripts"), "User" )

Und damit sollte yt-whisper nun einsatzbereit sein. Kleiner Tipp: Wenn ihr irgendwann mal yt-whisper nicht mehr benötigen solltet, findet ihr den heruntergeladenen Model-Cache von Whisper in folgendem versteckten Verzeichnis:

C:\Users\<Benutzername>\.cache\whisper

Die Dateien darin könnt ihr dann einfach löschen, wenn ihr yt-whisper nicht mehr braucht. Damit lassen sich einige Gigabyte Speicherplatz wieder frei schaufeln.

So verwendet ihr yt-whisper

Die einfachste Befehlszeile zur Transkription eines YouTube-Videos sieht so aus:

yt_whisper "https://www.youtube.com/watch?v=<VIDEO-ID>"

Zu beachten ist, dass yt-whisper nur auf veröffentlichte YouTube-Videos zugreifen kann, nicht auf private. yt-whisper hat natürlich noch weitere Parameter, die man beim Aufruf übergeben kann. Eine Übersicht findet ihr jederzeit in der Hilfe:

yt_whisper --help

Wichtig: Standardmäßig verwendet yt-whisper das kleine Sprachmodell, welches sich ideal für englischsprachige Videos eignet. Falls ihr Videos in anderen Sprachen transkribieren lassen möchtet, solltet ihr auf jeden Fall eines der größeren Sprachmodelle verwenden, z.B. „medium“, oder besser noch „large“.

Hier ein Beispiel, wie ich yt_whisper immer aufrufe:

yt_whisper "https://www.youtube.com/watch?v=..." --model large --format srt --language German

Mit dem Parameter −−model könnt ihr ein größeres Sprachmodell auswählen, als standardmäßig verwendet wird. Das solltet ihr auf jeden Fall auch machen, wenn in dem betreffenden Video eine andere Sprache als Englisch gesprochen wird. Ich nutze eigentlich immer das Modell „large“ bei meinen deutschsprachigen Videos.

Über den Parameter −−format könnt ihr das Ausgabeformat ändern. Standardmäßig werden die Untertitel von yt-whisper im VTT-Format gespeichert, ich persönlich nutze aber lieber das einfachere SRT-Format.

Mit dem Parameter −−language könnt ihr dem Programm direkt mitteilen, um welche Sprache es sich in dem Video handelt. Das kann Whisper zwar auch selbst ermitteln, aber mit diesem Parameter seid ihr auf der sicheren Seite.

Der Parameter −−output_dir ermöglicht es euch, ein anderes Ausgabeverzeichnis zu wählen. Standardmäßig wird die generierte Untertitel-Datei in dem Verzeichnis gespeichert, aus dem heraus yt-whisper aufgerufen wurde.

Mit dem Parameter −−task könnt ihr yt-whisper mitteilen, ob die Untertitel in der nativen Sprache des Videos transkribiert werden sollen (−−task transcribe), oder ob die Untertitel direkt ins englische übersetzt werden sollen (−−task translate). Standardmäßig wird automatisch der Modus transcribe verwendet. Ihr müsst diesen Parameter also nur angeben, wenn in dem Video nicht englisch gesprochen wird, und ihr die Untertitel aber von einer anderen Sprache direkt ins englische übersetzt haben möchtet.

Diese Beiträge könnten dich auch interessieren:

Noch keine Kommentare



Deine Meinung zählt