Video-Downloads in OpenClaw mit yt-dlp automatisieren
OpenClaw ist eine leistungsstarke Workflow-Automatisierungsplattform, mit der Sie APIs, Trigger und Aktionen zu nahtlosen Pipelines verbinden können. Kombiniert mit yt-dlp - dem leistungsfähigsten verfügbaren Video-Downloader - können Sie automatisierte Systeme aufbauen, um Konkurrenzinhalte zu überwachen, Tutorials zu archivieren, Audio für Transkriptionen zu extrahieren und vieles mehr.
Diese Anleitung führt Sie durch die Einrichtung von yt-dlp-gestützten Video-Download-Workflows in OpenClaw, von einem einfachen URL-Trigger bis hin zu einer vollständig automatisierten Content-Monitoring-Pipeline.
Warum yt-dlp mit OpenClaw kombinieren?
Manuelle Arbeit skaliert nicht. Wenn Sie Videoinhalte über mehrere Kanäle hinweg verfolgen, Lernmaterial archivieren oder heruntergeladene Videos in nachgelagerte Prozesse (Transkription, Komprimierung, Analyse) einspeisen müssen, brauchen Sie Automatisierung.
OpenClaw übernimmt die Orchestrierung - Trigger, Zeitplanung, Verzweigungslogik und Benachrichtigungen - während yt-dlp die schwere Arbeit leistet: zuverlässige Videoextraktion von über 1.000 unterstützten Seiten.
Häufige Anwendungsfälle:
- Wettbewerberüberwachung: automatisch neue Videos von YouTube-Kanälen der Konkurrenz herunterladen und an einen Transkriptions- oder Analyseschritt weiterleiten.
- Inhaltsarchivierung: einen Download auslösen, wenn ein neues Video in einem überwachten RSS-Feed oder einer Playlist erscheint.
- Audioextraktion: Audio aus Video-URLs für Podcast-Generierung, Transkriptionspipelines oder Trainingsdatensätze extrahieren.
- Qualitätssicherung: prüfen, ob öffentlich verfügbare Videos (Produktdemos, Tutorials) weiterhin zugänglich sind und dem erwarteten Inhalt entsprechen.
Voraussetzungen
Bevor Sie Ihren OpenClaw-Workflow aufbauen, stellen Sie sicher, dass Sie folgendes haben:
- Ein OpenClaw-Konto mit mindestens einem aktiven Arbeitsbereich.
- Einen Server oder eine Cloud-Funktion, auf dem yt-dlp installiert und über HTTP erreichbar ist (Sie können es mit einem kleinen FastAPI- oder Express-Wrapper bereitstellen oder einen verwalteten HuntAPI-Endpunkt nutzen).
- Grundkenntnisse des knotenbasierten Editors von OpenClaw.
Schritt 1 - Einen yt-dlp HTTP-Endpunkt einrichten
OpenClaw kommuniziert mit externen Tools über HTTP. Der einfachste Ansatz ist, yt-dlp in einen kleinen API-Server einzubetten.
Hier ist ein minimales Python-Beispiel mit FastAPI:
from fastapi import FastAPI
from pydantic import BaseModel
import subprocess, json
app = FastAPI()
class DownloadRequest(BaseModel):
url: str
format: str = "bestvideo+bestaudio/best"
output_dir: str = "/tmp/downloads"
@app.post("/download")
def download_video(req: DownloadRequest):
result = subprocess.run(
[
"yt-dlp",
"--format", req.format,
"--output", f"{req.output_dir}/%(title)s.%(ext)s",
"--print-json",
req.url,
],
capture_output=True,
text=True,
)
metadata = json.loads(result.stdout.splitlines()[-1]) if result.returncode == 0 else {}
return {
"success": result.returncode == 0,
"title": metadata.get("title"),
"duration": metadata.get("duration"),
"filepath": metadata.get("filename"),
"error": result.stderr if result.returncode != 0 else None,
}
Stellen Sie diesen Dienst bereit und notieren Sie die öffentliche URL - Sie verwenden sie als Ziel in Ihrem OpenClaw-HTTP-Aktionsknoten.
Schritt 2 - Einen OpenClaw-Workflow erstellen
Trigger: Neues Video auf einem YouTube-Kanal
- Öffnen Sie den OpenClaw-Editor und erstellen Sie einen neuen Workflow.
- Fügen Sie einen Zeitplan- oder RSS-Feed-Trigger-Knoten hinzu. YouTube-Kanal-RSS-Feeds folgen diesem Muster:
https://www.youtube.com/feeds/videos.xml?channel_id=IHRE_CHANNEL_ID
- Legen Sie das Abfrageintervall fest (z.B. stündlich).
Aktion: Das Video herunterladen
- Fügen Sie nach dem Trigger einen HTTP-Anfrage-Aktionsknoten hinzu.
- Konfigurieren Sie ihn als POST-Anfrage an Ihren yt-dlp-Endpunkt:
{
"url": "{{trigger.link}}",
"format": "bestvideo[height<=1080]+bestaudio/best",
"output_dir": "/mnt/storage/videos"
}
- Ordnen Sie
trigger.linkaus dem RSS-Feed-Element dem Feldurlzu.
Aktion: Nur Audio extrahieren (optional)
Wenn Sie nur Audio benötigen (für Transkriptions- oder Podcast-Workflows), ändern Sie das Format auf:
{
"url": "{{trigger.link}}",
"format": "bestaudio/best"
}
Und fügen Sie --extract-audio --audio-format mp3 zu Ihrem yt-dlp-Befehl auf der Serverseite hinzu.
Schritt 3 - Die Antwort verarbeiten
Nach dem Download gibt der HTTP-Aktionsknoten ein JSON-Objekt mit Dateipfad, Titel, Dauer und Erfolgsstatus zurück. Diese Felder können Sie verwenden, um:
- Eine Slack-Benachrichtigung zu senden mit dem Videotitel und einer Download-Bestätigung.
- Einen Transkriptions-Workflow auszulösen indem Sie den Dateipfad an einen Whisper- oder AssemblyAI-Knoten übergeben.
- In Cloud-Speicher hochzuladen (S3, GCS, R2) mit einem Speicher-Aktionsknoten.
- Ergebnisse in einer Tabelle zu protokollieren für Tracking und Reporting.
Beispiel: Bedingte Fehlerbehandlung
Fügen Sie nach der HTTP-Anfrage einen Bedingung-Knoten hinzu, um das Feld success zu prüfen:
- Wenn
true→ zur nächsten Aktion übergehen (Upload, Transkription usw.). - Wenn
false→ Ihr Team mit dererror-Meldung von yt-dlp benachrichtigen.
Schritt 4 - Mit Rate-Limits und Geo-Einschränkungen umgehen
Große Workflows können YouTubes Rate-Limits treffen (Fehler 429) oder auf geo-blockierte Inhalte stoßen. Übergeben Sie ein --proxy-Argument in Ihrem yt-dlp-Befehl:
"yt-dlp",
"--proxy", "http://ihr-proxy:port",
"--format", req.format,
...
Für rotierende Proxies nutzen Sie einen Anbieter, der einen einzelnen Gateway bereitstellt, der automatisch die Exit-IPs wechselt. Dies vermeidet die Verwaltung einer Proxy-Liste in Ihrer Workflow-Logik.
Sie können auch einen Retry-Knoten in OpenClaw hinzufügen, um den Download-Schritt bei Misserfolg mit exponentiellem Backoff automatisch zu wiederholen.
Workflow-Blueprint: Vollständige Content-Monitoring-Pipeline
Hier ist ein vollständiger Blueprint, den Sie direkt in OpenClaw importieren können:
| Knoten | Typ | Beschreibung |
|---|---|---|
| RSS-Trigger | Trigger | Fragt stündlich einen YouTube-Kanal-RSS-Feed ab |
| Filter | Bedingung | Überspringt Videos kürzer als 2 Minuten |
| Download | HTTP POST | Ruft den yt-dlp-Endpunkt auf, gibt Dateipfad zurück |
| Fehlerprüfung | Bedingung | Verzweigt auf Basis des success-Feldes |
| Transkription | HTTP POST | Sendet Audio an die Whisper-API |
| Benachrichtigung | Slack | Postet Titel + Transkriptionszusammenfassung in einen Kanal |
| Protokoll | Tabelle | Fügt eine Zeile zu einem Google Sheet hinzu |
Tipps für den Produktionseinsatz
- Verarbeitete URLs cachen mit einem Redis- oder Datenbankknoten, um das erneute Herunterladen desselben Videos in jedem Trigger-Zyklus zu vermeiden.
- Output-Templates sorgfältig festlegen in yt-dlp, um Dateinamenkonflikte zu vermeiden:
%(upload_date)s_%(id)s_%(title)s.%(ext)sist ein sicherer Standard. - Festplattenspeicher überwachen auf Ihrem Download-Server; einen Bereinigungsschritt hinzufügen, der Dateien löscht, die älter als N Tage sind und bereits verarbeitet wurden.
- yt-dlps
--cookies-from-browser-Option (serverseitig) für Sites nutzen, die Authentifizierung erfordern, und Sessions rotieren, um compliant zu bleiben.
Vereinfachen mit HuntAPI
Anstatt Ihren eigenen yt-dlp-Server (Schritt 1) zu deployen und zu warten, können Sie Ihren OpenClaw-HTTP-Knoten direkt auf HuntAPI verweisen. HuntAPI bietet einen sofort einsatzbereiten, verwalteten Video-Download-Endpunkt - keine Infrastruktur zum Warten, keine Proxy-Liste zu verwalten, und integrierte Unterstützung für Geo-Entsperrung und Rate-Limit-Handhabung.
So gelangen Sie in wenigen Minuten von null zu einem funktionierenden OpenClaw-Video-Download-Workflow.