绿色和黄色ffmpeg伪像的原因是什么?

时间:2018-07-16 21:40:28

标签: ffmpeg x264 libx264

我正在尝试使用ffmpeg将一系列图像帧转换为视频。对于某些图像系列,我得到了一个奇怪的黄/绿色伪像,并且不确定转换中的哪些设置会导致伪像或修复该伪像的最佳方法。

我用于转换的命令是

ffmpeg -f concat -safe 0 -i inputs.txt -c:v libx264 -pix_fmt yuv420p -r 10 -vf "scale=1024:-2" -movflags +faststart video.mp4

可重现的示例包含三个图像文件和一个关联的inputs.txt文件,指示文件和关联的持续时间here (Dropbox link)

这是结果工件

enter image description here

和输出的GIF

enter image description here

什么设置可能导致此伪像,我该怎么做才能尝试减少/删除视频中的伪像?我尝试过的两个版本的ffmpeg都会发生这种情况:

ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma

ffmpeg version 3.1-tessus Copyright (c) 2000-2016 the FFmpeg developers
  built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
  configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --as=yasm --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-version3 --disable-ffplay --disable-indev=qtkit --disable-indev=x11grab_xcb

任何见识都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

您的第一个输入是灰度1位,因此我认为这不符合swscale色度插值例程。缩放前先转换为RGBA。

-vf "format=rgba,scale=1024:-2"