Okay, let's see. The user asked to split the prev...
Absolut! Hier sind die beiden Bash-Skripte, die Ihre Anforderungen erfüllen, zusammen mit den notwendigen Erklärungen und Anweisungen:
1. get_videos.sh (Video-Liste herunterladen):
#!/bin/bash # Ueberpruefen, ob yt-dlp installiert ist if ! command -v yt-dlp &> /dev/null; then echo "yt-dlp ist nicht installiert. Bitte installieren Sie es." exit 1 fi # YouTube-Kanal-URL eingeben read -p "YouTube-Kanal-URL eingeben: " channel_url # Ausgabeverzeichnis erstellen output_dir="youtube_videos" mkdir -p "$output_dir" # JSON-Daten herunterladen und speichern yt-dlp --skip-download --print-json "$channel_url" > "$output_dir/videos.json" # Textdatei mit ID, Titel und URL erstellen jq -r '.id + " | " + .title + " | " + .webpage_url' "$output_dir/videos.json" > "$output_dir/video_info.txt" echo "Video-Informationen wurden heruntergeladen und gespeichert in '$output_dir'." 2. get_transcripts.sh (Transkripte herunterladen):
#!/bin/bash # Ueberpruefen, ob yt-dlp installiert ist if ! command -v yt-dlp &> /dev/null; then echo "yt-dlp ist nicht installiert. Bitte installieren Sie es." exit 1 fi # Ueberpruefen, ob jq installiert ist if ! command -v jq &> /dev/null; then echo "jq ist nicht installiert. Bitte installieren Sie es." exit 1 fi # Ueberpruefen, ob videos.json existiert if [ ! -f "youtube_videos/videos.json" ]; then echo "Die Datei 'youtube_videos/videos.json' wurde nicht gefunden. Bitte fuehren Sie zuerst 'get_videos.sh' aus." exit 1 fi # Ausgabeverzeichnis fuer Untertitel erstellen output_dir="youtube_transcripts" mkdir -p "$output_dir" # Untertitel herunterladen jq -r '.id' youtube_videos/videos.json | while read video_id; do yt-dlp --write-subs --skip-download --sub-lang de -o "$output_dir/%(id)s.%(ext)s" "$video_id" done echo "Untertitel wurden heruntergeladen und gespeichert in '$output_dir'." Anleitung:
-
Speichern: Speichern Sie die obigen Skripte als
get_videos.shundget_transcripts.sh. -
Ausfuehrbar machen: Machen Sie die Skripte mit dem folgenden Befehl ausfuehrbar:
Bashchmod +x get_videos.sh get_transcripts.sh -
Abhaengigkeiten installieren:
- yt-dlp: Installieren Sie
yt-dlpmit dem Paketmanager Ihrer Distribution (z. B.apt install yt-dlp,brew install yt-dlp,pip install --upgrade yt-dlp). - jq: Installieren Sie
jqmit dem Paketmanager Ihrer Distribution (z. B.apt install jq,brew install jq).
- yt-dlp: Installieren Sie
-
Ausfuehren:
-
Führen Sie zuerst
get_videos.shaus, um die Video-Liste herunterzuladen:Bash./get_videos.sh -
Führen Sie dann
get_transcripts.shaus, um die Untertitel herunterzuladen:Bash./get_transcripts.sh
-
-
Untertitel-Sprache aendern: Um die Untertitel in einer anderen Sprache herunterzuladen, ändern Sie
--sub-lang dein derget_transcripts.sh-Datei in den entsprechenden Sprachcode (z. B.--sub-lang enfür Englisch).
Wichtige Hinweise:
- YouTube-Nutzungsbedingungen: Beachten Sie die Nutzungsbedingungen von YouTube, wenn Sie Inhalte herunterladen.
- Fehlerbehandlung: Die Skripte enthalten grundlegende Fehlerbehandlung, aber Sie können sie nach Bedarf erweitern.
- Ausgabeverzeichnisse: Die Skripte erstellen die Verzeichnisse
youtube_videosundyoutube_transcriptsim aktuellen Verzeichnis. - jq: Das Skript ist darauf ausgelegt, mit jq zu arbeiten. Falls jq nicht installiert werden soll, kann das json file sehr viel schwerer zu parsen sein.
README-Datei (Beispiel):
Anleitung zum Herunterladen von YouTube-Videos und -Untertiteln 1. Abhaengigkeiten installieren: * yt-dlp * jq 2. Skripte ausfuehrbar machen: chmod +x get_videos.sh get_transcripts.sh 3. Video-Liste herunterladen: ./get_videos.sh 4. Untertitel herunterladen: ./get_transcripts.sh 5. Untertitel-Sprache aendern: * Bearbeiten Sie die Datei 'get_transcripts.sh'. * Aendern Sie '--sub-lang de' in den gewuenschten Sprachcode. Wichtiger Hinweis: Beachten Sie die Nutzungsbedingungen von YouTube. Ich hoffe, das hilft Ihnen weiter!