如何使用 ffmpeg 仅更改像素格式?

How can I change only the pixel format with ffmpeg?

我有一个 422 像素格式的 prores 编码文件,我想将其转换为 420 子采样等,以查看文件大小如何变化。但似乎除了默认的像素格式外,没有其他像素格式兼容。这是媒体信息:

Duration: 00:00:20.02, start: 0.000000, bitrate: 253084 kb/s
    Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le(bt709), 2048x1152, 200717 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 23976 tbn, 23976 tbc (default)
    Metadata:
      creation_time   : 2015-10-13 14:41:12
      handler_name    : Apple Alias Data Handler
      encoder         : Apple ProRes 422 (HQ)
    Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
    Metadata:
      creation_time   : 2015-10-13 14:41:12
      handler_name    : Apple Alias Data Handler
      reel_name       : A003R0D0
      timecode        : 167:47:51:21

我试过了

ffmpeg -i raw_sample_0.mov -codec:v prores -pix_fmt (yuv420p10le | yuv420p | many others..) ~/Desktop/foo.mov

但其中 none 有效。这是因为编解码器根本不支持任何其他格式吗?如果是这样,我如何检查支持哪些格式以及如何无损转换为另一种我可以更改颜色采样的格式?

正如 wiki 文章所暗示的,确实没有其他受支持的抽样方案。可以使用 ffmpeg -h encoder=prores 或类似的其他编解码器(例如 h264.

找到允许值