我尝试使用After Effects和FFMPEG设置自动每帧渲染系统。这里的想法是我的从属节点(运行AE)将生成帧并立即将它们保存到Samba共享(这样我可以将多个从属组合在一起以处理相同的项目文件,我们不会写入8GB AVI文件,然后压缩并删除它,当我们只能渲染300MB的帧并形成它时。
数据库和Samba共享在FreeBSD上运行。然后,本机将采用这些帧并使用FFMPEG将它们组合成MP4视频。
我遇到的问题是,当我将After Effects项目文件直接渲染到AVI文件(一个从属,没有单独的帧渲染)时,视频长度为1:31。当我将完全相同的项目文件渲染到单个帧中时,然后通过FFMPEG运行它来组合并压缩它们,输出为1:49。
我已经尝试了十亿种不同的东西来使视频的长度相同,但似乎无法做到:/
aerender.exe -mp -project%PROJECTFILE%-comp%COMPOSITION%-output [########]。jpg
^请记住,可能有99999999个框架,或者只需要渲染1个框架(如果我们因资产变化而需要重新渲染特定部分)
ffmpeg -nostdin -i%FRAMELOCATION%-c:v libx264 -preset veryfast -an -y outputVideo.mp4
答案 0 :(得分:1)
FFmpeg假设图像序列的帧率为25。
将预期持续时间与获得的持续时间进行比较,看起来应该将图像解释为30 fps。
使用
ffmpeg -nostdin -framerate 30 -i %FRAMELOCATION% -c:v libx264 -preset veryfast -an -y outputVideo.mp4
检查AE comp设置以了解实际费率。如果是29.97,请使用-framerate 30000/1001