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. |