Ich habe mir das jetzt mal durchgelesen und als CMD Datei klappt das ganze auch.
Das problem ist jetzt mit PHP.
Wenn ich in den After Effects Einstellungen das Output Template "Lossless" auf H.264 (mp4) stelle, nimmt CMD auch H.264 und rendert das Video in mp4.
Wenn ich genau den selben Befehl per exec(); bei PHP (Einen zusammengebastelten Webserver Apache2.4 und PHP7.2 bei Windows), werden meine normalen Einstellungen für das Template "Lossless" ignoriert und das Video wird in .avi erstellt (nimmt zu viele Gigabyte weg)
Also
Ich rufe das über CMD auf:
"E:\Program Files\Adobe\Adobe After Effects CC\Support Files\aerender.exe" -project C:\Users\tomas\Desktop\file12.aep -comp main -output C:\Users\tomas\Desktop\video_aerender.mp4 -log C:\Users\tomas\Desktop\htdocs\log.log
Anschließend wird die Datei video_aerender.mp4 auf meinem Desktop erstellt.
Inhalt danach der Datei log.log:
PROGRESS: Adding specified comp to Render Queue
PROGRESS: 15. Okt. 2018 22:48:11: Starting composition “main”.
PROGRESS: Render Settings: Best Settings
PROGRESS: Quality: Best
PROGRESS: Resolution: Full
PROGRESS: Size: 1920 x 1080
PROGRESS: Proxy Use: Use No Proxies
PROGRESS: Effects: Current Settings
PROGRESS: Disk Cache: Read Only
PROGRESS: Color Depth: Current Settings
PROGRESS: Frame Blending: On for Checked Layers
PROGRESS: Field Render: Off
PROGRESS: Pulldown: Off
PROGRESS: Motion Blur: On for Checked Layers
PROGRESS: Solos: Current Settings
PROGRESS: Time Span: Work Area
PROGRESS: Start: 0:01:02:01
PROGRESS: End: 0:01:02:23
PROGRESS: Duration: 0:00:00:23
PROGRESS: Frame Rate: 29,97 (comp)
PROGRESS: Guide Layers: All Off
PROGRESS: Skip Existing Files: Off
PROGRESS:
PROGRESS: Output Module:Lossless
PROGRESS: Output To:C:\Users\tomas\Desktop\video_aerender.mp4
PROGRESS: Format: H.264
PROGRESS: Output Info: MainConcept H.264 Video
PROGRESS: Output Info:
Bitrate: 6,00 Mbps
PROGRESS: Include: Project Link
PROGRESS: Output Audio: 48.000 kHz / Stereo (if comp has audio)
PROGRESS: Channels: RGB
PROGRESS: Depth: Millions of Colors
PROGRESS: Color: Premultiplied
PROGRESS: Resize: -
PROGRESS: Crop: -
PROGRESS: Final Size: 1920 x 1080
PROGRESS: Profile: -
PROGRESS: Post-Render Action: None
PROGRESS:
PROGRESS: 0:01:02:01 (1): 0 Seconds
PROGRESS: 0:01:02:02 (2): 0 Seconds
[i]usw.....[/i]
PROGRESS: 0:01:02:23 (23): 0 Seconds
PROGRESS: 0:01:02:23 (23): 0 Seconds
PROGRESS: 15. Okt. 2018 22:48:21: Finished composition “main”.
PROGRESS: Total Time Elapsed: 10 Seconds
_______________________
Jetzt rufe ich die index.php auf meinem Apache/PHP(Windows)-Server über localhost auf:
Ich rufe über PHP auf:
<?php
exec('"E:\Program Files\Adobe\Adobe After Effects CC\Support Files\aerender.exe" -project C:\Users\tomas\Desktop\file12.aep -comp main -output C:\Users\tomas\Desktop\video_aerender.mp4 -log C:\Users\tomas\Desktop\htdocs\log.log');
Anders als bei dem aufruf über CMD, wird über das von After effects Voreingestellte (was ich ja eigentlich geändert habe), über AVI gerendert und die Datei video_aerender.avi auf dem Desktop erstellt
Inhalt danach der Datei log.log:
PROGRESS: Adding specified comp to Render Queue
PROGRESS: 15.10.2018 22:43:29: Starting composition “main”.
PROGRESS: Render Settings: Best Settings
PROGRESS: Quality: Best
PROGRESS: Resolution: Full
PROGRESS: Size: 1920 x 1080
PROGRESS: Proxy Use: Use No Proxies
PROGRESS: Effects: Current Settings
PROGRESS: Disk Cache: Read Only
PROGRESS: Color Depth: Current Settings
PROGRESS: Frame Blending: On for Checked Layers
PROGRESS: Field Render: Off
PROGRESS: Pulldown: Off
PROGRESS: Motion Blur: On for Checked Layers
PROGRESS: Solos: Current Settings
PROGRESS: Time Span: Work Area
PROGRESS: Start: 0:01:02:01
PROGRESS: End: 0:01:02:23
PROGRESS: Duration: 0:00:00:23
PROGRESS: Frame Rate: 29,97 (comp)
PROGRESS: Guide Layers: All Off
PROGRESS: Skip Existing Files: Off
PROGRESS:
PROGRESS: Output Module:Lossless
PROGRESS: Output To:C:\Users\tomas\Desktop\video_aerender.avi
PROGRESS: Format: AVI
PROGRESS: Output Info: None
PROGRESS: Include: Project Link
PROGRESS: Output Audio: 48.000 kHz / 16 bit / Stereo (if comp has audio)
PROGRESS: Channels: RGB
PROGRESS: Depth: Millions of Colors
PROGRESS: Color: Premultiplied
PROGRESS: Resize: -
PROGRESS: Crop: -
PROGRESS: Final Size: 1920 x 1080
PROGRESS: Profile: -
PROGRESS: Post-Render Action: None
PROGRESS:
PROGRESS: 0:01:02:01 (1): 0 Seconds
PROGRESS: 0:01:02:02 (2): 0 Seconds
[i]usw.....[/i]
PROGRESS: 0:01:02:23 (23): 0 Seconds
PROGRESS: 0:01:02:23 (23): 0 Seconds
PROGRESS: 15.10.2018 22:43:40: Finished composition “main”.
PROGRESS: Total Time Elapsed: 11 Seconds
Ich verstehe einfach nicht wieso das so komisch interpretiert wird...
Ich habe in den
Edit > Templates > Output module... wie man hier sieht eindeutig als Format
H.264 ausgewählt
Wenn ich Beispielsweise bei PHP (der exec();) den Parameter
–OMtemplate test
bzw.:
<?php
exec('"E:\Program Files\Adobe\Adobe After Effects CC\Support Files\aerender.exe" -project C:\Users\tomas\Desktop\file12.aep -comp main –OMtemplate test -output C:\Users\tomas\Desktop\video_aerender.mp4 -log C:\Users\tomas\Desktop\htdocs\log.log');
verwende und vorher ein neues Output Modul mit H.264 erstellt habe, nimmt er bei PHP (im Gegensatz zu CMD) dies nicht an, also sagt, dass ein solches Template nicht gefunden wurde.
Es scheint irgendwie so, als wenn, alle Abfragen die über php bzw. nicht über die Konsole direkt gemacht werden, dass bei denen die Usereinstellungen ignoriert werden und einfach das genommen wird was in den Grundeinstellungen steht.
Wie bekomme ich es hin, dass wenn ich die Abfrage über PHP mache, dass ich dann auch eine .mp4 Datei bekomme?
Zur not würde es auch gehen, dass über PHP einfach ein Programm gestartet wird, dass im Hintergrund läuft und das diesen Befehl direkt über CMD ausführt, das ist aber nur die Absolute Notlösung, weil ich in Zukunft, die einzelnen Parameter mit PHP ändern wollte, also halt interaktiv