Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | Last revisionBoth sides next revision | ||
| cccamp15:pp [2015/08/13 13:52] – [Schnitt] atze | events:cccamp15:pp [2016/03/22 10:40] – ↷ Page moved from cccamp15:pp to events:cccamp15:pp v0tti | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | = CCCamp15 Recording / Postprocessing | ||
| + | |||
| + | Kurzer Abriss der Pipeline, streng chronologisch: | ||
| + | |||
| + | == Capturing | ||
| + | |||
| + | Auf Encoder-Cubes im jeweiligen Raum, auf dedizierter SDI-Karte (T-Stück oder zweiter BiMi-Ausgang) mit ffmpeg-Zeile. Tools: **sdi-run** und **ffmpeg** mit entsprechendem Profil (saalN-hd-direct-recording) | ||
| + | |||
| + | Segmentierte Aufnahmen landen in < | ||
| + | == Transfer | ||
| + | |||
| + | "Lazy rsync" von Cubes auf VOC-Storage nach / | ||
| + | |||
| + | == Fusemounts | ||
| + | |||
| + | Script A, B und C laufen auf dem VOC Storage, und bauen die Fusemounts nach ''/ | ||
| + | |||
| + | Um die "read only" Option von Samba nutzen zu können, werden ''/ | ||
| + | |||
| + | Tools: **screen**, **fuse-ts**, | ||
| + | |||
| + | == Schnitt | ||
| + | |||
| + | $Mensch mountet per CIFS vom VOC-Storage das /video an: | ||
| + | |||
| + | < | ||
| + | root@tarantel:/ | ||
| + | Password: < | ||
| + | root@tarantel:/ | ||
| + | Password: < | ||
| + | </ | ||
| + | |||
| + | Schnitt erfolgt mit KDEnlive. Tools: **kdenlive**, | ||
| + | |||
| + | <note warning> | ||
| + | |||
| + | <note warning> | ||
| + | |||
| + | == Master-Encoding | ||
| + | |||
| + | Auf den Encodern (2x Minion, ggf. 1-2 Mischerlaptops und weitere) läuft Script D und E. Zugriff auf Videodaten per r/w CIFS-Mount vom VOC-Storage. Hier liegen auch die Intros/ | ||
| + | |||
| + | Ausschnitt ''/ | ||
| + | < | ||
| + | // | ||
| + | #// | ||
| + | // | ||
| + | // | ||
| + | </ | ||
| + | Anlegen der CIFS-Mounts nach Boot: | ||
| + | < | ||
| + | mount /video/ | ||
| + | Password: < | ||
| + | mount / | ||
| + | Password: | ||
| + | mount / | ||
| + | Password: | ||
| + | </ | ||
| + | |||
| + | Im Tracker ist ein Filter an der Worker Group eingerichtet, | ||
| + | |||
| + | == Check | ||
| + | |||
| + | Analog Schnitt | ||
| + | |||
| + | == Postprocessing Master-Encoding-Tickets | ||
| + | |||
| + | Die " | ||
| + | |||
| + | == Releasing Master-Files | ||
| + | |||
| + | Die Master-Files werden in der FhG-Cloud abgelegt und dort vom Python Uploadskript nach YT und media released. Für letzteres ist ein HTTP-Zugriff von media auf den FhG Storage Node nötig. Das Uploadskript nutzt eine Worker Group **ohne** Filter, da alle Files von der gleichen Stelle (FhG Cloud) released werden. | ||
| + | |||
| + | == Encoding Slave-Tickets | ||
| + | |||
| + | Das Encoding der Slave-Tickets findet mit Script D und E auf verschiedenen VMs in der FhG Cloud statt. Der Storage Node stellt ''/ | ||
| + | |||
| + | == Check Slave-Tickets | ||
| + | |||
| + | Zum Checken der Slave-Tickets muss ein Zugriff vom Camp-Gelände auf ''/ | ||
| + | |||
| + | |||
| + | FIXME Eine Einschränkung auf IP-Bereiche und/oder Basic Auth ist evtl. sinnvoll. | ||
| + | |||
| + | == Postprocessing Slave-Tickets | ||
| + | |||
| + | Da die Slave-Files bereits an der richtigen Stelle in der FhG-Cloud liegen, ist kein Postprocessing nötig. Ein " | ||
| + | |||
| + | == Releasing Slave-Files | ||
| + | |||
| + | Komplett identisch zu Master-Files | ||
| + | |||
| + | == Reparaturprozess, | ||
| + | |||
| + | Es gibt zwei Stellen, an denen reparierte Aufzeichnungen halbwegs elegant in die Pipeline eingeschleust werden können: | ||
| + | |||
| + | === Variante 1: geändertes Quellmaterial | ||
| + | |||
| + | 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. 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 (FIXME ist das noch/wieder so? Prüfen, Screenshot). Das Material ist als ein zusammenhängendes TS-File 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, | ||
| + | |||
| + | Ab hier läuft dann die Pipeline ganz normal weiter. | ||
| + | |||
| + | === Variante 2: eigenes Masterfile | ||
| + | |||
| + | Alternativ kann ein Master-File separat erzeugt und eingeschleust werden, hierbei sind jedoch wesentlich mehr Rahmenbedingungen zu beachten: | ||
| + | * das File sollte mit identischen Parametern zu den automatisiert erzeugten Files encodet sein | ||
| + | * das File muss auch alle Metadaten beinhalten | ||
| + | * '' | ||
| + | |||
| + | Es empfiehlt sich, aus dem Encodingprofil den ffmpeg-Befehl herauszufiltern und zu verwenden. Dazu sollte die " | ||
| + | |||
| + | Das fertige Masterfile muss mit dem richtigen Namen '' | ||
| + | * Slave-Encoding-Tickets: | ||
| + | * Master-Encoding-Ticket: | ||
| + | * Recording-Ticket: | ||
| + | * Slave-Encoding-Tickets: | ||
| + | |||
| + | Ab hier arbeitet die Pipeline normal weiter. | ||