Kapitel 13/Tutorial.md aktualisiert
This commit is contained in:
@@ -520,10 +520,72 @@ In diesem Schritt erstellen wir den eigentlichen Workflow in **n8n**. Er sorgt d
|
||||
> [!NOTE]
|
||||
> Pro VOD entsteht ein Logfile in `<clipper-ordner>/logs/<ID>.log`. Du kannst es live mit `tail -f <clipper-ordner>/logs/<ID>.log` verfolgen.
|
||||
|
||||
---
|
||||
---
|
||||
|
||||
Mit diesem Aufbau ist der **False-Pfad** fertig: Wenn die State-Datei fehlt oder leer ist, werden alle VODs verarbeitet und in Nextcloud hochgeladen. Der True-Pfad folgt im nächsten Abschnitt.
|
||||
Mit diesem Aufbau ist der **False-Pfad** fertig: Wenn die State-Datei fehlt oder leer ist, werden alle VODs verarbeitet und in Nextcloud hochgeladen. Der True-Pfad folgt im nächsten Abschnitt.
|
||||
|
||||
**C. n8n‑Verkabelung (Überblick)**
|
||||
Ort: *n8n Weboberfläche*
|
||||
|
||||
**Verkabelung (Kurzüberblick):**
|
||||
1) HTTP Request →
|
||||
2) Split Out: → 3) Merge →
|
||||
4) Split In Batches →
|
||||
5) SSH Node 1 (State-Datei schreiben) →
|
||||
6) SSH Node 2 (Download & Upload)
|
||||
---
|
||||
|
||||
** Node-Einstellungen (1:1 in n8n eintragen)**
|
||||
**1) HTTP Request – Get Videos** -
|
||||
- **Node-Typ:** HTTP Request -
|
||||
- **Methode:** GET -
|
||||
- **URL:** `https://api.twitch.tv/helix/videos?user_id=<DEINE_TWITCH_USER_ID>&type=archive&first=20`
|
||||
- **Authentifizierung:** OAuth2 (Credential: *Twitch API*)
|
||||
- **Header:** Client-Id: <DEINE_CLIENT_ID>
|
||||
- **Response Format:** JSON **
|
||||
|
||||
2) Item Lists – Split Out**
|
||||
- **Node-Typ:** Split Out
|
||||
- **Field to Split Out:** data **
|
||||
|
||||
3) Merge – Combine**
|
||||
- **Node-Typ:** Merge
|
||||
- **Mode:** Combine
|
||||
- **Combine Mode:** All Possible Combinations
|
||||
- **Eingang 1:** If False Ausgang
|
||||
- **Eingang 2:** Item Lists: Split Out
|
||||
|
||||
**4) Split In Batches**
|
||||
- **Node-Typ:** Split In Batches
|
||||
- **Batch Size:** 1
|
||||
|
||||
**5) SSH Node 1 – State-Datei schreiben**
|
||||
- **Node-Typ:** SSH
|
||||
- **Credentials:** *SSH Clipper* (User = clipper)
|
||||
- **Operation:** Execute Command
|
||||
- **Command is an Expression:** **ON**
|
||||
- **Command:**
|
||||
``` bash
|
||||
{{`set -euo pipefail; STATE="/srv/clipper/state/vod_seen.list"; mkdir -p "$(dirname "$STATE")"; if [ -s "$STATE" ]; then printf "%s\n" "${$json.data.id}" >> "$STATE"; else printf "%s\n" "${$json.data.id}" > "$STATE"; fi`}}
|
||||
```
|
||||
|
||||
**6) SSH Node 2 – Download & Upload (Skript)**
|
||||
- **Node-Typ:** SSH
|
||||
- **Credentials:** *SSH Clipper* (User = clipper)
|
||||
- **Operation:** Execute Command
|
||||
- **Command is an Expression:** **ON**
|
||||
- **Command:**
|
||||
```bash
|
||||
<clipper-ordner>/bin/clipper-vod-get "{{$('Merge').item.json.data.id}}" "{{ $json.url || ('https://www.twitch.tv/videos/' + $('Merge').item.json.data.id) }}"
|
||||
```
|
||||
|
||||
---
|
||||
**Ergebnis**
|
||||
- n8n steuert den gesamten Prozess, Upload erfolgt zuverlässig im Clipper via rclone.
|
||||
- Pro VOD entsteht **eine** MP4 in Nextcloud: <gewünschter Ordner>/VODs/<ID>/.
|
||||
- Pro VOD gibt es ein eigenes Logfileverzeichnis unter <clipper-ordner>/logs/<ID>/download.log.
|
||||
- Lokaler Speicher bleibt frei (automatisches Löschen nach Upload).
|
||||
- Logs der Schritte findest du im SSH‑Node‑Output und persistent im Logfile.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user