【问题标题】:FFmpeg film grainFFmpeg 胶片颗粒
【发布时间】:2018-07-27 00:50:30
【问题描述】:

如果可能,我想使用 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 命令行以使颗粒过滤器起作用?另外,我也可以添加一点模糊吗?旧的 16 毫米看起来更像是模糊而不是颗粒状。

感谢任何提示。

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    我只需要制作胶片颗粒,并且想要一些“更整洁”的东西,而不是仅仅随机化每个像素。这是我想出的:FFmpeg film grain

    从白噪声开始:

    然后它使用“deflate”和“dilation”过滤器使某些特征扩展到多个像素:

    效果非常微妙,但您可以看到噪点中有一些较大的白色和黑色“斑点”。这意味着噪声的特征不再只是直接的单个像素。然后,该图像的分辨率减半,因为它以两倍于目标视频的分辨率进行渲染。

    现在最高分辨率的细节被柔化了,像素块的大小减小到 1-2 个像素。所以,这是噪声平面。

    然后,我获取源视频并对其进行一些处理。

    去饱和:

    过滤亮度,使输入像素越接近亮度级别 75(实验达到),像素越亮。如果输入像素更暗或更亮,则输出像素会更暗。这会创建亮度级别接近 75 的“亮度带”。

    然后按比例缩小,这就是“调整”噪音水平的地方。这种波段选择意味着我们将专门在帧中最容易注意到的区域添加噪声。不在其他区域添加噪声会留下更多位来对噪声进行编码。

    然后将此缩放的掩码应用于先前计算的噪声。在此屏幕截图中,我移除了调整,以便轻松看到噪声:

    没有被带状滤波器选中的区域被大大缩小,基本上是黑色的;噪音变化消失。

    这是比例因子为 0.32 时的样子——非常微妙:

    然后我反转这张图片,让没有噪点的部分是纯白色,然后有噪点的区域从白色稍微拉低:

    最后,我拉取同一源视频的另一个副本,将这个计算得到的图像作为 Alpha 通道应用到它上面,并将其覆盖在黑色上,这样白色稍微少一点的胶片颗粒点就会变成稍微更暗的像素。

    效果非常微妙,静止不动时很难看到,但如果你将噪点调高,你可以得到这样的帧:

    【讨论】:

      【解决方案2】:

      过滤器"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 上的过滤器文档以获取说明和您可以调整的参数列表。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-06
        • 2016-05-28
        • 1970-01-01
        • 1970-01-01
        • 2017-07-29
        • 2020-04-07
        • 2016-06-14
        相关资源
        最近更新 更多