{
  "schemaVersion": 1,
  "date": "2026-10-01",
  "localOnly": true,
  "publicationPerformed": false,
  "humanReviewStatus": "pending",
  "routes": [
    "/products/sony-fx3-vs-fx30-review-firmware/",
    "/story/asus-proart-ibc-2026-local-ai-video-workflows/"
  ],
  "sony": {
    "kind": "original-planning-arithmetic-not-camera-measurement",
    "inputs": {
      "takeSeconds": 10,
      "deliveryFps": 25,
      "shutterAngle": 180,
      "sessionMinutes": 30,
      "cardGB": 128,
      "reserveFraction": 0.15
    },
    "frameRates": [
      {
        "fps": 25,
        "shutterAngle": 180,
        "exposureSeconds": 0.02,
        "exposureReciprocal": 50,
        "lightLossStopsVs25": 0,
        "capturedFrames": 250,
        "deliverySeconds": 10,
        "speedFraction": 1
      },
      {
        "fps": 50,
        "shutterAngle": 180,
        "exposureSeconds": 0.01,
        "exposureReciprocal": 100,
        "lightLossStopsVs25": 1,
        "capturedFrames": 500,
        "deliverySeconds": 20,
        "speedFraction": 0.5
      },
      {
        "fps": 100,
        "shutterAngle": 180,
        "exposureSeconds": 0.005,
        "exposureReciprocal": 200,
        "lightLossStopsVs25": 2,
        "capturedFrames": 1000,
        "deliverySeconds": 40,
        "speedFraction": 0.25
      }
    ],
    "storage": [
      {
        "id": "s25",
        "mode": "XAVC S 4K · 25p",
        "mbps": 140,
        "videoGB": 31.5,
        "megabytesPerSecond": 17.5,
        "planningMinutes": 103.61904761904762
      },
      {
        "id": "si25",
        "mode": "XAVC S-I 4K · 25p",
        "mbps": 250,
        "videoGB": 56.25,
        "megabytesPerSecond": 31.25,
        "planningMinutes": 58.026666666666664
      },
      {
        "id": "s50",
        "mode": "XAVC S 4K · 50p",
        "mbps": 200,
        "videoGB": 45,
        "megabytesPerSecond": 25,
        "planningMinutes": 72.53333333333333
      },
      {
        "id": "si50",
        "mode": "XAVC S-I 4K · 50p",
        "mbps": 500,
        "videoGB": 112.5,
        "megabytesPerSecond": 62.5,
        "planningMinutes": 29.013333333333332
      },
      {
        "id": "s100",
        "mode": "XAVC S 4K · 100p (normal movie)",
        "mbps": 280,
        "videoGB": 63,
        "megabytesPerSecond": 35,
        "planningMinutes": 51.80952380952381
      }
    ],
    "stereoPcmAudioGB": 0.5184,
    "twoDestinationCopiesAt140MbpsGB": 64.0368,
    "highRateTenSecondVideoGB": 0.35,
    "formulas": {
      "exposure": "angle / (360 × capture fps)",
      "frames": "capture seconds × capture fps",
      "deliverySeconds": "captured frames / delivery fps",
      "lightLossStops": "log2(capture fps / 25), at the same shutter angle",
      "videoBytes": "nominal Mbps × 1,000,000 × recording seconds / 8",
      "planningMinutes": "card decimal GB × (1 − reserve) × 1,000,000,000 × 8 / (Mbps × 1,000,000 × 60)"
    },
    "limits": [
      "PAL rates only; 23.98/29.97/59.94/119.88 need their actual rates.",
      "Nominal movie-mode bitrates, not measured variable-rate file sizes or S&Q write rates.",
      "Audio/container overhead, filesystem space, card condition and actual recording limits are excluded from video-only estimates.",
      "The 15% reserve is an editorial budgeting assumption, not a Sony rating.",
      "Two-channel PCM is a separate explicit audio allowance; do not add it again if your measured whole-file bitrate already includes audio.",
      "Capacity arithmetic cannot establish compatible media or sustained writes.",
      "No camera, exposure, noise, autofocus or firmware test was performed."
    ]
  },
  "asus": {
    "schemaVersion": 1,
    "kind": "lumacta-original-synthetic-video-workflow",
    "executedAt": "2026-10-01T19:13:26.757Z",
    "execution": {
      "platform": "darwin",
      "architecture": "arm64",
      "versions": {
        "ffmpeg": "ffmpeg version 9.0.1 Copyright (c) 2000-2026 the FFmpeg developers",
        "ffprobe": "ffprobe version 9.0.1 Copyright (c) 2007-2026 the FFmpeg developers"
      },
      "hardwareBenchmark": false,
      "proArtMachineUsed": false,
      "aiModelRun": false,
      "cameraFootageUsed": false
    },
    "fixture": {
      "origin": "FFmpeg lavfi testsrc2 and smptebars; original bitmap label; 440/880 Hz synthetic audio",
      "video": {
        "width": 3840,
        "height": 2160,
        "fps": 25,
        "secondsPerClip": 4,
        "pixelFormat": "yuv420p",
        "bitDepth": 8
      },
      "audio": {
        "sampleRate": 48000,
        "channels": 1
      },
      "colour": "Explicit SDR BT.709 limited-range conversion/tags; synthetic patterns, not log/HDR camera footage or display calibration"
    },
    "timeline": {
      "fps": 25,
      "sourceSeconds": 4,
      "segments": [
        {
          "id": "a",
          "source": "source-a.mp4",
          "proxy": "proxy-a.mp4",
          "inFrame": 25,
          "outFrameExclusive": 100,
          "toneHz": 440
        },
        {
          "id": "b",
          "source": "source-b.mp4",
          "proxy": "proxy-b.mp4",
          "inFrame": 0,
          "outFrameExclusive": 75,
          "toneHz": 880
        }
      ]
    },
    "files": [
      {
        "file": "source-a.mp4",
        "bytes": 35892915,
        "sha256": "21af12d405724cde6bcf190993eeb73c68d0e55657fa65f71bdbce452a9f1a67",
        "video": {
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "width": 3840,
          "height": 2160,
          "frameRate": "25/1",
          "frameCount": 100,
          "durationSeconds": 4,
          "colorSpace": "bt709",
          "colorTransfer": "bt709",
          "colorPrimaries": "bt709",
          "colorRange": "tv"
        },
        "audio": {
          "codec": "aac",
          "sampleRate": 48000,
          "channels": 1,
          "durationSeconds": 4
        }
      },
      {
        "file": "source-b.mp4",
        "bytes": 126766,
        "sha256": "b41e6fb45467ad3f4c730a49fe705b18db2b132014506a840d5143f6460403b2",
        "video": {
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "width": 3840,
          "height": 2160,
          "frameRate": "25/1",
          "frameCount": 100,
          "durationSeconds": 4,
          "colorSpace": "bt709",
          "colorTransfer": "bt709",
          "colorPrimaries": "bt709",
          "colorRange": "tv"
        },
        "audio": {
          "codec": "aac",
          "sampleRate": 48000,
          "channels": 1,
          "durationSeconds": 4
        }
      },
      {
        "file": "proxy-a.mp4",
        "bytes": 1975285,
        "sha256": "e9098dc6b167842b4f6dea7ddcdae5f566bc3f035d2ba576e882305df0d184a4",
        "video": {
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "width": 960,
          "height": 540,
          "frameRate": "25/1",
          "frameCount": 100,
          "durationSeconds": 4,
          "colorSpace": "bt709",
          "colorTransfer": "bt709",
          "colorPrimaries": "bt709",
          "colorRange": "tv"
        },
        "audio": {
          "codec": "aac",
          "sampleRate": 48000,
          "channels": 1,
          "durationSeconds": 4
        }
      },
      {
        "file": "proxy-b.mp4",
        "bytes": 87781,
        "sha256": "3885c0091aca45ed6b31baa03ed97dbb7214c54f7d28c5c2ee174094bebbf5de",
        "video": {
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "width": 960,
          "height": 540,
          "frameRate": "25/1",
          "frameCount": 100,
          "durationSeconds": 4,
          "colorSpace": "bt709",
          "colorTransfer": "bt709",
          "colorPrimaries": "bt709",
          "colorRange": "tv"
        },
        "audio": {
          "codec": "aac",
          "sampleRate": 48000,
          "channels": 1,
          "durationSeconds": 4
        }
      },
      {
        "file": "proxy-edit.mp4",
        "bytes": 1166258,
        "sha256": "ee860febeab80cb794c3f7edfa759f93d45c993484bf623b8d6c750054e76d51",
        "video": {
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "width": 960,
          "height": 540,
          "frameRate": "25/1",
          "frameCount": 150,
          "durationSeconds": 6,
          "colorSpace": "bt709",
          "colorTransfer": "bt709",
          "colorPrimaries": "bt709",
          "colorRange": "tv"
        },
        "audio": {
          "codec": "aac",
          "sampleRate": 48000,
          "channels": 1,
          "durationSeconds": 6
        }
      },
      {
        "file": "master-1080.mkv",
        "bytes": 12164971,
        "sha256": "c9847ad05afe9c6bd126fee399d4f2ba9f6df33dc9b0f7ba9a7bf78821435214",
        "video": {
          "codec": "ffv1",
          "pixelFormat": "yuv420p",
          "width": 1920,
          "height": 1080,
          "frameRate": "25/1",
          "frameCount": 150,
          "durationSeconds": 6,
          "colorSpace": "bt709",
          "colorTransfer": "bt709",
          "colorPrimaries": "bt709",
          "colorRange": "tv"
        },
        "audio": {
          "codec": "pcm_s16le",
          "sampleRate": 48000,
          "channels": 1,
          "durationSeconds": 6
        }
      },
      {
        "file": "viewing-copy.mp4",
        "bytes": 6106595,
        "sha256": "cc10d3e940925fdfd11952e70e455a78a23d19151e08fc06c63f260d9a07ba32",
        "video": {
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "width": 1920,
          "height": 1080,
          "frameRate": "25/1",
          "frameCount": 150,
          "durationSeconds": 6,
          "colorSpace": "bt709",
          "colorTransfer": "bt709",
          "colorPrimaries": "bt709",
          "colorRange": "tv"
        },
        "audio": {
          "codec": "aac",
          "sampleRate": 48000,
          "channels": 1,
          "durationSeconds": 6
        }
      },
      {
        "file": "vertical-copy.mp4",
        "bytes": 2672995,
        "sha256": "21d93be106e025410886a92f24351f34f67fc18e79d56cfa7055c4e058a8d607",
        "video": {
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "width": 1080,
          "height": 1920,
          "frameRate": "25/1",
          "frameCount": 150,
          "durationSeconds": 6,
          "colorSpace": "bt709",
          "colorTransfer": "bt709",
          "colorPrimaries": "bt709",
          "colorRange": "tv"
        },
        "audio": {
          "codec": "aac",
          "sampleRate": 48000,
          "channels": 1,
          "durationSeconds": 6
        }
      }
    ],
    "artifacts": [
      {
        "file": "poster.jpg",
        "bytes": 31737,
        "sha256": "9f12d4b10493fe3ec461b75b812830a70770164b1ca1433e3868c420dcf96fe8"
      },
      {
        "file": "synthetic-captions.vtt",
        "bytes": 198,
        "sha256": "a01590130f6f0fd43f0493597f3e2c8f2a0d972989db7072b4c6629a49cd8214"
      }
    ],
    "commands": [
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-n",
          "-f",
          "lavfi",
          "-i",
          "testsrc2=size=3840x2160:rate=25:duration=4",
          "-f",
          "lavfi",
          "-i",
          "sine=frequency=440:sample_rate=48000:duration=4",
          "-loop",
          "1",
          "-i",
          "synthetic-label.ppm",
          "-filter_complex",
          "[0:v][2:v]overlay=x=(W-w)/2:y=160:shortest=1,setparams=range=limited:color_primaries=bt709:color_trc=bt709:colorspace=bt709[v]",
          "-map",
          "[v]",
          "-map",
          "1:a",
          "-t",
          "4",
          "-c:v",
          "libx264",
          "-preset",
          "ultrafast",
          "-crf",
          "18",
          "-pix_fmt",
          "yuv420p",
          "-threads",
          "2",
          "-colorspace",
          "bt709",
          "-color_trc",
          "bt709",
          "-color_primaries",
          "bt709",
          "-color_range",
          "tv",
          "-c:a",
          "aac",
          "-b:a",
          "128k",
          "-metadata",
          "title=Lumacta SYNTHETIC fixture A",
          "-movflags",
          "+faststart",
          "source-a.mp4"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-n",
          "-i",
          "source-a.mp4",
          "-vf",
          "scale=960:540:out_color_matrix=bt709:out_range=tv,setparams=range=limited:color_primaries=bt709:color_trc=bt709:colorspace=bt709",
          "-map",
          "0:v:0",
          "-map",
          "0:a:0",
          "-c:v",
          "libx264",
          "-preset",
          "ultrafast",
          "-crf",
          "18",
          "-pix_fmt",
          "yuv420p",
          "-threads",
          "2",
          "-colorspace",
          "bt709",
          "-color_trc",
          "bt709",
          "-color_primaries",
          "bt709",
          "-color_range",
          "tv",
          "-c:a",
          "copy",
          "-movflags",
          "+faststart",
          "proxy-a.mp4"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-n",
          "-f",
          "lavfi",
          "-i",
          "smptebars=size=3840x2160:rate=25:duration=4",
          "-f",
          "lavfi",
          "-i",
          "sine=frequency=880:sample_rate=48000:duration=4",
          "-loop",
          "1",
          "-i",
          "synthetic-label.ppm",
          "-filter_complex",
          "[0:v][2:v]overlay=x=(W-w)/2:y=160:shortest=1,setparams=range=limited:color_primaries=bt709:color_trc=bt709:colorspace=bt709[v]",
          "-map",
          "[v]",
          "-map",
          "1:a",
          "-t",
          "4",
          "-c:v",
          "libx264",
          "-preset",
          "ultrafast",
          "-crf",
          "18",
          "-pix_fmt",
          "yuv420p",
          "-threads",
          "2",
          "-colorspace",
          "bt709",
          "-color_trc",
          "bt709",
          "-color_primaries",
          "bt709",
          "-color_range",
          "tv",
          "-c:a",
          "aac",
          "-b:a",
          "128k",
          "-metadata",
          "title=Lumacta SYNTHETIC fixture B",
          "-movflags",
          "+faststart",
          "source-b.mp4"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-n",
          "-i",
          "source-b.mp4",
          "-vf",
          "scale=960:540:out_color_matrix=bt709:out_range=tv,setparams=range=limited:color_primaries=bt709:color_trc=bt709:colorspace=bt709",
          "-map",
          "0:v:0",
          "-map",
          "0:a:0",
          "-c:v",
          "libx264",
          "-preset",
          "ultrafast",
          "-crf",
          "18",
          "-pix_fmt",
          "yuv420p",
          "-threads",
          "2",
          "-colorspace",
          "bt709",
          "-color_trc",
          "bt709",
          "-color_primaries",
          "bt709",
          "-color_range",
          "tv",
          "-c:a",
          "copy",
          "-movflags",
          "+faststart",
          "proxy-b.mp4"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-n",
          "-i",
          "proxy-a.mp4",
          "-i",
          "proxy-b.mp4",
          "-filter_complex",
          "[0:v]trim=start_frame=25:end_frame=100,setpts=PTS-STARTPTS,scale=960:540:out_color_matrix=bt709:out_range=tv,setsar=1,setparams=range=limited:color_primaries=bt709:color_trc=bt709:colorspace=bt709[v0];[0:a]atrim=start=1:end=4,asetpts=PTS-STARTPTS[a0];[1:v]trim=start_frame=0:end_frame=75,setpts=PTS-STARTPTS,scale=960:540:out_color_matrix=bt709:out_range=tv,setsar=1,setparams=range=limited:color_primaries=bt709:color_trc=bt709:colorspace=bt709[v1];[1:a]atrim=start=0:end=3,asetpts=PTS-STARTPTS[a1];[v0][a0][v1][a1]concat=n=2:v=1:a=1[v][a]",
          "-map",
          "[v]",
          "-map",
          "[a]",
          "-r",
          "25",
          "-c:v",
          "libx264",
          "-preset",
          "ultrafast",
          "-crf",
          "20",
          "-pix_fmt",
          "yuv420p",
          "-threads",
          "2",
          "-c:a",
          "aac",
          "-b:a",
          "128k",
          "-movflags",
          "+faststart",
          "-colorspace",
          "bt709",
          "-color_trc",
          "bt709",
          "-color_primaries",
          "bt709",
          "-color_range",
          "tv",
          "-metadata",
          "title=Lumacta SYNTHETIC editing demonstration",
          "proxy-edit.mp4"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-n",
          "-i",
          "source-a.mp4",
          "-i",
          "source-b.mp4",
          "-filter_complex",
          "[0:v]trim=start_frame=25:end_frame=100,setpts=PTS-STARTPTS,scale=1920:1080:out_color_matrix=bt709:out_range=tv,setsar=1,setparams=range=limited:color_primaries=bt709:color_trc=bt709:colorspace=bt709[v0];[0:a]atrim=start=1:end=4,asetpts=PTS-STARTPTS[a0];[1:v]trim=start_frame=0:end_frame=75,setpts=PTS-STARTPTS,scale=1920:1080:out_color_matrix=bt709:out_range=tv,setsar=1,setparams=range=limited:color_primaries=bt709:color_trc=bt709:colorspace=bt709[v1];[1:a]atrim=start=0:end=3,asetpts=PTS-STARTPTS[a1];[v0][a0][v1][a1]concat=n=2:v=1:a=1[v][a]",
          "-map",
          "[v]",
          "-map",
          "[a]",
          "-r",
          "25",
          "-c:v",
          "ffv1",
          "-level",
          "3",
          "-pix_fmt",
          "yuv420p",
          "-threads",
          "2",
          "-c:a",
          "pcm_s16le",
          "-colorspace",
          "bt709",
          "-color_trc",
          "bt709",
          "-color_primaries",
          "bt709",
          "-color_range",
          "tv",
          "-metadata",
          "title=Lumacta SYNTHETIC editing demonstration",
          "master-1080.mkv"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-n",
          "-i",
          "master-1080.mkv",
          "-vf",
          "setparams=range=limited:color_primaries=bt709:color_trc=bt709:colorspace=bt709",
          "-map",
          "0:v:0",
          "-map",
          "0:a:0",
          "-c:v",
          "libx264",
          "-preset",
          "ultrafast",
          "-crf",
          "18",
          "-pix_fmt",
          "yuv420p",
          "-threads",
          "2",
          "-colorspace",
          "bt709",
          "-color_trc",
          "bt709",
          "-color_primaries",
          "bt709",
          "-color_range",
          "tv",
          "-c:a",
          "aac",
          "-b:a",
          "128k",
          "-metadata",
          "title=Lumacta SYNTHETIC viewing copy",
          "-movflags",
          "+faststart",
          "viewing-copy.mp4"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-n",
          "-i",
          "source-a.mp4",
          "-i",
          "source-b.mp4",
          "-filter_complex",
          "[0:v]trim=start_frame=25:end_frame=100,setpts=PTS-STARTPTS,crop=1080:1920:1380:120,setsar=1,setparams=range=limited:color_primaries=bt709:color_trc=bt709:colorspace=bt709[v0];[0:a]atrim=start=1:end=4,asetpts=PTS-STARTPTS[a0];[1:v]trim=start_frame=0:end_frame=75,setpts=PTS-STARTPTS,crop=1080:1920:1380:120,setsar=1,setparams=range=limited:color_primaries=bt709:color_trc=bt709:colorspace=bt709[v1];[1:a]atrim=start=0:end=3,asetpts=PTS-STARTPTS[a1];[v0][a0][v1][a1]concat=n=2:v=1:a=1[v][a]",
          "-map",
          "[v]",
          "-map",
          "[a]",
          "-r",
          "25",
          "-c:v",
          "libx264",
          "-preset",
          "ultrafast",
          "-crf",
          "20",
          "-pix_fmt",
          "yuv420p",
          "-threads",
          "2",
          "-c:a",
          "aac",
          "-b:a",
          "128k",
          "-movflags",
          "+faststart",
          "-colorspace",
          "bt709",
          "-color_trc",
          "bt709",
          "-color_primaries",
          "bt709",
          "-color_range",
          "tv",
          "-metadata",
          "title=Lumacta SYNTHETIC editing demonstration",
          "vertical-copy.mp4"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-n",
          "-ss",
          "1",
          "-i",
          "viewing-copy.mp4",
          "-frames:v",
          "1",
          "-vf",
          "scale=960:540",
          "-q:v",
          "3",
          "poster.jpg"
        ],
        "exitCode": 0
      },
      {
        "program": "ffprobe",
        "args": [
          "-v",
          "error",
          "-count_frames",
          "-show_streams",
          "-show_format",
          "-of",
          "json",
          "source-a.mp4"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-i",
          "source-a.mp4",
          "-f",
          "null",
          "-"
        ],
        "exitCode": 0
      },
      {
        "program": "ffprobe",
        "args": [
          "-v",
          "error",
          "-count_frames",
          "-show_streams",
          "-show_format",
          "-of",
          "json",
          "source-b.mp4"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-i",
          "source-b.mp4",
          "-f",
          "null",
          "-"
        ],
        "exitCode": 0
      },
      {
        "program": "ffprobe",
        "args": [
          "-v",
          "error",
          "-count_frames",
          "-show_streams",
          "-show_format",
          "-of",
          "json",
          "proxy-a.mp4"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-i",
          "proxy-a.mp4",
          "-f",
          "null",
          "-"
        ],
        "exitCode": 0
      },
      {
        "program": "ffprobe",
        "args": [
          "-v",
          "error",
          "-count_frames",
          "-show_streams",
          "-show_format",
          "-of",
          "json",
          "proxy-b.mp4"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-i",
          "proxy-b.mp4",
          "-f",
          "null",
          "-"
        ],
        "exitCode": 0
      },
      {
        "program": "ffprobe",
        "args": [
          "-v",
          "error",
          "-count_frames",
          "-show_streams",
          "-show_format",
          "-of",
          "json",
          "proxy-edit.mp4"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-i",
          "proxy-edit.mp4",
          "-f",
          "null",
          "-"
        ],
        "exitCode": 0
      },
      {
        "program": "ffprobe",
        "args": [
          "-v",
          "error",
          "-count_frames",
          "-show_streams",
          "-show_format",
          "-of",
          "json",
          "master-1080.mkv"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-i",
          "master-1080.mkv",
          "-f",
          "null",
          "-"
        ],
        "exitCode": 0
      },
      {
        "program": "ffprobe",
        "args": [
          "-v",
          "error",
          "-count_frames",
          "-show_streams",
          "-show_format",
          "-of",
          "json",
          "viewing-copy.mp4"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-i",
          "viewing-copy.mp4",
          "-f",
          "null",
          "-"
        ],
        "exitCode": 0
      },
      {
        "program": "ffprobe",
        "args": [
          "-v",
          "error",
          "-count_frames",
          "-show_streams",
          "-show_format",
          "-of",
          "json",
          "vertical-copy.mp4"
        ],
        "exitCode": 0
      },
      {
        "program": "ffmpeg",
        "args": [
          "-hide_banner",
          "-loglevel",
          "error",
          "-nostdin",
          "-i",
          "vertical-copy.mp4",
          "-f",
          "null",
          "-"
        ],
        "exitCode": 0
      }
    ],
    "checks": {
      "proxySourceFrameCountsMatch": true,
      "proxyMistakenForMaster": {
        "accepted": false,
        "errors": [
          "dimensions"
        ]
      },
      "master": {
        "accepted": true,
        "errors": []
      },
      "viewingCopy": {
        "accepted": true,
        "errors": []
      },
      "verticalCopy": {
        "accepted": true,
        "errors": []
      },
      "allMediaFullyDecodedWithoutError": true,
      "displayCalibrationVerified": false,
      "captionAccuracyForSpeechVerified": false,
      "avSyncMeasured": false,
      "toneLevelsCertified": false,
      "editorGuiOperated": false
    },
    "limits": [
      "A six-second synthetic edit establishes this software pipeline only.",
      "No ProArt machine, local AI inference, transcription or camera codec benchmark.",
      "The 8-bit 4:2:0 synthetic files do not establish 10-bit 4:2:2 camera decoding performance.",
      "Tagged BT.709 output is not an independently colour-accurate display measurement.",
      "Frame/duration/audio-format checks and successful decode do not prove perceptual AV synchronization.",
      "The centre crop is fixed; real footage needs shot-by-shot composition review.",
      "Exact binary output can vary with FFmpeg/codec version; compare acceptance checks as well as hashes."
    ],
    "initialRejectedExport": {
      "runStatus": "rejected",
      "file": "master-1080.mkv",
      "observedVideo": {
        "codec_name": "ffv1",
        "width": 1920,
        "height": 1080,
        "color_range": "tv",
        "color_space": "bt709"
      },
      "missingFields": [
        "color_transfer",
        "color_primaries"
      ],
      "correction": "Apply setparams=range=limited:color_primaries=bt709:color_trc=bt709:colorspace=bt709 to video frames before encoding, retaining explicit output colour options.",
      "limits": "This checks metadata presence only. It does not establish colour accuracy, display calibration or behaviour in Adobe/ProArt."
    }
  },
  "primarySources": [
    {
      "id": "sony-settings",
      "title": "Sony FX30: Movie Settings",
      "url": "https://helpguide.sony.net/ilc/2220/v1/en/contents/TP1000868278.html",
      "checkedAt": "2026-10-01T19:11:12.303Z",
      "httpStatus": 200,
      "responseSha256": "6c1580b7bd43e12d872ca1a278085e2e7117a87ec78b6279ad3a2791746144cb"
    },
    {
      "id": "sony-shutter",
      "title": "Sony FX30: Shutter Mode",
      "url": "https://helpguide.sony.net/ilc/2220/v1/en/contents/TP1001690662.html",
      "checkedAt": "2026-10-01T19:11:12.272Z",
      "httpStatus": 200,
      "responseSha256": "4c6da774c7483a16a7b67825457e0584fe1e35e11d0f2d5cfcbd4308ae995947"
    },
    {
      "id": "sony-fps",
      "title": "Sony FX30: FPS",
      "url": "https://helpguide.sony.net/ilc/2220/v1/en/contents/TP1002071064.html",
      "checkedAt": "2026-10-01T19:11:12.297Z",
      "httpStatus": 200,
      "responseSha256": "08aa37af1ff3aea316d23c1da9422363ab3b175cde3c34901799f7255426d83d"
    },
    {
      "id": "sony-media",
      "title": "Sony FX30: Memory cards",
      "url": "https://helpguide.sony.net/ilc/2220/v1/en/contents/TP1000867593.html",
      "checkedAt": "2026-10-01T19:11:12.297Z",
      "httpStatus": 200,
      "responseSha256": "7f23ccbe17dfe7e7dccd8210608b645ef86c599760e69db24bd693dff6460dc0"
    },
    {
      "id": "sony-view",
      "title": "Sony FX30: Angle of view",
      "url": "https://helpguide.sony.net/ilc/2220/v1/en/contents/TP1000882803.html",
      "checkedAt": "2026-10-01T19:11:11.996Z",
      "httpStatus": 200,
      "responseSha256": "84737443b1f5646cff88b5c5e4804a5a7873a70b7a852d31c81bc0e5284aa64f"
    },
    {
      "id": "ffmpeg-filters",
      "title": "FFmpeg: filter documentation",
      "url": "https://ffmpeg.org/ffmpeg-filters.html",
      "checkedAt": "2026-10-01T19:11:12.237Z",
      "httpStatus": 200,
      "responseSha256": "979468a92304624af3abd8d8094d747d960f0cea8e9b772729f77a858c4cec6b"
    },
    {
      "id": "ffprobe",
      "title": "FFmpeg: ffprobe documentation",
      "url": "https://ffmpeg.org/ffprobe.html",
      "checkedAt": "2026-10-01T19:11:11.892Z",
      "httpStatus": 200,
      "responseSha256": "75dd3d482461e4b453510ec9fc87076a95f2eb0698d211784e1eabaabc82eeb6"
    }
  ]
}
