Workflow-Optimierung - Ein Update

in #technology6 years ago

Drei Monate sind seit meinem letzen Blog-Post zum Thema Workflow-Optimierung vergangen. In dieser Zeit ist unglaublich viel passiert - mehr noch, als ich erwartet hätte. Eine gute Gelegenheit, um die Neuerungen und Verbesserungen kurz vorzustellen.

Was bisher geschah

In meinem letzten Blog-Post hatte ich mir den Status-Quo zum Thema Software und Hardware für Workflow-Optimierung auf Windows angesehen. Mein Hauptanwendungsfall war die Verbesserung des Workflows meiner Schnittsoftware Adobe Premiere CC. Vorgestellt hatte ich hier u.a. Autohotkey, eine mächtiges Programm inklusive eigener Programmiersprache für die Erstellung neuer Shortcuts. Ebenfalls erwähnt hatte ich den Macro-Experten Taran Van Hermet und die externe Controller-Hardware Palette Gear. Wer hätte gedacht, was sich daraus noch entwickeln würde...

Lern erstmal schneiden!

Mein erster Schritt (und wenn man so möchte, meine Urlaubsbeschäftigung), war es, mein Wissen in Premiere zu verbessern. Denn auch wenn ich hin und wieder meine Problemchen mit der Stabilität der Software habe, muss man sich eingestehen, dass es sich hierbei um eine unglaublich mächtige Schnittsoftware handelt, welche insbesondere schon hunderte eigene Shortcuts mit sich bringt.

Angefangen habe ich mit Tarans umfangreichem Profi-Tutorial für Premiere. Ja, das Video ist vier Stunden lang. Die Zeit lohnt sich, denn es ist unglaublich gut gemacht. Das Video hat rückblickend große Auswirkungen auf meinen heutigen Workflow gehabt. Außerdem war es mein Einstiegspunkt, um Funktionen und Verbesserungen zu sammeln, die Premiere nicht von sich aus mitbringt. Einen Ausschnitt meiner Notizen findet man in einem Twitter-Post.

Palette Gear

Parallel hierzu hatte ich angefangen mit Mitarbeitern von Palette Gear zu schreiben. Ergeben hatte sich dies aus meiner Einschätzung im letzten Blog-Post, dass die Hardware zwar recht teuer, aber ihren Preis im Workflow wert sein könnte. Aus einer Diskussion über die ideale Größe eines Palette-Setups ergab sich dann eine Zusammenarbeit. Ein umfangreiches Review findet ihr bereits auf meinem YouTube-Kanal, weitere Videos werden definitiv folgen.

Mit Hilfe des Palette Gear konnte ich meinen Workflow erneut beschleunigen. Man unterschätzt, wie oft man in einer kreativen Umgebung (z.B. im Videoschnitt) mit "herkömmlichen" Tastaturtasten nicht mehr weiter kommt. Viele Optionen wie z.B. die Farbe, Größe, Position, Effektparameter, Lautstärke etc. lassen sich besser mit Dreh- und Schiebereglern einstellen. Meine aktuelle Belegung findet ihr ebenfalls im Video.

Meiner Einschätzung nach ist mein Professional Kit allerdings etwas übertrieben - die halbe Größe (Expert Kit) würde für eine spürbare Beschleunigung ebenfalls ausreichen. Abgesehen davon macht der Schnitt auch mehr Spaß, wenn man Einstellungen mit echten Reglern einstellen kann - logischerweise. Ich kann, nach meinem aktuellen Erkenntnisstand, Palette Gear für die (semi)-professionelle Anwendung definitiv empfehlen!

Die Grenzen von Autohotkey

Nach ersten Gehversuchen in Autohotkey hatte ich angefangen, meine eigenen Skripte zu schreiben. Vieles geht hier erneut auf die große Sammlung an Skripten von Taran zurück. Dank dieser Skripte kann ich mittlerweile mehrere Premiere Shortcuts simultan ausführen, Fenster öffnen & umher schieben lassen und weitere, kleine Workflow-Probleme in Premiere ausbügeln.

Autohotkey hat allerdings auch ganz klare Grenzen. Hier muss man zwischen technischen Grenzen und sinnvoller Umsetzung unterscheiden. Wenn es beispielsweise um "modernere" Anwendungsgebiete wie REST-Calls oder Websockets geht, kommt man direkt an die Grenze des möglichen. Zum Glück liefert Windows 10 mittlerweile nativ CURL mit...

Die andere Einschränkung von Autohotkey ist die Frage: "Lässt sich das überhaupt skalieren? Bringt mir dieser Hack mehr Beschleunigung oder nur mehr Probleme?" - Ein Beispiel: Bilderkennung. Autohotkey kann vorbereitete Felder in Programmen via Bilderkennung identifizieren und Aktionen wie z.B. Mausklicks ausführen. Obgleich dies eine mächtige Methode zur Automatisierung von grafischen Benutzeroberflächen (GUIs) sein kann, ist es vor allem eins: Ein Hack. Ein Hack, der sich schon von leicht verschobenen Elementen oder anderen Farben austricksen lässt. Meiner Meinung nach nicht skallierbar genug.

Premiere CEP Coding

