update readme and example project

This commit is contained in:
ChrisD 2024-11-19 17:20:23 +01:00
parent 2dfd354792
commit 718f981618
5 changed files with 5216 additions and 29 deletions

View file

@ -8,12 +8,12 @@ Yes! That's what I want!
------------------------
Okay, let's go.
- Install Adobe After Effects CC 2018
- Install Adobe After Effects 2025
- Install python3, python3-lxml, python3-cssutils (or use virtualenv, see below), inkscape and libav-tools
- Fork this repo on github and clone your personal fork to your local system.
- Copy one of the existing setup: voc_ae
- Open `intro.aep` and modify it. You can also create a new project. For the VOC-Setup you should use a Pixel-Resolution of `1920×1080` (or for the legacy SD/.dv-Pipeline `1024×576`).
- If you create a new project, name it `intro.aep` and also copy `intro.jsx` and `intro.scpt` into the same folder.
- Open `intro.aepx` and modify it. You can also create a new project. For the VOC-Setup you should use a Pixel-Resolution of `1920×1080` (or for the legacy SD/.dv-Pipeline `1024×576`).
- If you create a new project, name it `intro.aepx` and also copy `intro.jsx` into the same folder.
- Create a new composition and name it `intro`.
- Use Paragraph Text Layers. This way the text will automatically wrap inside the specified area if it gets too long.
- Type Placeholder-Texts where the script should substitute content from your schedule.xml. By default the following placeholders are substituted
@ -31,14 +31,14 @@ Okay, let's go.
- The template included with this repo only replaces `intro_title` and `intro_personnames`
- Just copy/paste the 2x blocks required, and change the variables, to also use it for the other placeholders.
- Run `./make-adobe-after-effects.py yourproject/ --debug` to generate your first intro
- if everything look like you'd want them to, run `./make-adobe-after-effects.py yourproject/ `.
- if everything look like you'd want them to, run `./make-adobe-after-effects.py yourproject/ {schedule} `.
#### Python3 virtualenv
Create virtualenv and fetch python deps:
```
$ virtualenv -p python3 env
$ python3 -m venv env
$ . ./env/bin/activate
$ pip3 install -r requirements.txt
```
@ -88,13 +88,13 @@ optional arguments:
How does it work
--------------------
There are 3x files required to make the render work `intro.aep`, `intro.jsx` and `intro.scpt`.
`make-adobe-after-effects.py` will run the `intro.scpt` script with `intro.aep` and `intro.jsx` as arguments.
Once done, the project file will be passed to aerender to create an intermediate <id>.mov file.
There are two files required to make the render work `intro.aep`, `intro.jsx`.
`make-adobe-after-effects.py` will run `intro.aepx` with `intro.jsx` as argument.
Once done, the project file will be passed to aerender to create an intermediate <id>.mov file. Make sure you set .mov as a default in After Effects.
Final step is to convert the <id>.mov to <id>.ts
Here are some details about the files and what they are for.
### intro.aep
### intro.aepx
This is the After Effects project file. It has to have the following items included:
- Composition named `intro`
- Paragraph text layers named `intro_<placeholder>` for each of the supported placeholder
@ -103,8 +103,14 @@ This is the After Effects project file. It has to have the following items inclu
This is an After Effects Script file doing the text replacement of the placeholder texts.
````
var comp = app.project.item(2);
app.open(new File("$filename"));
var comp;
for (var i = 1; i <= app.project.numItems; i ++) {
if ((app.project.item(i) instanceof CompItem) && (app.project.item(i).name === 'intro')) {
comp = app.project.item(i);
break;
}
}
var layer_title = comp.layer('intro_title');
var textProp_title = layer_title.property("Source Text");
var textDocument_title = textProp_title.value;
@ -119,7 +125,7 @@ textProp_title.setValue(textDocument_title);
textDocument_persons.text = "$personnames";
textProp_persons.setValue(textDocument_persons);
app.project.save();
app.project.close(CloseOptions.SAVE_CHANGES);
````
To add an additional block to replace another placeholder, copy the following:
@ -134,21 +140,6 @@ textProp_<placeholder>.setValue(textDocument_<placeholder>);
Make sure that the correct layer has been added to the AE project file, otherwise the script will fail.
### intro.scpt
This is an Apple Script which will open AE with the project file, and run the AE script.
````
on run argv
set aefile to (POSIX file (item 1 of argv))
set aescript to (POSIX file (item 2 of argv))
tell application "Adobe After Effects CC 2018"
open aefile
DoScriptFile aescript
quit
end tell
end run
````
It works! It doesn't work!
--------------------------
If it works, push your code to github. This way everybody can see which beautiful animations you created and we can all learn from each other.

Binary file not shown.

5196
voc_ae/intro.aepx Normal file

File diff suppressed because one or more lines are too long

View file

@ -1,3 +1,4 @@
app.open(new File("$filename"));
var comp;
for (var i = 1; i <= app.project.numItems; i ++) {
if ((app.project.item(i) instanceof CompItem) && (app.project.item(i).name === 'intro')) {
@ -19,5 +20,4 @@ textProp_title.setValue(textDocument_title);
textDocument_persons.text = "$personnames";
textProp_persons.setValue(textDocument_persons);
app.project.save();
app.quit();
app.project.close(CloseOptions.SAVE_CHANGES);

Binary file not shown.