{
  "checkedOn": "2026-10-21",
  "synthetic": true,
  "method": "Actual delsub decoder, subtitle parser and paragraph rebuilder, executed in Node.js",
  "options": {
    "removeTimestamps": true,
    "removeSequenceNumbers": true,
    "removeHtmlTags": true,
    "removeSoundEffects": true,
    "dedupeRollup": true,
    "mergeParagraphs": true,
    "splitOnSpeakerChange": true
  },
  "results": [
    {
      "input": "formats.srt",
      "output": "formats-clean.txt",
      "encoding": "UTF-8",
      "suspect": false,
      "overrides": {},
      "expected": "Hello everyone, and welcome back.\n\nToday we're looking at subtitle formats.\n",
      "inputSha256": "0c21bf2185716e224157035a422b722d4356e0c18bae1236a317d849dd1aa1bb",
      "outputSha256": "bdeefba018d54af0e9c9c2110db8cc56d54147e10db005aca7d4aa9c3770e36b"
    },
    {
      "input": "formats.vtt",
      "output": "formats-clean.txt",
      "encoding": "UTF-8",
      "suspect": false,
      "overrides": {},
      "expected": "Hello everyone, and welcome back.\n\nToday we're looking at subtitle formats.\n",
      "inputSha256": "3312967456ae768120db702f86fcbcd9e1f66d3abf8ba87ee0bed391b4fb379f",
      "outputSha256": "bdeefba018d54af0e9c9c2110db8cc56d54147e10db005aca7d4aa9c3770e36b"
    },
    {
      "input": "formats.vtt",
      "output": "formats-with-identifiers.txt",
      "encoding": "UTF-8",
      "suspect": false,
      "overrides": {
        "removeSequenceNumbers": false
      },
      "expected": "intro Hello everyone, and welcome back.\n\nclosing Today we're looking at subtitle formats.\n",
      "inputSha256": "3312967456ae768120db702f86fcbcd9e1f66d3abf8ba87ee0bed391b4fb379f",
      "outputSha256": "01921c5cc75d12f3b058c28523ff21e992f8540fdf3adae0f5fd2dd5f0f9cf85"
    },
    {
      "input": "formats.sbv",
      "output": "formats-clean.txt",
      "encoding": "UTF-8",
      "suspect": false,
      "overrides": {},
      "expected": "Hello everyone, and welcome back.\n\nToday we're looking at subtitle formats.\n",
      "inputSha256": "75d1a7c3e0b26a8560fef6dfbad83516761986fafe9860d479c630b00f5df9e4",
      "outputSha256": "bdeefba018d54af0e9c9c2110db8cc56d54147e10db005aca7d4aa9c3770e36b"
    },
    {
      "input": "youtube-rollup.vtt",
      "output": "youtube-rollup-clean.txt",
      "encoding": "UTF-8",
      "suspect": false,
      "overrides": {},
      "expected": "so today we're going to talk about subtitles and how they work\n",
      "inputSha256": "291b7a8efdfed1810feeafa68b165b75899254ba5d24ae4826b6d17481277319",
      "outputSha256": "d82b0e8f46c581a370c841dd707a1ac5bcdd20f7b93600a163eb97b9b1177f18"
    },
    {
      "input": "real-repetitions.srt",
      "output": "real-repetitions-rollup-on.txt",
      "encoding": "UTF-8",
      "suspect": false,
      "overrides": {},
      "expected": "No.\n\nI don't know why he left.\n\ntalk about about subtitles\n",
      "inputSha256": "6f7148eada13e8e0912634d895b1999def6f68aa96bdd7e7076a459af9840987",
      "outputSha256": "b3d4b29990842ed4466e285ea0ea143fcbc5fc166e1cb0c360a06abf15fa5950"
    },
    {
      "input": "real-repetitions.srt",
      "output": "real-repetitions-rollup-off.txt",
      "encoding": "UTF-8",
      "suspect": false,
      "overrides": {
        "dedupeRollup": false
      },
      "expected": "No.\n\nNo.\n\nI don't know I don't know why he left.\n\ntalk about about subtitles\n",
      "inputSha256": "6f7148eada13e8e0912634d895b1999def6f68aa96bdd7e7076a459af9840987",
      "outputSha256": "45df7a2ddd5b5b0274475a4edebcd1cb6f55c16164e1771fba271e7596ed19c0"
    },
    {
      "input": "encoding-utf8.srt",
      "output": "encoding-clean.txt",
      "encoding": "UTF-8",
      "suspect": false,
      "overrides": {},
      "expected": "Café mañana.\n",
      "inputSha256": "6a626473d448dc8ae0390d609e18dc034af2af6c8d2b6a35eeff434304cfd214",
      "outputSha256": "3aeca578be1db13afc01e7ffc522747de4137104aa246f936cf3c71c5cff2007"
    },
    {
      "input": "encoding-windows1252.srt",
      "output": "encoding-clean.txt",
      "encoding": "Windows-1252",
      "suspect": false,
      "overrides": {},
      "expected": "Café mañana.\n",
      "inputSha256": "17211dbda3fe2c3f75dbeabafbd58946d01b70fc2050e52cb19a0481d84013ed",
      "outputSha256": "3aeca578be1db13afc01e7ffc522747de4137104aa246f936cf3c71c5cff2007"
    },
    {
      "input": "encoding-utf16le.srt",
      "output": "encoding-clean.txt",
      "encoding": "UTF-16 LE",
      "suspect": false,
      "overrides": {},
      "expected": "Café mañana.\n",
      "inputSha256": "363d783b7e502673008b9527757332be3a31ee0d33cf976c783f46de92df93ab",
      "outputSha256": "3aeca578be1db13afc01e7ffc522747de4137104aa246f936cf3c71c5cff2007"
    },
    {
      "input": "encoding-saved-mojibake.srt",
      "output": "encoding-saved-mojibake-clean.txt",
      "encoding": "UTF-8",
      "suspect": false,
      "overrides": {},
      "expected": "CafÃ© maÃ±ana.\n",
      "inputSha256": "503b43c7bb979fb7b602abde4368825673c142cf9d3032b80f54119f7f7b7f54",
      "outputSha256": "60838498103b2fd1a6f78d2e276eb63a2af3dcc308b2218a9daa5dea4cd0993c"
    },
    {
      "input": "cue-cleanup.vtt",
      "output": "cue-cleanup-clean.txt",
      "encoding": "UTF-8",
      "suspect": false,
      "overrides": {},
      "expected": "Hello.\n\nWelcome.\n\nKeep these lyrics.\n\nStart with Step 1: open the file.\n\nThe symbol ♪ means a note.\n\nIt was - .5 degrees.\n\nVisit https://example.com/\n",
      "inputSha256": "7fc6979dd930653242bc491fcb47a01c9b3c0c40eab7051eb5a627689f201a72",
      "outputSha256": "7cec625a8366000802483a5e359a19b9a24b36747c4d2106e5a12b55c6a09b36"
    },
    {
      "input": "cue-cleanup.vtt",
      "output": "cue-cleanup-speaker-off.txt",
      "encoding": "UTF-8",
      "suspect": false,
      "overrides": {
        "splitOnSpeakerChange": false
      },
      "expected": "- Hello.\n\n— Welcome.\n\nKeep these lyrics.\n\nStart with Step 1: open the file.\n\nThe symbol ♪ means a note.\n\nIt was - .5 degrees.\n\nVisit https://example.com/\n",
      "inputSha256": "7fc6979dd930653242bc491fcb47a01c9b3c0c40eab7051eb5a627689f201a72",
      "outputSha256": "4005f81f264174d5e6ef4e246a1798f2ef55ba61e1508dde8e955c9ee99631a6"
    }
  ],
  "limits": [
    "No YouTube video was downloaded; the YouTube-style file is synthetic.",
    "These files test text processing, not the current YouTube Studio interface.",
    "User options persist; set all switches on before reproducing the default cases."
  ]
}
