如何在 ffmpeg 中的 QuickTime 文件上设置 Clean Aperture?

How can I set a Clean Aperture on a QuickTime file in ffmpeg?

我正在使用 ffmpeg 将文件转换为 QuickTime 容器。我知道某些 QuickTime 文件需要拍原子,即“这是所有未压缩的 Y´CbCr 数据格式的强制扩展。”

https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFChap3/qtff3.html#//apple_ref/doc/uid/TP40000939-CH205-125850

有没有办法在使用ffmpeg输出QuickTime文件时指定clap atom?否则假设我更新了任何文件长度字段,在文件末尾添加拍手原子会有什么危害吗?最后,假设我的文件的适当 viewable/usable 像素尺寸没有疑问,是否有必要拍手?

当且仅当视频编解码器是以下之一时,FFmpeg 才会写入 clap 原子:

  1. 原始视频 pix_fmt uyvy422
  2. 原始视频pix_fmt yuyv422
  3. v308(未压缩打包的 8 位 YUV 444)
  4. v408(未压缩打包的 8 位 YUV 4444)
  5. v410(未压缩打包的 10 位 YUV 444)
  6. v210(未压缩打包的 8 位或 10 位 YUV 422)

因此,如果编解码器符合条件,ffmpeg 将自动写入。