Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| c3tracker:repair [2019/10/26 09:41] – andi | c3tracker:repair [2026/07/26 22:17] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | == C3Tracker: Repair | + | ## C3Tracker: Repair |
| subpage of [[: | subpage of [[: | ||
| Line 5: | Line 5: | ||
| Es gibt verschiedene Arten von Defekten, sowie verschiedene Lösungsansätze: | Es gibt verschiedene Arten von Defekten, sowie verschiedene Lösungsansätze: | ||
| - | == Defekte Timestamps | + | ## Defekte Timestamps |
| Falls das Recording zu früh gestoppt, oder neu gestartet wurde kann es Probleme mit den Timestamps im TS geben. Dies äußert sich z.B. dadurch das Shotcut oder VLC beim Abspielen des uncut.ts keine Timestamps mehr anzeigt. | Falls das Recording zu früh gestoppt, oder neu gestartet wurde kann es Probleme mit den Timestamps im TS geben. Dies äußert sich z.B. dadurch das Shotcut oder VLC beim Abspielen des uncut.ts keine Timestamps mehr anzeigt. | ||
| - | === Kappute Schnipsel verschieben | + | ### Kappute Schnipsel verschieben |
| Im einfachsten Fall reicht es die kaputten Schnipsel in einen Unterordner zu verschieben, | Im einfachsten Fall reicht es die kaputten Schnipsel in einen Unterordner zu verschieben, | ||
| - | === Timestamps mit ffmpeg reparieren | + | ### Timestamps mit ffmpeg reparieren |
| Falls das nicht funktioniert kann man die Timestamps mit ffmpeg neu setzen und diese als repair-File (siehe ' | Falls das nicht funktioniert kann man die Timestamps mit ffmpeg neu setzen und diese als repair-File (siehe ' | ||
| Line 21: | Line 21: | ||
| Zum Reparieren der Timestamps wird das vorhandene, aber " | Zum Reparieren der Timestamps wird das vorhandene, aber " | ||
| - | ffmpeg -i / | + | ffmpeg -i /video/fuse/ |
| Anschließend mit dem Reparaturprozess (nächster Abschnitt) fortfahren. | Anschließend mit dem Reparaturprozess (nächster Abschnitt) fortfahren. | ||
| - | == Manually repairing a Recording (TS) | + | ## Manually repairing a Recording (TS) |
| Das reparierte Material wird im gleichen Format wie das Capture zur Verfügung gestellt, also MPEG2-TS mit 4 Audiospuren etc.pp. Dabei wird im Prozess zwar noch vor dem Schnitt eingesetzt, ein Abstecken mit KDEnlive erfolgt aber **nicht** nochmal. Das Material sollte also bereits zugeschnitten sein (siehe auch nächster Abschnitt). Allerdings darf das ersetzte Material **nicht** bereits Intro oder Outro beinhalten, da dies beim Encoding angefügt wird. | Das reparierte Material wird im gleichen Format wie das Capture zur Verfügung gestellt, also MPEG2-TS mit 4 Audiospuren etc.pp. Dabei wird im Prozess zwar noch vor dem Schnitt eingesetzt, ein Abstecken mit KDEnlive erfolgt aber **nicht** nochmal. Das Material sollte also bereits zugeschnitten sein (siehe auch nächster Abschnitt). Allerdings darf das ersetzte Material **nicht** bereits Intro oder Outro beinhalten, da dies beim Encoding angefügt wird. | ||
| - | Die Vorgehensweise wird vom Tracker etwas unterstützt. Das Material ist als handelsübliche Videodatei (z.B. MPEG2-TS, h264 mp4) im Verzeichnis '' | + | Die Vorgehensweise wird vom Tracker etwas unterstützt. Das Material ist als handelsübliche Videodatei (z.B. MPEG2-TS, h264 mp4) im Verzeichnis '' |
| Direkt im Anschluss kann/muss das Ticket nochmal geschnitten werden, also den Cutting-Status durchlaufen. Es wird **nur** der Status im Tracker durchlaufen, | Direkt im Anschluss kann/muss das Ticket nochmal geschnitten werden, also den Cutting-Status durchlaufen. Es wird **nur** der Status im Tracker durchlaufen, | ||
| Line 35: | Line 35: | ||
| Ab hier läuft dann die Pipeline ganz normal weiter. | Ab hier läuft dann die Pipeline ganz normal weiter. | ||
| - | === Camera backup Audio stereo to 2x stereo | + | Wenn es einen Fuse/ |
| + | |||
| + | ### Camera backup Audio stereo to 2x stereo | ||
| Soll der Kameraton benutzt werden liegt dieser meist als L: original R: translation vor. Das muss im repair.ts auf 2 stereo streams geaendert werden das sollte mit dieser zeile funktionieren: | Soll der Kameraton benutzt werden liegt dieser meist als L: original R: translation vor. Das muss im repair.ts auf 2 stereo streams geaendert werden das sollte mit dieser zeile funktionieren: | ||
| Line 42: | Line 44: | ||
| </ | </ | ||
| - | == Hints for repairing / manual cutting with KDEnlive | + | ### Hints for simple .ts repairs with ffmpeg |
| + | |||
| + | For basic repairs (for example, removing sections from the middle of a recording), you can use '' | ||
| + | |||
| + | First, determine the start and end timestamps of the sections you want to keep, relative to '' | ||
| + | |||
| + | < | ||
| + | ffmpeg -i uncut.ts -ss 00:02:46.20 -to 00:17:25.18 -map 0 -c copy part1.ts | ||
| + | ffmpeg -i uncut.ts -ss 00:19:12.12 -to 00:52:27.23 -map 0 -c copy part2.ts | ||
| + | </ | ||
| + | |||
| + | After that, you can easily combine the parts with '' | ||
| + | |||
| + | < | ||
| + | cat part1.ts part2.ts > combined.ts | ||
| + | </ | ||
| + | |||
| + | Finally, repair the timestamps with '' | ||
| + | |||
| + | < | ||
| + | ffmpeg -i combined.ts -c copy -map 0 repair.ts | ||
| + | </ | ||
| + | |||
| + | Place this file in the repair directory of your current event and follow the steps as described above. With this method, there is no need to use KDEnlive or Shotcut for cutting anymore. | ||
| + | |||
| + | |||
| + | ## Hints for repairing / manual cutting with KDEnlive | ||
| Die grundsätzliche Bedienung von KDEnlive wird hier nicht erklärt. Es ist zu beachten, dass KDEnlive (derzeit) nicht in der Lage ist, mehrere Video- oder Audiospuren zu exportieren. Für Slide-Video-Spuren oder übersetztes Audio muss man also mehrfach exportieren und die Dateien am Ende zu einer Repair- oder Masterdatei zusammenmuxen. | Die grundsätzliche Bedienung von KDEnlive wird hier nicht erklärt. Es ist zu beachten, dass KDEnlive (derzeit) nicht in der Lage ist, mehrere Video- oder Audiospuren zu exportieren. Für Slide-Video-Spuren oder übersetztes Audio muss man also mehrfach exportieren und die Dateien am Ende zu einer Repair- oder Masterdatei zusammenmuxen. | ||
| Line 55: | Line 83: | ||
| **Achtung** da die Software " | **Achtung** da die Software " | ||
| - | === Convert to TS | + | |
| + | ### Lokal schneiden, remote rendern | ||
| + | |||
| + | Dafür muss auf dem Encoder (oder der Server auf dem gerendert wird), muss melt installiert werden: `sudo apt install melt`. Beim Schneiden mit KDEnvlive sollten die Quelldateien schon an gleicher stelle wie auf dem Encoder liegen. | ||
| + | |||
| + | Wenn man fertig ist im KDEnlive auf rendern klicken, das Profil `VOC H.264 main video track with audio` auswählen, den richtigen Exportpfad setzen und auf `Generate Script` klicken. Jetzt sollte in `$HOME/ | ||
| + | |||
| + | ## Convert to TS | ||
| (Not necessary for repairing) | (Not necessary for repairing) | ||
| Line 70: | Line 105: | ||
| </ | </ | ||
| - | === remux TS file | + | ### Convert intro without audio to ts |
| + | Input can be any file that can be read by ffmpeg. The intro needs a audio track in order to be compatible with the tracker pipeline. | ||
| + | |||
| + | < | ||
| + | ffmpeg -loop 1 -i 123.mp4 -ar 48000 -ac 1 -f s16le -i /dev/zero -ar 48000 -ac 1 -f s16le -i /dev/zero -ar 48000 -ac 1 -f s16le -i /dev/zero -ar 48000 -ac 1 -f s16le -i / | ||
| + | </ | ||
| + | |||
| + | ## remux TS file | ||
| < | < | ||
| ffmpeg -v verbose -y \ | ffmpeg -v verbose -y \ | ||
| Line 76: | Line 118: | ||
| -c copy \ | -c copy \ | ||
| -f mpegts / | -f mpegts / | ||
| + | </ | ||
| + | |||
| + | ### source replacement with remapped audio streams + av-delay | ||
| + | |||
| + | < | ||
| + | ffmpeg -i / | ||
| </ | </ | ||
| - | == Audiospur bearbeiten | + | |
| + | ## Audio Stream Reihenfolge reparieren via Jobfile.xml | ||
| + | Issue: Audio Spuren vertauscht, Translation + Main in falscher Reihenfolge | ||
| + | Ausgangslagen: | ||
| + | - Sich selbst als encoding worker zuweisen | ||
| + | - Track nach Wiki Anleitung schneiden | ||
| + | - Warten bis Recording auf finalized steht | ||
| + | - TS- HD master mp4 aufrufen | ||
| + | - Job file runterladen | ||
| + | - Audio spuren in encoding teil vom Jobfile richtig einsortieren | ||
| + | - z.B. Audiospuren 1 und 2 sind vertauscht < | ||
| + | -map ' | ||
| + | -map ' | ||
| + | - Schnittmarken + AV delay macht der Tracker automatisch | ||
| + | - auf ein einem worker anmelden und auf voc user wechseln | ||
| + | - Angepasste encoding ffmpeg Zeile aus dem Jobfile ausführen | ||
| + | - | ||
| + | |||
| + | ## Kamerastream in definiertem Zeitintervall durch Slidestream ersetzen | ||
| + | Ausgangslagen: | ||
| + | - Sich selbst als encoding worker zuweisen | ||
| + | - Track nach Wiki Anleitung schneiden | ||
| + | - Warten bis Recording auf finalized steht | ||
| + | - TS- HD master mp4 aufrufen | ||
| + | - Job file runterladen | ||
| + | - Job file in Editor öffnen | ||
| + | - Nach [1:v:0] scale=1920:1080, fps=25 [1v025]; | ||
| + | - Einfügen von [1v025][1: | ||
| + | - Zur Bestimmung des Zeitinterfalls Zeit aus Shotcut in Sekunden umwandeln. | ||
| + | - - Intime muss immer ein Zeitstempel sein | ||
| + | - - Outtime kann Zeitstempel bzw. inf, wenn bis Talkende benötigt wird, sein. | ||
| + | - FFMPEG Job auf minion ausführen. | ||
| + | - Master im Tracker auf Encoded stellen. | ||
| + | - HD Master muss unassigned werden | ||
| + | |||
| + | ## Audiospur bearbeiten | ||
| Beim Checken fällt auf, dass das Audio defekt ist z.B. | Beim Checken fällt auf, dass das Audio defekt ist z.B. | ||
| Line 106: | Line 189: | ||
| ffmpeg -i 10397-hd-async.mp4 -itsoffset 0.200 -i 10397-hd-async.mp4 -c copy -map 0:v:0 -map 0:v:1 -map 1:a:0 -map_metadata 0 10397-hd.mp4 | ffmpeg -i 10397-hd-async.mp4 -itsoffset 0.200 -i 10397-hd-async.mp4 -c copy -map 0:v:0 -map 0:v:1 -map 1:a:0 -map_metadata 0 10397-hd.mp4 | ||
| </ | </ | ||
| - | == Copyright aus audio mit hilfe von YouTube entfernen | + | ## Copyright aus audio mit hilfe von YouTube entfernen |
| * Copyright meldung im YT frontend öffen und "audio ersetzen" | * Copyright meldung im YT frontend öffen und "audio ersetzen" | ||
| Line 128: | Line 211: | ||
| * anschließend (re)releasen ('' | * anschließend (re)releasen ('' | ||
| - | === mit Avidemux | + | ### mit Avidemux |
| Etwas unsauber aber, falls es schnell gehen muss und eh nur nach YouTube veröffentlicht wird: | Etwas unsauber aber, falls es schnell gehen muss und eh nur nach YouTube veröffentlicht wird: | ||
| Line 141: | Line 224: | ||
| - | == Manually repairing a Recording (DV) | + | ## Manually repairing a Recording (DV) |
| Old SD process, mostly irrelevant. | Old SD process, mostly irrelevant. | ||
| Line 150: | Line 233: | ||
| Now place a '' | Now place a '' | ||
| - | == Cut the last second off a recording | + | ## Cut the last second off a recording |
| When the outro has additional frames (bacause of a non empty output folder after a --debug run) the files can be shortened by downloading them from media and using the fowllowing script. | When the outro has additional frames (bacause of a non empty output folder after a --debug run) the files can be shortened by downloading them from media and using the fowllowing script. | ||
| Line 172: | Line 255: | ||
| done | done | ||
| </ | </ | ||
| + | |||
| + | ## ReLive to fusemount | ||
| + | |||
| + | If you for example screwed up a recording, it could be useful to use the ReLive-Snippets as a source for the fuse-ts. This python-script might help you. The Fahplan-ID has to be given as a argument. | ||
| + | |||
| + | < | ||
| + | import os | ||
| + | import sys | ||
| + | |||
| + | files = os.listdir('/ | ||
| + | relive_folder = '/ | ||
| + | fuse_folder = '/ | ||
| + | |||
| + | i = 0 | ||
| + | |||
| + | for file in files: | ||
| + | filename = relive_folder+sys.argv[1]+'/' | ||
| + | if filename[-3: | ||
| + | file = file.split(' | ||
| + | new_filename = relive_folder+sys.argv[1]+'/ | ||
| + | os.rename(filename, | ||
| + | i += 1 | ||
| + | |||
| + | print(" | ||
| + | </ | ||
| + | |||
| + | ## Render-Settings in DaVinci Resolve | ||
| + | |||
| + | Wenn der Repair mit Davinci gemacht wird und die Datei gerendet wird, sollten folgende Dinge berücksichtigt werden: | ||
| + | |||
| + | ### Generelles | ||
| + | |||
| + | * In der Deliver-Page muss im File-Tab das Setting `Render without timecode` aktiviert werden. | ||
| + | |||
| + | ### Talk mit Translations und Multispur-Audio | ||
| + | |||
| + | Davinci kann mehrere Audio-Spuren exportieren. Dabei muss beachtet werden, dass jede Sprache in einer Spur ist und in der ersten Spur der Orginal-Ton ist, in der 2. die Translation 1, usw. | ||
| + | |||
| + | * In der Deliver-Page muss im Audio-Tab das Dropdown " | ||