示例:播放

示例:播放

我的相机最近出了点问题,现在我的传感器芯片有四个坏点,分布在整个屏幕。(是的,它就是实际上审查员,我已经检查了四遍。这不是屏幕的问题。) 所以现在我的所有镜头上都有一些坏点。

如果重要的话,我的视频格式如下

Resolution: 1920x1090
Frame rate: 29.970030
Codec: H264 - MPEG-4 AVC (part 10) (avc1)
Decoded format: Planar 4:2:0 YUV full scale

是否有任何已知的方法可以去除它们?

(我正在考虑某种程序,我手动将坏点的位置传递给它,然后用周围像素的平均值替换它们。ffmpeg也许是某种过滤器?)

答案1

您可以使用delogo 过滤器使用ffmpegffplay。您无需重新编码,只需在播放时进行过滤即可:

在此处输入图片描述在此处输入图片描述
delogo 之前和之后。

示例:播放

ffplay -vf \
"delogo=x=10:y=120:w=1:h=1, \
 delogo=x=862:y=438:w=1:h=1, \
 delogo=x=56:y=207:w=1:h=1, \
 delogo=x=1259:y=943:w=1:h=1" \
input.mp4

示例:编码

ffmpeg -i input.mp4 -vf \
"delogo=x=10:y=120:w=1:h=1, \
 delogo=x=862:y=438:w=1:h=1, \
 delogo=x=56:y=207:w=1:h=1, \
 delogo=x=1259:y=943:w=1:h=1" \
-c:a copy cleaned-output.mp4
  • 结果可能会有所不同,而且我没有调查为什么 delogo 在我的例子中导致了轻微的褪色外观。

  • 您可以从视频中提取图像(ffmpeg -i input -ss 5 -vframes 1 output.png)并将其导入 GIMP 以查找像素 x,y 位置。

答案2

乍一看,我认为您可以使用avidemux“delogo”过滤器。尽管像素相距很远,但您需要多次运行,并且可能有更好的选择。

相关内容