Auf der Suche nach einer Alternative, um Funktionen in Premiere zu steuern, für die es keinen Shortcut gibt und die ansonsten nur via Bilderkennung kontrolliert werden könnten, bin ich auf Adobe CEP gestoßen.

Adobe CEP ist die Erweiterungsplattform für Adobe Produkte, z.B. Adobe Premiere CC. Mit Hilfe von Webtechnologien wie HTML und Javascript können so Funktionen und eigene GUIs programmiert werden, die direkt auf die Adobe API zugreifen können, ohne den AHK-Umweg über simulierte Shortcuts oder Mausklicks zu gehen.

Das funktioniert... so halbwegs. Die Javascript-Version ist seit Jahren veraltet und die zur Verfügung gestellte Schnittstelle seitens Adobe ist überaus unvollständig. Viele elementare Funktionen wie das Beschleunigen eines Videoclips oder das Setzen der Farbe eines Markers werden nicht unterstützt. Aber: Trotz allem hatte ich vollständigen Zugriff auf die Timeline, alle Elemente eines Projekts und konnte diese auch modifizieren. In Verbindung mit inoffiziellen Methoden der internen Entwicklung von Adobe (dem QE-DOM, Quality-Engeneering-Document-Object-Model), lassen sich schon mit wenigen Zeilen Code, eigene Funktionen in Premiere schreiben.

Auch wenn die Entwicklung oft an trivialen Problemen (und meiner Unwissenheit in Javascript) hängt, konnte ich dennoch viele nützliche Funktionen direkt in Premiere umsetzen. Hierzu zählt das Sperren von Video und Audio-Spuren, das Einfügen von Clips und Ändern von Effektparametern.

Um den Workflow von Autohotkey und Premiere weiter zu verbessern, habe ich im Anschluss ein Framework für die Kommunikation zwischen beiden Welten entwickelt. Mit Hilfe von AHK2PremiereCEP (Open Source) ist es möglich, selbst geschriebene Javascript-Funktionen direkt auf eine REST-ähnliche Schnittstelle abzubilden, die mit nur einer Zeile Code mittels Autohotkey aufgerufen werden kann.

Um beim Beispiel Video/Audio-Spuren sperren zu bleiben: Ohne diese Technik benötigte man Bilderkennung inkl. nerviger und systemabhängiger Einrichtungsarbeit - und selbst dann hatte man keine Garantie, ob und wann dieser Ansatz durch eine simple Änderung der Umgebung nicht mehr funktionieren würde. Mit Hilfe meines Frameworks sind es gerade mal 10 Zeilen Code. 10 Zeilen Code, von denen ausgegangen werden kann, dass sie auch morgen noch funktionieren. Skalierbarkeit.

Ausblick

Aktuell entwickle ich mein Framework mit neuen, hilfreichen Funktionen weiter. Die Arbeit ist manchmal nervtötend, meist aber recht spannend. Die intenstive Beschäftigung mit den Internals von Premiere bringt viele neue Erkenntnisse mit sich. Ein Beispiel: Ich habe aufgehört, das Marker-Feature von Premiere zu nutzen. Statt dessen nutze ich transparente Objekte wie Einstellungsebenen auf dem Top-Video-Layer. Mehr Farben, einfachere Benennung und vor allem: So viel weniger Bugs, Fehler und Probleme, die Premiere aktuell mit nativen Markern hat...

Mein nächster Schritt ist es, weitere grundlegende Funktionen zu Premiere hinzuzufügen. Anschließend möchte ich anfangen, meinem Traum der Automatisierung weiter nachzugehen. Mit dem Wissen, was ich mittlerweile angesammelt habe, sollte es möglich sein den Schnitt komplett zu automatisieren. Benötigt werden hierfür nur die Sammlung von Metadaten während der Aufnahme (z.B. durch einen NodeJS-Server mit AHK oder Electron) und die anschließende Interpretation dieser in Premiere. Weder Autohotkey noch Adobe CEP alleine sind hierfür mächtig genug - erst die Kombination aus beiden gibt mir diese Möglichkeit.

Im letzten Schritt möchte ich ein Overlay, ähnlich zur Search Action (Strg+Shift+A) Funktionalität der JetBrains-Produkte wie IntelliJ Idea, hinzufügen. Ohne mich im Detail damit beschäftigt zu haben, bin ich der Meinung, dass man damit sogar eine zusätzliche Shortcut-Tastatur ersetzen könnte, bei noch besserem und schnellerem Workflow. Man darf also gespannt bleiben...

Wenn ihr euch für die weitere Entwicklung interessiert, folgt mir auf Twitter oder schaut euch mein aktuelles GitHub-Repo an. Ebenfalls wird der Fortschritt unregelmäßig auf diesem Blog und regelmäßig in Twitch-Streams voran getrieben und dokumentiert. Bis bald!

PS: Wie oft habe ich in dem Post das Wort "mächtig" verwendet? Auch wenn es zutreffend ist, sollte ich mich dennoch eventuell mal nach Synonymen umschauen...

Sort:  

du willst ein Synonym für ein Wort welches du nur 4 mal verwendet hast? Wenn das dein geringstes Problem ist schneiden sich die Videos ja schon quasi allein

Congratulations @skate702! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

Click here to view your Board

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @skate702! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!