Copy link to clipboard
Copied
Let it be know that I know the bare minimum of AE, in only started to explore it when I learned that it can Import my repetitive work, which is replacing text. In my PP i make new video's on a daily basis and I need to update about 160 text fields.
Now thank this this great video tutorial:
https://www.youtube.com/watch?v=yoXAmsjJoc4&t=283s
I know how to populate the text fields thought the CSV. I added a data-row slider as instructed and linked that to the text field.
Then I saved as .mogrt and imported in PP. Everything works perfectly as inteded! - as long as I stick to the original .csv data that was used in the AE file. When imported in PP it has a "drag-and-drop-insert-csv-field" to change the dataset, but whatever I do, It doesnt update the data. It stays linked to the original CSV data.
(in the video linked about you'll see people in the comments with the exact same issue)
Also tried some files somewhere from a Adobe repository that does exactly the same. Has a full PDF how to set it up (which i followed), icl. example files. Same issue persists.
I have been trial and erroring on this for days on and i'm in desperate need of help... I even tried it with importing it as AEP files instead, and that works! However because an AEP is NOT configurable in PP (e.g. changing row), you have to make all 160 fields as elements on the timeline. Which would be fine for me to setup, but after implementing around 40 of these blocks, it absolutely DESTROYS performance (opening the PP, previewing, rendering), so that seems unworkable.... (On a high end PC)
Any help, or even a template mogrt, i would be eternally gratefull!
You need to replace the filename and set the column and the row values correctly.
As you can see using footage() indexes start from 0
and using thisComp.layer() indexes start from 1
Copy link to clipboard
Copied
It seems you need to use :
column = 1;
row = 1;
thisComp.layer('test.csv')('ADBE Data Group')(2)(column)(row)
Copy link to clipboard
Copied
Thank you for taking the time to look into this!
This wat my current code/line:
footage("Import quiz vragen.csv").dataValue([2,1])
When I use yours, I should replace my own filename right?
column = 1;
row = 1;
thisComp.layer('Import quiz vragen.csv')('ADBE Data Group')(2)(column)(row)
Copy link to clipboard
Copied
You need to replace the filename and set the column and the row values correctly.
As you can see using footage() indexes start from 0
and using thisComp.layer() indexes start from 1
Copy link to clipboard
Copied
It worked brilliantly! Thank you so much, you're a lifesaver!
Im a 3rd way implementing it for my entire vid, and performance dropped, but not as much as with the .aep files. I hope it hold when i make the rest.
Copy link to clipboard
Copied
Dont want to spam this topic but I cant edit a previous reply..
I notice that when rendering/exporting my cpu averages at 25% and GPU at around 8%. My 32 GB ram almost constantly say 98%.
I have 32 gb of ram and normaly the same 8 min vids took 10/15 mins. I find it hard to believe that a CSV of a few bytes suddenly destroyes my 32 gb ram and 10 folds encoding time. Seems to me this is more a result of terrible coding in how PP/AE works, but maybe this memory indications could help to the solution?
Copy link to clipboard
Copied
Ran into a new issue unfortunately.
Exporting an 8 min video now takes 1 hour and 45 min instead of 10 minutes!
The mogrt is extremely basic even, no complex anymation. It's just colored text x 160 fields of 8 mins. Is thare a way to fix this?
Render and replace makes the replaced bit black, even in the export...
Copy link to clipboard
Copied
Wanted to add that manually doing these text inputs cost me 30-45 min. The extra render time is more than 1.5 hour... So this whole ordeal -which I invested ALOT of time in- is now a huge step backwards....
I hope this wasnt all done for nothing. 😞 Can't find any solutions online.
Copy link to clipboard
Copied
Try to use this script:
It should replace the text values with the expression value
and disable expressions.
Make sure your text layers have a yellow label.
Arno35261386af9w.jsx
var proj = app.project;
var thisComp = proj.activeItem;
app.beginUndoGroup("undo");
for (var i = 1; i <= thisComp.numLayers; i++) {
if (thisComp.layer(i) instanceof TextLayer && thisComp.layer(i).label == 2) {
thisComp.layer(i).text.sourceText.expressionEnabled = true;
thisComp.layer(i).text.sourceText.setValue(thisComp.layer(i).text.sourceText.value);
thisComp.layer(i).text.sourceText.expressionEnabled = false;
}
}
app.endUndoGroup();
Copy link to clipboard
Copied
Will test soon and let you know if it worked!