Neue Funktion: Videos automatisch mit Untertiteln transkribieren

Kürzlich haben wir unserem Robot /speech/transcribe eine neue Funktion hinzugefügt, mit der er von Menschen gesprochene Sprache erfassen und SRT-Dateien ausgeben kann. Diese Dateien können Sie automatisch verwenden, um Medien in Videoplayern mit Untertiteln zu versehen. Und dank der LEGO-artigen Kombinierbarkeit von Transloadit können Sie diese Dateien sogar direkt in die Videos selbst einbrennen. Heute möchte ich Ihnen zeigen, wie genau das funktioniert.

KI kommt in mehr Lebensbereichen zum Einsatz, als Sie vielleicht erwarten, und das aus gutem Grund. Sie kann Geschwindigkeit, Präzision und Wirksamkeit menschlicher Arbeit dramatisch steigern. Dennoch kann die schiere Menge an Daten, Datenbereinigung und Grafikkarten, die zum Training komplexer Modelle nötig ist, KI einschüchternd wirken lassen, was kleinere Unternehmen davon abhalten kann, sie zu nutzen. Transloadit hat es sich zur Aufgabe gemacht, KI in die Hände von mehr Entwicklerinnen und Entwicklern zu legen, indem wir sie deutlich einfacher nutzbar und wertschöpfend einsetzbar machen.
Im Laufe der Jahre haben wir eine Reihe (English) von KI-basierten Robots veröffentlicht, die einfach Plug-and-play sind. Sie müssen keine Sekunde darauf verwenden, sich in KI-Modelle einzuarbeiten oder sie zu trainieren.
Der KI-Robot, den wir uns heute ansehen, ist unser Robot /speech/transcribe. Dieser Robot kann jede Audio- oder Videodatei auslesen und daraus automatisch Textdateien erstellen, sodass Sie das mühsame Transkribieren nicht selbst erledigen müssen. Er bringt von Haus aus zusätzliche Vorteile mit, etwa die Kompatibilität mit vielen Sprachen und die Möglichkeit, mit dem einfachen Umstellen eines einzigen Parameters wahlweise die KI von Amazon oder die von Google zu nutzen. Transloadit kümmert sich im Hintergrund um sämtliche Implementierungsdetails und bietet eine einzige Schnittstelle, die sich in Workflows einbinden lässt, in denen weitere Robots hinzukommen und den Nutzen dieser KI-Bots erheblich steigern. Die Summe wird deutlich bedeutender als ihre Teile. Der Anbieterwechsel durch das Ändern von drei Zeichen erlaubt Ihnen außerdem, schnell herauszufinden, welcher davon Ihren Anwendungsfall am besten bedient. Um Fehlerbehandlung oder das Senden von Dateien mit den richtigen Codecs, Bandbreiten usw. müssen Sie sich nicht kümmern. Transloadit übernimmt all das für Sie und bietet es als Service an, der sich mit einem einzigen deklarativen JSON-Rezept steuern lässt.
Erste Schritte
In diesem Beitrag kombinieren wir unsere Robots /speech/transcribe und /video/subtitle, um von Menschen gesprochene Sprache in einem Video zu transkribieren und die Ausgabe anschließend direkt wieder in das Video selbst einzubrennen. Zwar liefert die manuelle Bearbeitung mitunter bessere Ergebnisse, doch ist sie naturgemäß kostspielig und mühsam – und zwar so sehr, dass sie sich oft gar nicht durchführen lässt. Und für viele Zwecke halten unsere Kundinnen und Kunden die automatische Transkription unserer Erfahrung nach für „gut genug“, während sie die Kosten so drastisch senkt, dass das Transkribieren von Videos überhaupt erst attraktiv wird.
Ein Anwendungsfall ist das Teilen von Videos in sozialen Medien, wo erwiesen ist, dass Videos mit Untertiteln die Aufmerksamkeit deutlich besser gewinnen als solche ohne.
Häufig werden die transkribierten Dateien außerdem von einem Dienst wie ElasticSearch indexiert, wodurch Videos durchsuchbar werden. Zurückgegeben wird dann ein Treffer für ein beliebiges gesprochenes Wort im Video und nicht nur Treffer im Titel des Videos.
Unten sehen Sie das Rezept, mit dem wir unsere beiden Funktionen kombiniert haben. Wir nennen das Assembly Instructions, die Sie in einem Template in Ihrem Konto speichern können, um sie jederzeit sicher wiederzuverwenden. Wir gehen jeden Step durch und probieren es dann aus.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"transcribed": {
"use": ":original",
"robot": "/speech/transcribe",
"provider": "gcp",
"format": "srt",
"result": true
},
"subtitled": {
"use": {
"bundle_steps": true,
"steps": [
{
"name": ":original",
"as": "video"
},
{
"name": "transcribed",
"as": "subtitles"
}
]
},
"robot": "/video/subtitle",
"ffmpeg_stack": "v7",
"preset": "ipad-high",
"result": true
},
"exported": {
"use": ["subtitled", "transcribed"],
"robot": "/s3/store",
"credentials": "s3_cred"
}
}
}
Unser erster Step mit dem Robot /upload/handle dient, nun ja, dem Handhaben unserer Uploads. Wer hätte das gedacht? Dieser Step ermöglicht es Ihnen, Ihre Datei hochzuladen. Beachten Sie jedoch, dass wir viele alternative Robots für den Import von Dateien anbieten.
Weiter geht es mit unserem zweiten Step,
"transcribed", in dem die zuvor erwähnte KI-Magie ins Spiel kommt. Wir richten
einen Provider-Parameter mit dem API-Wert "gcp" ein, Sie könnten aber auch
den Wert "aws" verwenden. Zusätzlich müssen wir einen Parameter
format einrichten. Da wir Untertitel in ein Video einbetten möchten, haben
wir uns für das Format "srt" entschieden. Alternativ könnten Sie
"webvtt" verwenden, doch dessen Vorteile gegenüber
"srt" werden für unseren Anwendungsfall nicht benötigt.
Sie könnten die SRT-Dateien separat exportieren, um die Untertitel im Videoplayer einzublenden. In
diesem Fall brennen wir den erzeugten Untertitel jedoch mit unserem
Robot /video/subtitle in die
ursprünglich hochgeladene Videodatei ein. Um die beiden
Steps zusammenzuführen, verweisen Sie im use-Parameter
vom Robot /video/subtitle mit
der Namenssyntax use.steps[].as auf die
Steps für den Upload und für die Untertitel.
Verwenden Sie zum Schluss den Robot /s3/store, um unsere Ergebnisse zu Amazon S3 zu exportieren. Wie unser erster Step ist dieser Step jedoch sehr leicht austauschbar, da wir viele weitere Exportmöglichkeiten anbieten.
Testen
Um unser Template zu testen, wollten wir einen kurzen Ausschnitt von David Attenborough aus seiner grandiosen Serie Planet Earth verwenden.
Wie Sie sehen, war die Assembly ein Erfolg. Dank KI müssen wir den mühsamen Prozess, eine Untertiteldatei von Hand zu erstellen, nicht mehr durchlaufen.
Dieser Workflow lässt sich nun über 20 praktische SDKs wie Uppy oder das Go SDK sowie direkt über unsere JSON REST API in Ihre Web- oder Mobile-App, Ihren Backend-Service oder Ihr Kommandozeilen-Tool integrieren.
Wir freuen uns darauf zu hören, was Sie mit uns bauen werden. Lassen Sie es uns auf Twitter wissen!