create account

Workflow-Optimierung - Ein Update by skate702

View this thread on: hive.blogpeakd.comecency.com
· @skate702 ·
$0.03
Workflow-Optimierung - Ein Update
Drei Monate sind seit meinem letzen [Blog-Post](https://steemit.com/technology/@skate702/maximale-workflow-optimierung) 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](https://steemit.com/technology/@skate702/maximale-workflow-optimierung) 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](https://autohotkey.com/), eine mächtiges Programm inklusive eigener Programmiersprache für die Erstellung neuer Shortcuts. Ebenfalls erwähnt hatte ich den Macro-Experten [Taran Van Hermet](https://www.youtube.com/channel/UCd0ZD4iCXRXf18p3cA7EQfg) und die externe Controller-Hardware [Palette Gear](https://palettegear.com/). 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](https://www.youtube.com/watch?v=O6ERELse_QY) 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](https://twitter.com/skate702/status/1041424715791970304).

## Palette Gear

Parallel hierzu hatte ich angefangen mit Mitarbeitern von [Palette Gear](https://palettegear.com/) zu schreiben. Ergeben hatte sich dies aus meiner Einschätzung im letzten [Blog-Post](https://steemit.com/technology/@skate702/maximale-workflow-optimierung), 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](https://www.youtube.com/watch?v=zhuWVgfn_bM) 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](https://www.youtube.com/watch?v=zhuWVgfn_bM).

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](https://github.com/TaranVH/2nd-keyboard) 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](https://github.com/Adobe-CEP/CEP-Resources) 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](https://github.com/sebinside/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](https://twitter.com/skate702) oder schaut euch mein aktuelles [GitHub-Repo](https://github.com/sebinside/AHK2PremiereCEP) an. Ebenfalls wird der Fortschritt unregelmäßig auf diesem Blog und regelmäßig in [Twitch-Streams](https://www.twitch.tv/skate702) 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...
👍  , , , , , , , , , , , , , , , , , , , ,
properties (23)
authorskate702
permlinkworkflow-optimierung-ein-update
categorytechnology
json_metadata{"tags":["technology","deutsch","autohotkey","adobecep","premierecc"],"links":["https://steemit.com/technology/@skate702/maximale-workflow-optimierung","https://autohotkey.com/","https://www.youtube.com/channel/UCd0ZD4iCXRXf18p3cA7EQfg","https://palettegear.com/","https://www.youtube.com/watch?v=O6ERELse_QY","https://twitter.com/skate702/status/1041424715791970304","https://www.youtube.com/watch?v=zhuWVgfn_bM","https://github.com/TaranVH/2nd-keyboard","https://github.com/Adobe-CEP/CEP-Resources","https://github.com/sebinside/AHK2PremiereCEP","https://twitter.com/skate702","https://www.twitch.tv/skate702"],"app":"steemit/0.1","format":"markdown"}
created2018-10-27 09:49:36
last_update2018-10-27 09:49:36
depth0
children3
last_payout2018-11-03 09:49:36
cashout_time1969-12-31 23:59:59
total_payout_value0.024 HBD
curator_payout_value0.002 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length9,473
author_reputation15,524,238,545
root_title"Workflow-Optimierung - Ein Update"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id74,143,597
net_rshares28,053,358,104
author_curate_reward""
vote details (21)
@blockschrott ·
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
👍  
properties (23)
authorblockschrott
permlinkre-skate702-workflow-optimierung-ein-update-20181027t194558047z
categorytechnology
json_metadata{"tags":["technology"],"app":"steemit/0.1"}
created2018-10-27 19:46:00
last_update2018-10-27 19:46:00
depth1
children0
last_payout2018-11-03 19:46:00
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length157
author_reputation548,804,892
root_title"Workflow-Optimierung - Ein Update"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id74,172,557
net_rshares559,089,358
author_curate_reward""
vote details (1)
@steemitboard ·
Congratulations @skate702! You received a personal award!

<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@skate702/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>

<sub>_[Click here to view your Board](https://steemitboard.com/@skate702)_</sub>


> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
properties (22)
authorsteemitboard
permlinksteemitboard-notify-skate702-20190124t131405000z
categorytechnology
json_metadata{"image":["https://steemitboard.com/img/notify.png"]}
created2019-01-24 13:14:06
last_update2019-01-24 13:14:06
depth1
children0
last_payout2019-01-31 13:14:06
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length537
author_reputation38,975,615,169,260
root_title"Workflow-Optimierung - Ein Update"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id78,869,180
net_rshares0
@steemitboard ·
Congratulations @skate702! You received a personal award!

<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@skate702/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>

<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@skate702) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=skate702)_</sub>


###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
properties (22)
authorsteemitboard
permlinksteemitboard-notify-skate702-20200124t131624000z
categorytechnology
json_metadata{"image":["https://steemitboard.com/img/notify.png"]}
created2020-01-24 13:16:24
last_update2020-01-24 13:16:24
depth1
children0
last_payout2020-01-31 13:16:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length620
author_reputation38,975,615,169,260
root_title"Workflow-Optimierung - Ein Update"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,721,926
net_rshares0