尽管 CRF 较低,FFmpeg 仍会降低视频质量

尽管 CRF 较低,FFmpeg 仍会降低视频质量

我一直在尝试对一组视频进行编码,我必须从一开始就删除不必要的徽标并减小文件大小。我使用 FFmpeg 在视频开始后大约 6.2 秒或 186 帧处开始。完成后,我看到了似乎表示隔行扫描的水平线,因此我尝试将其添加-vf yadif到我的 bash 脚本中。这是我的编码脚本:

if [[ $PWD = *"show_name"* ]]; then
    for i in {1..7}; 
        do ffmpeg -ss 6.2 -i "./show name - s2e$i.mkv" -c:v libx264 -preset slow -crf 16 -vf yadif -c:a copy "/blah/blah/show name - s2e$i.mkv";
    done
fi

剧本完成后,我得到的视频看起来勉强还好考虑到它应该是“视觉无损的”。以下是一些视觉示例。

图像比较

顶部图像是原始媒体。底部图像是新的编码媒体。请注意浅色阴影区域周围的高错误像素水平。这是隔行扫描滤镜的结果吗?我如何提高图像质量?我真正想做的就是从剪辑的开头删除几秒钟。

最初,当我使用-c copyffmpeg 设置时,它会直接复制媒体,这似乎导致播放器跳过媒体中的前几十帧,因为我认为它没有关键帧可以继续(?)。这是有关原始视频文件的 MediaInfo 视频信息。

如何在保持视频文件原始质量的同时删除每个片段的前 6.2 秒或 186 帧?

答案1

在 Handbrake 中启用 detelecine 过滤器似乎可以完全解决该问题。

相关内容