【问题标题】:Default Pixel Format For FFMPEG For Encoding an Image Stack To MovieFFMPEG 的默认像素格式,用于将图像堆栈编码为电影
【发布时间】:2017-09-11 20:40:26
【问题描述】:

如果使用 libx264 使用 libx264 编码 h.264 视频,使用 FFMPEG 将一堆图像转换为 .mp4,并且在调用 FFMPEG 时没有指定像素格式,那么 YUVJ420 是默认像素格式吗?我一直在做一些实验,得到的结果与我为我的格式指定 YUVJ420 与我没有指定格式时相同。

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    输出像素格式取决于输入像素格式、使用的编码器以及您是否正在执行任何过滤。

    根据ffmpeg -h encoder=libx264,此编码器支持以下像素格式:yuv420p yuvj420p yuv422p yuvj422p yuv444p yuvj444p nv12 nv16 nv21。

    默认情况下,ffmpeg 会自动将像素格式转换为支持的格式之一:以最类似于源像素格式的格式。您可以使用-loglevel debug 增加控制台输出的详细程度以更详细地查看它。来自 rgb24 输入的示例:

    [format @ 0x55657882d6e0] compat: called with args=[yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16|nv21]
    [format @ 0x55657882d6e0] Setting 'pix_fmts' to value 'yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16|nv21'
    [format @ 0x55657882d6e0] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format'
    [auto_scaler_0 @ 0x55657882eb00] picking yuv444p out of 8 ref:rgb24 alpha:0
    [auto_scaler_0 @ 0x55657882eb00] w:320 h:240 fmt:rgb24 sar:1/1 -> w:320 h:240 fmt:yuv444p sar:1/1 flags:0x4
    

    强制输出像素格式的示例:-vf format=yuv420p-pix_fmt yuv420p

    【讨论】:

    • 感谢您的解释!这是有道理的,默认值与我的图像的编码方式有关。
    猜你喜欢
    • 2011-02-24
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 2019-12-04
    • 2018-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多