和光大讨论AEP屎山问题,讨论到了一个问题,AEP经过多版本迭代后,即使删除项目里的所有文件文件的空工程也会异常的大.
这不管对于文件传输还是项目迭代都是一个非常困扰的问题.关键是这个屎山居然是可以继承的,在空工程拖入一个屎山工程,即使删除后文件的大小也不会恢复如初
虽然不期盼能解决它,但至少希望搞清楚一下缘由
–本文章为边拆解边随笔笔记的产物,因此可能有诸多废话
新建一个工程,创建一个文件夹后删除并保存,当前文件大小为8.5kb
再新建一个合成并删除,当前文件大小为9kb
非常神奇的在于,短短两步操作就增加了0.5kb的占用大小
直接比较一下文件,先看明文部分,会发现这字节占用并非无中生有的,而是实打实的因此而增加了xml数据在里面
二进制部分只有个位数的不连续字节的变动并且是非增量的改动,因此暂且略过
单纯的新建[合成1]并删除已经无法再让数据增量了,下面测试新建多个不同的合成
1.新建了10个同样配置的合成,因为实际数据增加了所以工程直接涨到了447k,然后再将他们删除,数据又恢复到了9.01k,说明问题并不是单纯的历史记录
2.新建了10个不同配置的合成,结果同上
3.把内置的新建图层的全试了一次,结果同上
4.新建几个工程然后套娃进去,结果仍然同上,说明问题并不是新工程的问题
5.导入图片,结果同上,不过不确定是否是图片比较“干净”
6.导入PSD,终于发生了变化,数据中出现了极其大量的CPPL数据,仅靠二进制部分的变化让文件足足增长了6.5KB
数据源头反正在这是清楚了,直接来进行一波风险操作
打开今天聊天用到的这个25MB却只有一点点东西的工程,另存为aep为aepx(50mb),并直接vscode中删除这9K行的cppl数据,删除后工程仅剩下1.5mb(这还是因为aepx格式本身储存空间比较大)
搞笑的是,完全不影响工程重新打开,虽然报了一个错误
不过xml貌似是不能直接另存回aep来着?虽然绕一下转版本或者在新建工程里导入就行?
另存为后的aep仅有700+kb
既然测试工程能过那么再来波风险操作,开一个正儿八经做过的片子而不是测试用的屎山
正常流程过了一遍的项目确实东西多,光找到cppl目录就要到144662行才能找到,不过这个片子我没导过任何工程,只是有少量的包X网素材和blender渲染素材和两个画师的PSD文件,因此实际上冗余的数据也就只有500行不到
搞笑的是这次连报错都没报
问题有解决方案,虽然有风险,原理不明,猜测是PS带来的元数据,但不知道为什么图片的元数据带不过来,天晚了,明天再研究
xml我熟啊,到时候我去写脚本处理一下
不用,搞清楚源头就好找了,有开源github项目,C++写的,晚点另发文章说一下
https://cg-method.com/aftereffects-delete-cppl/