我有一个包含 30 个数值列表的文本文件,我正在以 30fps 制作 1 秒的视频。
# values.txt
0 0.1 0.6 0.8 1.0 ... <= 30 values
我怎样才能在均衡器过滤器等中使用这些每帧的值?
类似于读取数组然后使用当前帧号从数组中获取一个值:
# pseudo FFMPEG code
values=$(cat values.txt)
arr=($values)
ffmpeg -i in.mp4 -filter-complex eq=brightness=${arr}[n]:eval=frame out.mp4
答案1
您可以使用表单的元素eq(N\,frame#)*value
并将它们添加在一起。
对于三帧来说
eq=brightness=eq(N\,0)*0+eq(N\,1)*0.1+eq(N\,2)*0.6:eval=frame