{
  "checked": "2026-09-19",
  "encoder": "ffmpeg version 6.1.1-3ubuntu5 Copyright (c) 2000-2023 the FFmpeg developers",
  "method": "Generated four-second synthetic fixtures, executed Mediaivo commandFor()/runFfmpeg(), checked streams with ffprobe, decoded audio to mono 48 kHz float samples to measure sample peak and RMS. Not true-peak or LUFS measurements.",
  "limitations": "Synthetic chart/tone tests are not a benchmark for faces, speech, music, HDR, variable-frame-rate phone footage or every codec. No audio or video autoplays. Encoding versions may change byte counts.",
  "fixturesLicense": "You may use, copy, modify and redistribute the generated chart and tone fixtures and their outputs for any purpose. No attribution required. This permission does not apply to third-party software.",
  "cases": [
    {
      "id": "rotate-90",
      "tool": "rotate-video",
      "input": "static-chart.mp4",
      "options": {
        "degrees": "90"
      },
      "label": "90° clockwise",
      "output": "rotate-90.mp4",
      "source": {
        "name": "static-chart.mp4",
        "bytes": 9632,
        "sha256": "761f664e0c95f9a2a0e9c209b8680cbd5ad799cbef2a58eb953ae43956cfb4af",
        "duration": 4,
        "format": "mov,mp4,m4a,3gp,3g2,mj2",
        "width": 640,
        "height": 360,
        "codec": "h264",
        "fps": "24/1",
        "audioStreams": 0
      },
      "result": {
        "name": "rotate-90.mp4",
        "bytes": 7483,
        "sha256": "71fa602ec0eac4e652029e10de1e0130cbefff4606244d922ece3f1274800c8c",
        "duration": 4,
        "format": "mov,mp4,m4a,3gp,3g2,mj2",
        "width": 360,
        "height": 640,
        "codec": "h264",
        "fps": "24/1",
        "audioStreams": 0
      },
      "poster": "rotate-90.jpg"
    },
    {
      "id": "volume-125",
      "tool": "change-audio-volume",
      "input": "level-reference.wav",
      "options": {
        "volume": "1.25"
      },
      "label": "125% amplitude",
      "output": "volume-125.mp3",
      "source": {
        "name": "level-reference.wav",
        "bytes": 384078,
        "sha256": "5b17ba9b9162037c02e0fec9b34b53630994d7abe3570b47f053c96f18d21731",
        "duration": 4,
        "format": "wav",
        "codec": "pcm_s16le",
        "sampleRate": 48000,
        "channels": 1,
        "peakDbfs": -9.12,
        "rmsDbfs": -16.11,
        "fullScaleSamples": 0,
        "decodedSeconds": 4
      },
      "result": {
        "name": "volume-125.mp3",
        "bytes": 19797,
        "sha256": "de33c13560f3005445527b25ebfd129c93a3170417d27b9dcb1e0cbe7eed86fb",
        "duration": 4.032,
        "format": "mp3",
        "codec": "mp3",
        "sampleRate": 48000,
        "channels": 1,
        "peakDbfs": -7.18,
        "rmsDbfs": -14.17,
        "fullScaleSamples": 0,
        "decodedSeconds": 4
      }
    },
    {
      "id": "volume-75",
      "tool": "change-audio-volume",
      "input": "level-reference.wav",
      "options": {
        "volume": "0.75"
      },
      "label": "75% amplitude",
      "output": "volume-75.mp3",
      "source": {
        "name": "level-reference.wav",
        "bytes": 384078,
        "sha256": "5b17ba9b9162037c02e0fec9b34b53630994d7abe3570b47f053c96f18d21731",
        "duration": 4,
        "format": "wav",
        "codec": "pcm_s16le",
        "sampleRate": 48000,
        "channels": 1,
        "peakDbfs": -9.12,
        "rmsDbfs": -16.11,
        "fullScaleSamples": 0,
        "decodedSeconds": 4
      },
      "result": {
        "name": "volume-75.mp3",
        "bytes": 16845,
        "sha256": "f0c892d8a2b61c0cae212ac4d84f4c52ba888bfaac3965dae0c2ba54c2b66bbd",
        "duration": 4.032,
        "format": "mp3",
        "codec": "mp3",
        "sampleRate": 48000,
        "channels": 1,
        "peakDbfs": -11.57,
        "rmsDbfs": -18.61,
        "fullScaleSamples": 0,
        "decodedSeconds": 4
      }
    },
    {
      "id": "static-balanced",
      "tool": "compress-video",
      "input": "static-chart.mp4",
      "options": {
        "quality": "balanced"
      },
      "label": "Static chart · Balanced",
      "output": "static-balanced.mp4",
      "source": {
        "name": "static-chart.mp4",
        "bytes": 9632,
        "sha256": "761f664e0c95f9a2a0e9c209b8680cbd5ad799cbef2a58eb953ae43956cfb4af",
        "duration": 4,
        "format": "mov,mp4,m4a,3gp,3g2,mj2",
        "width": 640,
        "height": 360,
        "codec": "h264",
        "fps": "24/1",
        "audioStreams": 0
      },
      "result": {
        "name": "static-balanced.mp4",
        "bytes": 7049,
        "sha256": "8ecd24cd6f9602c778b8684d9c980fc6076fd747acd55149936b55c02ec31f2f",
        "duration": 4,
        "format": "mov,mp4,m4a,3gp,3g2,mj2",
        "width": 640,
        "height": 360,
        "codec": "h264",
        "fps": "24/1",
        "audioStreams": 0
      },
      "poster": "static-balanced.jpg"
    },
    {
      "id": "static-smaller",
      "tool": "compress-video",
      "input": "static-chart.mp4",
      "options": {
        "quality": "smaller"
      },
      "label": "Static chart · Smaller file",
      "output": "static-smaller.mp4",
      "source": {
        "name": "static-chart.mp4",
        "bytes": 9632,
        "sha256": "761f664e0c95f9a2a0e9c209b8680cbd5ad799cbef2a58eb953ae43956cfb4af",
        "duration": 4,
        "format": "mov,mp4,m4a,3gp,3g2,mj2",
        "width": 640,
        "height": 360,
        "codec": "h264",
        "fps": "24/1",
        "audioStreams": 0
      },
      "result": {
        "name": "static-smaller.mp4",
        "bytes": 6417,
        "sha256": "bf33ee93619f75d31cedb9da5522c6715de5026aac3f991c7fe1045b97f7c327",
        "duration": 4,
        "format": "mov,mp4,m4a,3gp,3g2,mj2",
        "width": 640,
        "height": 360,
        "codec": "h264",
        "fps": "24/1",
        "audioStreams": 0
      },
      "poster": "static-smaller.jpg"
    },
    {
      "id": "motion-balanced",
      "tool": "compress-video",
      "input": "motion-chart.mp4",
      "options": {
        "quality": "balanced"
      },
      "label": "Moving chart · Balanced",
      "output": "motion-balanced.mp4",
      "source": {
        "name": "motion-chart.mp4",
        "bytes": 828493,
        "sha256": "32571e41189280772c59a97658f2487648da6bfa4c2549f3807e47ce9c17a352",
        "duration": 4,
        "format": "mov,mp4,m4a,3gp,3g2,mj2",
        "width": 640,
        "height": 360,
        "codec": "h264",
        "fps": "24/1",
        "audioStreams": 0
      },
      "result": {
        "name": "motion-balanced.mp4",
        "bytes": 278181,
        "sha256": "540d8d557903c7245c774b1aae5be2ab3ceb25ee9de4e5d10d1816704c66bb28",
        "duration": 4,
        "format": "mov,mp4,m4a,3gp,3g2,mj2",
        "width": 640,
        "height": 360,
        "codec": "h264",
        "fps": "24/1",
        "audioStreams": 0
      },
      "poster": "motion-balanced.jpg"
    },
    {
      "id": "motion-smaller",
      "tool": "compress-video",
      "input": "motion-chart.mp4",
      "options": {
        "quality": "smaller"
      },
      "label": "Moving chart · Smaller file",
      "output": "motion-smaller.mp4",
      "source": {
        "name": "motion-chart.mp4",
        "bytes": 828493,
        "sha256": "32571e41189280772c59a97658f2487648da6bfa4c2549f3807e47ce9c17a352",
        "duration": 4,
        "format": "mov,mp4,m4a,3gp,3g2,mj2",
        "width": 640,
        "height": 360,
        "codec": "h264",
        "fps": "24/1",
        "audioStreams": 0
      },
      "result": {
        "name": "motion-smaller.mp4",
        "bytes": 165005,
        "sha256": "9b181ca6d1e13b42afa9468d3a3acf27ba35e60ac6aa0cab3b60bb44ddd8ed40",
        "duration": 4,
        "format": "mov,mp4,m4a,3gp,3g2,mj2",
        "width": 640,
        "height": 360,
        "codec": "h264",
        "fps": "24/1",
        "audioStreams": 0
      },
      "poster": "motion-smaller.jpg"
    }
  ]
}
