ffmpeg mpeg2 到 MP4 H264 在运动场景中产生水平线伪影

Fit*_*erd 7 video ffmpeg ghost-image video-conversion

我的视频输入是 mpeg2 视频文件,如下所示:

Video: MPEG2 Video 720x576 (4:3) 25fps [V: mpeg2 main, yuv420p, 720x576]
Audio: MPEG Audio 48000Hz stereo 224kbps [A: mp2, 48000 Hz, stereo, 224 kb/s]
Run Code Online (Sandbox Code Playgroud)

然后我使用:

ffmpeg.exe -i in.mpg -b:v 3000k -preset superfast out.mp4
Run Code Online (Sandbox Code Playgroud)

获取 MP4:

Video: MPEG4 Video (H264) 720x576 (4:3) 25fps 2967kbps [V: h264 high L3.0, yuv420p, 720x576, 2967 kb/s]
Audio: AAC 48000Hz stereo 128kbps [A: SoundHandler (aac lc, 48000 Hz, stereo, 128 kb/s)]
Run Code Online (Sandbox Code Playgroud)

一切都很好,除了我在运动场景中得到这样的东西:

在此处输入图片说明

在实际的源码中,并没有这样的东西。在源代码中,没有中间帧或重影——只是“离散”步骤。

我尝试了其他预设以及 libxvid 等其他编解码器,但都产生了相同的结果。

那么,我应该如何修复它?我应该添加哪些参数或调整哪些设置?

sza*_*ary 10

您隔行扫描的输入源。最好的办法是使用 ffmpeg 过滤器进行去隔行,例如-vf yadif=1. 有关更多信息,请参阅yadif 文档