FunClip: lokale Videokürzung über ASR-Transkripte und Sprecherlabels
FunASR-powered video transcription, subtitle generation, and LLM-assisted clipping tool with a local Gradio UI.
Auf einen Blick
- Was ist das?
- FunClip kombiniert Paraformer-ASR, Sprechererkennung und ein Gradio-Interface, um Videos anhand ihres Transkripts zu schneiden. Der Ansatz ist praktisch für chinesischsprachiges Material, aber die Modellabhängigkeiten und die Modellwahl sind die eigentliche Hürde.
- Für wen ist es gedacht?
- FunClip passt zu Teams, die chinesischsprachiges Videomaterial lokal verarbeiten und Schnittpunkte aus dem Transkript ableiten wollen, statt eine Cloud-Schnittstelle zu nutzen. Wer ausschließlich englische Inhalte verarbeitet oder keine GPU für die Modellinferenz bereitstellen kann, sollte zuerst die Modellpfade prüfen, bevor er den Aufwand für die Installation eingeht.
- Darf ich es kommerziell nutzen?
- Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 5 Tagen.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich Python, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Welches Problem FunClip adressiert und für wen es gedacht ist
Videoschnitt anhand von Transkripten setzt voraus, dass Zeitstempel und Sprecherzuordnung bereits vorliegen. FunClip setzt genau dort an. Das Projekt führt laut README eine Spracherkennung über die Paraformer-Modelle von FunASR durch, zeigt das Ergebnis im Gradio-Interface an und erlaubt es, Textsegmente oder Sprecher auszuwählen und daraus einen Clip zu erzeugen. Der Nutzer arbeitet also nicht mit einer Timeline, sondern mit einem Text. Das ist ein anderer Arbeitsablauf als in einem klassischen NLE und für Interview-, Vorlesungs- oder Podcastmaterial naheliegend, wo der Inhalt sprachlich vorliegt.
Die Zielgruppe ist entsprechend eng: Personen, die chinesischsprachiges Material auswerten, Untertitel erzeugen und Ausschnitte extrahieren wollen, ohne die Aufnahme an einen Cloud-Dienst zu geben. Das README beschreibt FunClip als vollständig quelloffen und lokal betreibbar. Wer nur eine Untertiteldatei braucht und den Schnitt ohnehin manuell macht, bekommt hier mehr Oberfläche als nötig. Wer dagegen aus mehrstündigem Rohmaterial einzelne Passagen eines bestimmten Sprechers ziehen will, spart sich die manuelle Suche, weil das Transkript als Suchindex dient.
Der Ablauf: ASR, Zeitstempel, Sprecherlabels, Schnitt
Die Verarbeitungskette beginnt mit der Spracherkennung. Laut README integriert FunClip Paraformer-Large und nutzt die Fähigkeit des Modells, Zeitstempel direkt mit vorherzusagen. Das ist der Kern: Ohne Zeitstempel pro Segment ließe sich kein Schnittpunkt berechnen. Für die Erkennung bestimmter Eigennamen oder Fachbegriffe kann der Nutzer Hotwords setzen, was auf die SeACo-Paraformer-Funktion zurückgeht. Das ist in der Praxis relevant, weil Namen und Produktbezeichnungen in ASR-Ausgaben häufig falsch transkribiert werden, und ein falsch erkannter Begriff bedeutet einen falsch gesetzten Schnittpunkt.
Für die Sprecherzuordnung kommt das CAM++-Modell zum Einsatz. FunClip erkennt Sprecher automatisch und erlaubt, die erkannte Sprecher-ID als Ziel für den Schnitt zu verwenden. Man kann also nicht nur nach Text, sondern nach Person filtern. Das README nennt außerdem Multi-Segment-Schnitt sowie die Ausgabe von SRT-Untertiteln für das Gesamtvideo und für die ausgewählten Segmente. Die Segmentauswahl ist damit der einzige manuelle Schritt zwischen Transkript und Ergebnis.
Mit v2.2.0 kam ein zusätzlicher Pfad über MOSS-Transcribe-Diarize hinzu, der laut Release Notes lange Audiodateien mit Zeitstempeln und anonymen Sprecherlabels verarbeitet, ohne externe VAD- oder Sprechermodelle. Die Release Notes zu v2.2.1 erwähnen normalisierte sentence_info-Sprechersegmente in FunASR sowie die Veröffentlichung aktualisierter MOSS-Sprechergrenzen. Wer den MOSS-Pfad nutzt, sollte diese Abhängigkeit von FunASR-Versionen im Blick behalten, weil die Segmentstruktur dort erst vereinheitlicht wurde.
Installation und Start des Gradio-Dienstes
Das Repository wird geklont und die Abhängigkeiten werden installiert:
git clone https://github.com/modelscope/FunClip.git cd FunClip pip install -r ./requirements.txt
Für einen versionierten Stand verweist das README auf FunClip-2.2.1.tar.gz oder FunClip-2.2.1.zip sowie auf eine veröffentlichte SHA256SUMS-Datei zur Prüfung. Wichtig ist der Hinweis, dass die Modellgewichte nicht in diesen Quellarchiven enthalten sind, sondern beim Start separat heruntergeladen werden. Die Installation ist also nicht abgeschlossen, sobald pip durchgelaufen ist.
Der Dienst startet mit:
python funclip/launch.py
Das README dokumentiert mehrere Optionen: -m fun-asr-nano für das Fun-ASR-Nano-Modell mit Mandarin, Englisch, Japanisch, sieben chinesischen Dialektgruppen und 26 regionalen Akzenten, -m sensevoice für mehrsprachige ASR mit Emotions- und Audioereigniserkennung, --model moss für den MOSS-Pfad, -l en für englische Erkennung, -p für die Portnummer und -s True für öffentlichen Zugriff. Die Dokumentation gibt diese Beispiele, ohne für jeden Pfad Ressourcenbedarf zu nennen. Wer -s True setzt, öffnet den Dienst nach außen; das ist eine bewusste Entscheidung und keine Voreinstellung, die man beiläufig treffen sollte.
FunASR ist in einer Mindestversion erforderlich. Das README nennt funasr>=1.4.9 und begründet das mit dem MOSS-vLLM-Adapter, Langaudio-Steuerung, normalisierten sentence_info-Sprechersegmenten sowie früheren SenseVoice- und Echtzeit-Korrekturen. Bestehende Installationen sollen vor dem Neustart pip install -U -r requirements.txt ausführen, bei älteren Installationen zusätzlich pip install -U "funasr>=1.4.9". ImageMagick ist seit v2.2.1 für den Standardweg nicht mehr nötig, weil der eingebaute Untertitelrenderer auf Pillow und eine mitgelieferte Schriftart setzt. Nur das Beispiel funclip/test/imagemagick_test.py oder ein eigener MoviePy-TextClip-Ablauf braucht es weiterhin.
Modellwahl als eigentliche Konfigurationsfrage
Die Startparameter sind kurz, aber die Entscheidung dahinter ist es nicht. Der Standardpfad nutzt Paraformer für chinesische Videos. Daneben stehen Fun-ASR-Nano mit breiterer Sprach- und Dialektliste, SenseVoice mit zusätzlicher Emotions- und Ereigniserkennung sowie MOSS für lange Audiodateien mit anonymen Sprecherlabels. Diese Pfade unterscheiden sich nicht nur im Modell, sondern in dem, was als Ausgabe entsteht. SenseVoice liefert Informationen, die über das Transkript hinausgehen; MOSS liefert laut Release Notes Sprecherlabels ohne separate VAD- und Sprechermodelle.
Das README macht keine Angaben dazu, welche Hardware die einzelnen Pfade erfordern. Es gibt einen Hinweis im Abschnitt zu laufenden Arbeiten, demzufolge Whisper mit Zeitstempelunterstützung erheblichen GPU-Speicher benötigt und man deshalb die Zeitstempelvorhersage für das einfache Paraformer-Modell in FunASR unterstützt. Daraus lässt sich ableiten, dass der Speicherbedarf modellabhängig ist und nicht als Konstante behandelt werden sollte. Wer eine konkrete Empfehlung sucht, findet sie im vorliegenden Material nicht. Das ist eine Lücke, die man vor dem Rollout selbst schließen muss.
Wo FunClip die falsche Wahl ist
Die offensichtlichste Grenze ist die Sprache. Der Standardpfad ist auf chinesische Inhalte ausgerichtet, und die Modellliste im README ist entsprechend sortiert. Englisch ist über Fun-ASR-Nano und über -l en abgedeckt, aber die Projektbeschreibung und die Themenliste positionieren FunClip klar im chinesischen Umfeld. Wer hauptsächlich deutschsprachiges Material verarbeitet, findet in der vorliegenden Dokumentation keinen benannten Modellpfad dafür. Das sollte man vor der Evaluierung klären, nicht danach.
Zweitens ist der Schnitt transkriptgebunden. Segmente, die keine Sprache enthalten, tauchen im Transkript nicht auf und lassen sich daher nicht über den beschriebenen Mechanismus auswählen. Die Liste der laufenden Arbeiten nennt Removing silence periods als noch nicht erledigt. Wer Stille entfernen oder rein visuell schneiden will, ist mit einem klassischen Schnittprogramm schneller.
Drittens die Betriebsform. FunClip läuft lokal, das ist der bewusste Trade-off des Projekts. Das bedeutet aber auch, dass Modellgewichte heruntergeladen, Speicher vorgehalten und die FunASR-Version gepflegt werden müssen. Wer nur gelegentlich ein kurzes Video untertiteln will, trägt hier mehr Wartungslast als Nutzen. Und wer den Dienst mit -s True öffentlich stellt, sollte sich bewusst sein, dass die Oberfläche dann erreichbar ist.
Abgrenzung zu Whisper-basierten Werkzeugen
Der naheliegende Vergleich ist eine Pipeline, die Whisper für die Transkription und ein Skript für den Schnitt verwendet. Der Unterschied liegt weniger in der Erkennungsqualität als in der Kette. FunClip nutzt Paraformer mit integrierter Zeitstempelvorhersage und ergänzt CAM++ für die Sprecherzuordnung sowie Hotwords für die Begriffskorrektur. Whisper liefert in der Regel Transkript und Zeitstempel, aber keine Sprechertrennung; die muss über ein separates Diarisierungswerkzeug ergänzt werden. Genau diesen Zusatzschritt vermeidet FunClip im Standardpfad.
Das README adressiert den Vergleich direkt: Der Abschnitt zu laufenden Arbeiten nennt Whisper-Unterstützung für englische Nutzer und begründet die Verzögerung mit dem Speicherbedarf von Whisper bei Zeitstempeln. FunClip geht also den umgekehrten Weg und setzt auf ein Modell, dessen Zeitstempel Teil der Ausgabe sind. Für chinesisches Material ist das der passendere Ansatz. Für englischsprachige Projekte, in denen bereits eine Whisper-Pipeline mit Diarisierung existiert, ist der Wechsel nur dann sinnvoll, wenn die Sprecherfilterung im Interface den Ausschlag gibt.
Pflegeaufwand, Versionen und Lizenz
Die Release-Kadenz ist im vorliegenden Material dicht: v2.1.1 am 3. August, v2.2.0 am 30. August, v2.2.1 am 1. September 2026. Zwischen den letzten beiden Versionen liegt ein Funktionszuwachs, der eine neue Abhängigkeit mitbringt. Wer FunClip produktiv betreibt, muss daher nicht nur das Repository aktualisieren, sondern auch die FunASR-Version nachziehen. Das README nennt dafür zwei konkrete Befehle: pip install -U -r requirements.txt für bestehende Installationen und pip install -U "funasr>=1.4.9", falls die Installation älter ist. Ohne diesen Schritt startet der Gradio-Dienst nach Angabe des README nicht korrekt.
Ein zweiter Pflegepunkt sind die Modellgewichte. Sie werden beim Start separat geladen und sind nicht Teil der Quellarchive. Das bedeutet, dass ein Update des Codes nicht automatisch ein Update der Modelle ist, und umgekehrt. Für reproduzierbare Deployments verweist das README auf die versionierten Archive mit SHA256SUMS, was der einzige im Material beschriebene Mechanismus zur Integritätsprüfung ist.
FunClip steht unter der MIT-Lizenz. Das ist eine permissive Lizenz und erlaubt die Nutzung in proprietären Umgebungen, sofern der Lizenztext und der Urheberrechtshinweis beibehalten werden. Zu beachten ist, dass die Lizenz des Projekts nicht automatisch die Lizenz der heruntergeladenen Modellgewichte abdeckt. Das README verlinkt die Modellseiten von Paraformer-Large, SeACo-Paraformer, CAM++ und MOSS, nennt aber keine Lizenzangaben für diese Gewichte. Wer FunClip kommerziell einsetzt, muss diese Frage anhand der jeweiligen Modellseite klären. Eine rechtliche Einschätzung ist hier nicht möglich und auch nicht beabsichtigt.
Redaktionelles Fazit
FunClip passt zu Teams, die chinesischsprachiges Videomaterial lokal verarbeiten und Schnittpunkte aus dem Transkript ableiten wollen, statt eine Cloud-Schnittstelle zu nutzen. Wer ausschließlich englische Inhalte verarbeitet oder keine GPU für die Modellinferenz bereitstellen kann, sollte zuerst die Modellpfade prüfen, bevor er den Aufwand für die Installation eingeht. Vor dem produktiven Einsatz ist zu verifizieren, ob funasr>=1.4.9 installiert ist, welcher Modellpfad über -m gewählt wird und ob die SHA256SUMS der heruntergeladenen Archivdatei zur veröffentlichten Prüfsumme passt.
Community-Notizen