在ffmpeg制作绿色屏幕背景

时间:2016-05-01 02:36:08

标签: video ffmpeg

我试图制作一个绿色屏幕背景,我可以使用它覆盖其他东西。我使用this answer中的信息并使用以下命令:

ffmpeg -f lavfi -i color=color=green -s 1920x1080 -t 3600 -r 60 small_green.mp4

然而,当我在Quicktime中打开它时,检查员窗口似乎在说它实际上是1440x1080而不是1920x1080。

enter image description here

当我把它带入VLC时,似乎是在说它是1920x1090 enter image description here

ffprobe似乎在说它是1920x1080:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'small_green.mp4':   Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.36.100   Duration: 01:00:00.00, start: 0.000000, bitrate: 40 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 3:4 DAR 4:3], 34 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default)
    Metadata:
      handler_name    : VideoHandler

当我将其带入Garmin VIRB Edit时,它会报告它是1440x1080。那么如何让ffmpeg吐出真正高清1920x1080分辨率的视频?

1 个答案:

答案 0 :(得分:2)

FFmpeg源过滤器具有输出的默认大小(如果未指定)。在彩色滤光片的情况下,它是320x240。您的scale参数会将滤镜的输出大小调整为1920x1080,但ffmpeg认为您希望保留源宽高比,在本例中为4:3,这是它写入文件的显示宽高比。具有4:3比例的1920x1080视频实际上是1440x1080,这是QT报道的。

您需要直接在颜色内设置尺寸(或者之后设置正确的纵横比)。

ffmpeg -f lavfi -i color=color=green:s=1920x1080 -t 3600 -r 60 small_green.mp4