如果可能,我想使用 FFMPEG 添加胶片颗粒效果。
采用干净的计算机渲染场景和过滤器,以获得坚韧的黑白 16 毫米胶片外观。例如文员 https://www.youtube.com/watch?v=Mlfn5n-E2WE
根据Simulating TV noise应该可以使用下面的过滤器
-filter_complex "geq=random(1)*255:128:128;aevalsrc=-2+random(0)"
但是当我将它添加到我的 ffmpeg 命令时
ffmpeg.exe -framerate 30 -i XYZ%05d.PNG -vf format=yuv420p -dst_range 1 -color_range 2 -c:v libxvid -vtag xvid -q:v 1 -y OUTPUT.AVI
所以命令是现在
ffmpeg.exe -framerate 30 -i XYZ%05d.PNG -vf format=yuv420p -dst_range 1 -color_range 2 -c:v libxvid -vtag xvid -q:v 1 -y -filter_complex "geq=random(1)*255:128:128;aevalsrc=-2+random(0)" OUTPUT.AVI
我收到消息
Filtergraph 'format=yuv420p' 是通过 -vf/-af/-filter 选项为输出流 0:0 指定的,它是从复杂的 filtergraph 馈送的。
-vf/-af/-filter 和 -filter_complex 不能一起用于同一个流。
如何更改我的 ffmpeg 命令行以使颗粒过滤器起作用?另外,我也可以添加一点模糊吗?旧的 16mm 看起来更像是模糊而不是颗粒状。
感谢您的任何提示。
最佳答案
过滤器 "geq=random(1)*255:128:128;aevalsrc=-2+random(0)"
用于白噪声
对于“坚韧的黑白 16 毫米胶片外观”,您需要类似的东西,
-vf hue=s=0,boxblur=lr=1.2,noise=c0s=7:allf=t
format
您指定的是一个过滤器,并且应用于输入的所有过滤器都应在单个链中指定,因此应该是,-vf hue=s=0,boxblur=lr=1.2,noise=c0s=7:allf=t,format=yuv420p
请参阅 https://ffmpeg.org/ffmpeg-filters.html 上的过滤器文档有关您可以调整的描述和参数列表。
关于FFmpeg 胶片颗粒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48821220/