Transcoding

Transcoding

captions_ccextractor

{
  "tags": [
    "itest",
    "encoding",
    "captions_convert",
    "ccextractor"
  ],
  "region": "aws:eu-west-1",
  "tasks": [    
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN",
        "files": [
          "testfile_ccextractor.mp4"
        ]
      }
    },
    {
      "tool": "utils:mkdir",
      "parameters": {
        "dir": "output_ccextractor"
      }
    },
    {
      "tool": "captions:ccextractor",
      "parameters": {
        "arguments": [
          "testfile_ccextractor.mp4",
          "-out=webvtt-full",
           "--webvtt-no-line",
           "--webvtt-no-css",
           "-o",
           "output_ccextractor/movie1-en.vtt"
        ]
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/encoding-captions_convert_{job_id}",
        "files": [
          "output_ccextractor/*"
        ]
      }
    }
  ]
}

captions_convert

{
  "tags": [
    "itest",
    "encoding",
    "captions_convert"
  ],
  "region": "aws:eu-west-1",
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN",
        "files": [
          "tos-per.srt",
          "tos_10s_deu.ismt",
          "tos-vtt-extended-per.srt",
          "styled_srt_sample.srt",
          "sample_rtf_disney_pixellogic_stt_inside.rtf"
        ]
      }
    },
    {
      "parameters": {
        "inputfile": "tos-per.srt",
        "language": "per",
        "outputformat": "WEBVTT",
        "outputfile": "tos-per.vtt"
      },
      "tool": "captions:convert"
    },
    {
      "parameters": {
        "inputfile": "tos-per.srt",
        "language": "per",
        "outputformat": "WEBVTT",
        "outputfile": "tos-hours-per.vtt",
        "vtt_force_hours": true
      },
      "tool": "captions:convert"
    },
    {
      "parameters": {
        "inputfile": "tos-vtt-extended-per.srt",
        "language": "per",
        "outputformat": "WEBVTT",
        "outputfile": "tos-vtt-extended-per.vtt"
      },
      "tool": "captions:convert"
    },
    {
      "parameters": {
        "inputfile": "tos-per.vtt",
        "language": "per",
        "outputformat": "DFXP",
        "outputfile": "tos per.dfxp"
      },
      "tool": "captions:convert"
    },
    {
      "parameters": {
        "inputfile": "tos_10s_deu.ismt",
        "outputformat": "DFXP",
        "outputfile": "tos_10s_deu.dfxp"
      },
      "tool": "captions:convert"
    },
    {
      "parameters": {
        "inputfile": "tos_10s_deu.ismt",
        "outputformat": "SST",
        "outputfile": "tos_10s_deu.zip"
      },
      "tool": "captions:convert"
    },
    {
      "parameters": {
        "inputfile": "tos_10s_deu.ismt",
        "outputformat": "SST",
        "outputfile": "tos_10s_deu_raw.zip",
        "tiff_compression": "raw"
      },
      "tool": "captions:convert"
    },
    {
      "parameters": {
        "inputfile": "tos_10s_deu.ismt",
        "outputformat": "SST",
        "outputfile": "tos_10s_deu_tiff_deflate.zip",
        "tiff_compression": "tiff_deflate"
      },
      "tool": "captions:convert"
    },
    {
      "parameters": {
        "inputfile": "styled_srt_sample.srt",
        "language": "eng",
        "outputformat": "WEBVTT",
        "outputfile": "srt_styled_no_more.vtt",
        "strip_html_tags": true,
        "strip_ass_tags": true
      },
      "tool": "captions:convert"
    },
    {
      "parameters": {
        "inputfile": "sample_rtf_disney_pixellogic_stt_inside.rtf",
        "language": "eng",
        "outputformat": "WEBVTT",
        "outputfile": "converted_from_rtf.vtt"
      },
      "tool": "captions:convert"
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/encoding-captions_convert_{job_id}",
        "files": [
          "tos-per.vtt",
          "tos per.dfxp",
          "tos_10s_deu.dfxp",
          "tos_10s_deu.zip",
          "tos_10s_deu_raw.zip",
          "tos_10s_deu_tiff_deflate.zip",
          "srt_styled_no_more.vtt",
          "tos-hours-per.vtt",
          "converted_from_rtf.vtt"
        ]
      }
    }
  ]
}

content_armor_abingest_dash

{
  "region": "aws:eu-west-1",
  "tags": [
    "itest",
    "content_armor",
    "content_armor_abingest-cl",
    "dash"
  ],
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/content_armor/mpd/master",
        "files": [
          "tos.mpd",
          "init-stream0.m4s",
          "init-stream1.m4s",
          "init-stream2.m4s",
          "init-stream3.m4s",
          "chunk-stream0-00001.m4s",
          "chunk-stream0-00002.m4s",
          "chunk-stream0-00003.m4s",
          "chunk-stream0-00004.m4s",
          "chunk-stream1-00001.m4s",
          "chunk-stream1-00002.m4s",
          "chunk-stream1-00003.m4s",
          "chunk-stream1-00004.m4s",
          "chunk-stream1-00005.m4s",
          "chunk-stream1-00006.m4s",
          "chunk-stream1-00007.m4s",
          "chunk-stream1-00008.m4s",
          "chunk-stream2-00001.m4s",
          "chunk-stream2-00002.m4s",
          "chunk-stream2-00003.m4s",
          "chunk-stream2-00004.m4s",
          "chunk-stream3-00001.m4s",
          "chunk-stream3-00002.m4s",
          "chunk-stream3-00003.m4s",
          "chunk-stream3-00004.m4s",
          "chunk-stream3-00005.m4s",
          "chunk-stream3-00006.m4s",
          "chunk-stream3-00007.m4s",
          "chunk-stream3-00008.m4s"
        ]
      }
    },
    {
     "tool": "content_armor:ABIngestCL",
      "parameters": {
        "input_file": "tos.mpd",
        "output": "out/dash",
        "payload_size": 16,
        "content_name": "Tears of Steel",
        "store_location": "store/dash",
        "embedder_license": "{CA_EMB_LIC}",
        "profiler_license": "{CA_PROF_LIC}"

      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["out/dash/*"],
        "outputfile": "out_dash_{job_id}.zip"
      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["store/dash/*"],
        "outputfile": "store_dash_{job_id}.zip"
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/content_armor_abingest_{job_id}",
        "files": [
          "out_dash_{job_id}.zip",
          "store_dash_{job_id}.zip"
        ]
      }
    }
  ]
}

content_armor_abingest_hls

{
  "region": "aws:eu-west-1",
  "tags": [
    "itest",
    "content_armor",
    "content_armor_abingest-cl",
    "hls"
  ],
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/content_armor/hls/master",
        "files": [
          "tos.m3u8",
          "v0/prog_index.m3u8",
          "v0/fileSequence0.ts",
          "v0/fileSequence1.ts",
          "v0/fileSequence2.ts",
          "v1/prog_index.m3u8",
          "v1/fileSequence0.ts",
          "v1/fileSequence1.ts",
          "v1/fileSequence2.ts"
        ]
      }
    },
    {
     "tool": "content_armor:ABIngestCL",
      "parameters": {
        "input_file": "tos.m3u8",
        "output": "out/hls",
        "payload_size": 16,
        "content_name": "Tears of Steel",
        "store_location": "store/hls",
        "embedder_license": "{CA_EMB_LIC}",
        "profiler_license": "{CA_PROF_LIC}"

      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["out/hls/*"],
        "outputfile": "out_hls_{job_id}.zip"
      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["store/hls/*"],
        "outputfile": "store_hls_{job_id}.zip"
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/content_armor_abingest_{job_id}",
        "files": [
          "out_hls_{job_id}.zip",
          "store_hls_{job_id}.zip"
        ]
      }
    }
  ]
}

content_armor_abingest_hls_3vid_2aud

{
  "region": "aws:eu-west-1",
  "tags": [
    "itest",
    "content_armor",
    "content_armor_abingest-cl",
    "hls-3vid-2aud"
  ],
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/content_armor/3vid_2aud/",
        "files": [
          "*"
        ]
      }
    },
    {
     "tool": "content_armor:ABIngestCL",
      "parameters": {
        "input_file": "3vid_2aud.m3u8",
        "output": "out/hls/3vid_2aud",
        "payload_size": 16,
        "content_name": "BBB",
        "store_location": "store/hls/3vid_2aud",
        "embedder_license": "{CA_EMB_LIC}",
        "profiler_license": "{CA_PROF_LIC}"

      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["out/hls/3vid_2aud/*"],
        "outputfile": "out_hls_3vid_2aud_{job_id}.zip"
      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["store/hls/3vid_2aud/*"],
        "outputfile": "store_hls_3vid_2aud_{job_id}.zip"
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/content_armor_abingest_{job_id}",
        "files": [
          "out_hls_3vid_2aud_{job_id}.zip",
          "store_hls_3vid_2aud_{job_id}.zip"
        ]
      }
    }
  ]
}

content_armor_abingest_hls_cmaf

{
  "region": "aws:eu-west-1",
  "tags": [
    "itest",
    "content_armor",
    "content_armor_abingest-cl",
    "hls-cmaf"
  ],
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/content_armor/hls_cmaf",
        "files": [
          "tos.m3u8",
          "media_0.m3u8",
          "media_1.m3u8",
          "media_2.m3u8",
          "media_3.m3u8",
          "init-stream0.m4s",
          "init-stream1.m4s",
          "init-stream2.m4s",
          "init-stream3.m4s",
          "chunk-stream0-00001.m4s",
          "chunk-stream0-00002.m4s",
          "chunk-stream0-00003.m4s",
          "chunk-stream1-00001.m4s",
          "chunk-stream1-00002.m4s",
          "chunk-stream1-00003.m4s",
          "chunk-stream2-00001.m4s",
          "chunk-stream2-00002.m4s",
          "chunk-stream2-00003.m4s",
          "chunk-stream3-00001.m4s",
          "chunk-stream3-00002.m4s",
          "chunk-stream3-00003.m4s"
        ]
      }
    },
    {
     "tool": "content_armor:ABIngestCL",
      "parameters": {
        "input_file": "tos.m3u8",
        "output": "out/hls_cmaf",
        "payload_size": 16,
        "content_name": "Tears of Steel",
        "store_location": "store/hls_cmaf",
        "embedder_license": "{CA_EMB_LIC}",
        "profiler_license": "{CA_PROF_LIC}"

      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["out/hls_cmaf/*"],
        "outputfile": "out_hls_cmaf_{job_id}.zip"
      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["store/hls_cmaf/*"],
        "outputfile": "store_hls_cmaf_{job_id}.zip"
      }
    }, 
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/content_armor_abingest_{job_id}",
        "files": [
          "out_hls_cmaf_{job_id}.zip",
          "store_hls_cmaf_{job_id}.zip"
        ]
      }
    }
  ]
}

content_armor_abingest_hls_fmp4

{
  "region": "aws:eu-west-1",
  "tags": [
    "itest",
    "content_armor",
    "content_armor_abingest-cl",
    "hls-fmp4"
  ],
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/content_armor/fmp4",
        "files": [
          "tos.m3u8",
          "media_0.m3u8",
          "media_1.m3u8",
          "media_2.m3u8",
          "media_3.m3u8",
          "tos-stream0.mp4",
          "tos-stream1.mp4",
          "tos-stream2.mp4",
          "tos-stream3.mp4"
        ]
      }
    },
    {
     "tool": "content_armor:ABIngestCL",
      "parameters": {
        "input_file": "tos.m3u8",
        "output": "out/hls_fmp4",
        "payload_size": 16,
        "content_name": "Tears of Steel",
        "store_location": "store/hls_fmp4",
        "embedder_license": "{CA_EMB_LIC}",
        "profiler_license": "{CA_PROF_LIC}"

      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["out/hls_fmp4/*"],
        "outputfile": "out_hls_fmp4_{job_id}.zip"
      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["store/hls_fmp4/*"],
        "outputfile": "store_hls_fmp4_{job_id}.zip"
      }
    }, 
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/content_armor_abingest_{job_id}",
        "files": [
          "out_hls_fmp4_{job_id}.zip",
          "store_hls_fmp4_{job_id}.zip"
        ]
      }
    }
  ]
}

content_armor_abingest_mpd_3vid_2aud

{
  "region": "aws:eu-west-1",
  "tags": [
    "itest",
    "content_armor",
    "content_armor_abingest-cl",
    "dash-3vid-2aud-invisible"
  ],
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/content_armor/3vid_2aud/",
        "files": [
          "*"
        ]
      }
    },
    {
     "tool": "content_armor:ABIngestCL",
      "parameters": {
        "input_file": "3vid_2aud.mpd",
        "output": "out/dash/3vid_2aud",
        "payload_size": 16,
        "content_name": "BBB",
        "store_location": "store/dash/3vid_2aud",
        "embedder_license": "{CA_EMB_LIC}",
        "profiler_license": "{CA_PROF_LIC}"

      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["out/dash/3vid_2aud/*"],
        "outputfile": "out_dash_3vid_2aud_{job_id}.zip"
      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["store/dash/3vid_2aud/*"],
        "outputfile": "store_dash_3vid_2aud_{job_id}.zip"
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/content_armor_abingest_{job_id}",
        "files": [
          "out_dash_3vid_2aud_{job_id}.zip",
          "store_dash_3vid_2aud_{job_id}.zip"
        ]
      }
    }
  ]
}

content_armor_abingest_mpd_fmp4

{
  "region": "aws:eu-west-1",
  "tags": [
    "itest",
    "content_armor",
    "content_armor_abingest-cl",
    "mpd-fmp4"
  ],
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/content_armor/fmp4",
        "files": [
          "tos.mpd",
          "tos-stream0.mp4",
          "tos-stream1.mp4",
          "tos-stream2.mp4",
          "tos-stream3.mp4"
        ]
      }
    },
    {
     "tool": "content_armor:ABIngestCL",
      "parameters": {
        "input_file": "tos.mpd",
        "output": "out/mpd_fmp4",
        "payload_size": 16,
        "content_name": "Tears of Steel",
        "store_location": "store/mpd_fmp4",
        "embedder_license": "{CA_EMB_LIC}",
        "profiler_license": "{CA_PROF_LIC}"

      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["out/mpd_fmp4/*"],
        "outputfile": "out_mpd_fmp4_{job_id}.zip"
      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["store/mpd_fmp4/*"],
        "outputfile": "store_mpd_fmp4_{job_id}.zip"
      }
    }, 
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/content_armor_abingest_{job_id}",
        "files": [
          "out_mpd_fmp4_{job_id}.zip",
          "store_mpd_fmp4_{job_id}.zip"
        ]
      }
    }
  ]
}

content_armor_embed

{
  "region": "aws:eu-west-1",
  "tags": [
    "itest",
    "content_armor",
    "embed"
  ],
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/content_armor",
        "files": [
          "tos_hevc_profiled.mp4"
        ]
      }
    },
    {
     "tool": "content_armor:embed",
      "parameters": {
        "input_file": "tos_hevc_profiled.mp4",
        "output_file": "tos_hevc_cafe.mp4",
        "wm_id": "cafe",
        "license": "{CA_EMB_LIC}"

      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["tos_hevc_cafe.mp4"],
        "outputfile": "out_embed_{job_id}.zip"
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/content_armor_embed_{job_id}",
        "files": [
          "out_embed_{job_id}.zip"
        ]
      }
    }
  ]
}

content_armor_profile

{
  "region": "aws:eu-west-1",
  "tags": [
    "itest",
    "content_armor",
    "profile"
  ],
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/content_armor",
        "files": [
          "tos_hevc.mp4"
        ]
      }
    },
    {
     "tool": "content_armor:profile",
      "parameters": {
        "input_file": "tos_hevc.mp4",
        "output_file": "tos_hevc_profiled.mp4",
        "export_work": "tos_hevc_export_work.tar.gz",
        "content_name": "Tears",
        "payload_size": 16,
        "license": "{CA_PROF_LIC}"

      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["tos_hevc_profiled.mp4"],
        "outputfile": "out_profiled_{job_id}.zip"
      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["tos_hevc_export_work.tar.gz"],
        "outputfile": "out_export_work_{job_id}.zip"
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/content_armor_profile_{job_id}",
        "files": [
          "out_profiled_{job_id}.zip",
          "out_export_work_{job_id}.zip"
        ]
      }
    }
  ]
}

content_armor_profile_abr_sei_aligned

{
  "region": "aws:eu-west-1",
  "tags": [
    "itest",
    "content_armor",
    "profile"
  ],
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/content_armor/abr_sei_aligned_itest",
        "files": [
          "h264_high_360p_380.mp4",
          "h264_high_480p_1200.mp4",
          "h264_high_576p_2000.mp4",
          "h264_high_720p_3000.mp4",
          "h264_high_720p_4500.mp4",
          "h264_high_1080p_6000.mp4",
          "h264_high_1080p_7800.mp4",
          "manifest.mpd"
        ]
      }
    },
    {
      "tool": "content_armor:profile",
      "parameters": {
        "abr_sei_aligned": true,
        "content_name": "Tears",
        "embed_encrypt": true,
        "export_work": "tos_abr_sei_aligned_export_work.tar.gz",
        "input_file": "manifest.mpd",
        "license": "{CA_PROF_LIC}",
        "output_folder": "profiled",
        "payload_size": 16
      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": [
          "profiled"
        ],
        "outputfile": "{job_id}_out_profiled.zip"
      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": [
          "tos_abr_sei_aligned_export_work.tar.gz"
        ],
        "outputfile": "{job_id}_out_export_work.zip"
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/content_armor_profile_abr_sei_aligned_{job_id}",
        "files": [
          "{job_id}_out_profiled.zip",
          "{job_id}_out_export_work.zip"
        ]
      }
    }
  ]
}

content_armor_profile_emb_enc

{
  "region": "aws:eu-west-1",
  "tags": [
    "itest",
    "content_armor",
    "profile-emb-enc"
  ],
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN/content_armor",
        "files": [
          "tos_hevc.mp4"
        ]
      }
    },
    {
     "tool": "content_armor:profile",
      "parameters": {
        "input_file": "tos_hevc.mp4",
        "output_file": "tos_hevc_profiled.mp4",
        "embed_encrypt": true,
        "export_work": "tos_hevc_export_work.tar.gz",
        "content_name": "Tears",
        "payload_size": 16,
        "license": "{CA_PROF_LIC}"

      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["tos_hevc_profiled.mp4"],
        "outputfile": "out_profile_{job_id}.zip"
      }
    },
    {
      "tool": "utils:zip",
      "parameters": {
        "input_patterns": ["tos_hevc_export_work.tar.gz"],
        "outputfile": "out_export_work_{job_id}.zip"
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/content_armor_profile_{job_id}",
        "files": [
          "out_profile_{job_id}.zip",
          "out_export_work_{job_id}.zip"
        ]
      }
    }
  ]
}

ffmpeg_cmd

{
  "tags": [
    "itest",
    "encoding",
    "ffmpeg_cmd"
  ],
  "region": "aws:eu-west-1",
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN",
        "files": [
          "tos_5s_video_1920x1080_2mbps.mp4",
          "tos_5s_audio_44100Hz_64k_HE_2chan_eng.mp4"
        ]
      }
    },
    {
      "parameters": {
        "inputfile": "tos_5s_video_1920x1080_2mbps.mp4"
      },
      "tool": "transcode:cropdetect"
    },
    {
      "tool": "ffmpeg:cmd",
      "parameters": {
        "arguments": [
          "-y",
          "-i",
          "tos_5s_video_1920x1080_2mbps.mp4",
          "-i",
          "tos_5s_audio_44100Hz_64k_HE_2chan_eng.mp4",
          "-filter_complex_threads",
          "36",
          "-filter_complex",
          "\"[0:v]{cropdetect}[cropped];[cropped]scale='(trunc((ih*((dar)/2))*2))':ih,setsar=1[squarepixeled];[squarepixeled]scale=384:'if(not(mod((384/a),2)),-2,(trunc((384/a)/2)*2))',setsar=1[scaled];[scaled]drawtext=fontsize=(main_h/11):text='216p@600k':fontcolor=white:fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-ExtraLight.ttf[data]\"",
          "-map",
          "[data]",
          "-pix_fmt",
          "yuv420p",
          "-c:v",
          "libx264",
          "-deblock",
          "1:0",
          "-profile:v",
          "high",
          "-preset",
          "veryfast",
          "-level",
          "2.0",
          "-b:v",
          "600k",
          "-maxrate",
          "600k",
          "-bufsize",
          "1200k",
          "-force_key_frames",
          "\"expr:gte(t,n_forced*5)\"",
          "-sc_threshold",
          "40",
          "-acodec",
          "libfdk_aac",
          "-ab",
          "128000",
          "-ar",
          "48000",
          "-ac",
          "2",
          "-profile:a",
          "aac_low",
          "-metadata:s:a:0",
          "language=eng",
          "-pass",
          "1",
          "AudioVideo.mp4"
        ]
      }
    },
    {
      "tool": "ffmpeg:cmd",
      "parameters": {
        "arguments": [
          "-y",
          "-i",
          "tos_5s_video_1920x1080_2mbps.mp4",
          "-i",
          "tos_5s_audio_44100Hz_64k_HE_2chan_eng.mp4",
          "-filter_complex_threads",
          "36",
          "-filter_complex",
          "\"[0:v]{cropdetect}[cropped];[cropped]scale='(trunc((ih*((dar)/2))*2))':ih,setsar=1[squarepixeled];[squarepixeled]scale=384:'if(not(mod((384/a),2)),-2,(trunc((384/a)/2)*2))',setsar=1[scaled];[scaled]drawtext=fontsize=(main_h/11):text='216p@600k':fontcolor=white:fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-ExtraLight.ttf[data]\"",
          "-map",
          "[data]",
          "-pix_fmt",
          "yuv420p",
          "-c:v",
          "libx264",
          "-deblock",
          "1:0",
          "-profile:v",
          "high",
          "-preset",
          "veryfast",
          "-level",
          "2.0",
          "-b:v",
          "600k",
          "-maxrate",
          "600k",
          "-bufsize",
          "1200k",
          "-force_key_frames",
          "\"expr:gte(t,n_forced*5)\"",
          "-sc_threshold",
          "40",
          "-acodec",
          "libfdk_aac",
          "-ab",
          "128000",
          "-ar",
          "48000",
          "-ac",
          "2",
          "-profile:a",
          "aac_low",
          "-metadata:s:a:0",
          "language=eng",
          "-pass",
          "2",
          "AudioVideo.mp4"
        ]
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/encoding-ffmpeg_cmd_{job_id}",
        "files": [
          "AudioVideo.mp4"
        ]
      }
    }
  ]
}

ffmpeg_cmd_corrupted

{
  "tags": [
    "itest",
    "encoding",
    "ffmpeg_cmd",
    "corrupted"
  ],
  "region": "aws:eu-west-1",
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN",
        "files": [
          "video_corrupted.mp4"
        ]
      }
    },
    {
      "tool": "ffmpeg:cmd",
      "parameters": {
        "ignore_decoding_errors": true,
        "arguments": [
          "-y",
          "-i",
          "video_corrupted.mp4",
          "-c:v",
          "libx264",
          "corrupted_transcoded.mp4"
        ]
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/encoding-ffmpeg_cmd_corrupted_{job_id}",
        "files": [
          "corrupted_transcoded.mp4"
        ]
      }
    }
  ]
}

ffmpeg_cmd_s3_mount

{
  "tags": [
    "itest",
    "encoding",
    "ffmpeg_cmd",
    "s3_mount"
  ],
  "region": "aws:eu-west-1",
  "role_arn": "arn:aws:iam::685872506356:role/video-toolkit-integration-test-staging",
  "tasks": [
    {
      "tool": "storage:mount",
      "parameters": {
        "location": "s3://com.castlabs.vtk.itest/IN",
        "files": [
          "tos_5s_video_1920x1080_2mbps.mp4",
          "tos_5s_audio_44100Hz_64k_HE_2chan_eng.mp4"
        ]
      }
    },
    {
      "parameters": {
        "inputfile": "tos_5s_video_1920x1080_2mbps.mp4"
      },
      "tool": "transcode:cropdetect"
    },
    {
      "tool": "ffmpeg:cmd",
      "parameters": {
        "arguments": [
          "-y",
          "-i",
          "tos_5s_video_1920x1080_2mbps.mp4",
          "-i",
          "tos_5s_audio_44100Hz_64k_HE_2chan_eng.mp4",
          "-filter_complex_threads",
          "36",
          "-filter_complex",
          "\"[0:v]{cropdetect}[cropped];[cropped]scale='(trunc((ih*((dar)/2))*2))':ih,setsar=1[squarepixeled];[squarepixeled]scale=384:'if(not(mod((384/a),2)),-2,(trunc((384/a)/2)*2))',setsar=1[scaled];[scaled]drawtext=fontsize=(main_h/11):text='216p@600k':fontcolor=white:fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-ExtraLight.ttf[data]\"",
          "-map",
          "[data]",
          "-pix_fmt",
          "yuv420p",
          "-c:v",
          "libx264",
          "-deblock",
          "1:0",
          "-profile:v",
          "high",
          "-preset",
          "veryfast",
          "-level",
          "2.0",
          "-b:v",
          "600k",
          "-maxrate",
          "600k",
          "-bufsize",
          "1200k",
          "-force_key_frames",
          "\"expr:gte(t,n_forced*5)\"",
          "-sc_threshold",
          "40",
          "-acodec",
          "libfdk_aac",
          "-ab",
          "128000",
          "-ar",
          "48000",
          "-ac",
          "2",
          "-profile:a",
          "aac_low",
          "-metadata:s:a:0",
          "language=eng",
          "-pass",
          "1",
          "AudioVideo.mp4"
        ]
      }
    },
    {
      "tool": "ffmpeg:cmd",
      "parameters": {
        "arguments": [
          "-y",
          "-i",
          "tos_5s_video_1920x1080_2mbps.mp4",
          "-i",
          "tos_5s_audio_44100Hz_64k_HE_2chan_eng.mp4",
          "-filter_complex_threads",
          "36",
          "-filter_complex",
          "\"[0:v]{cropdetect}[cropped];[cropped]scale='(trunc((ih*((dar)/2))*2))':ih,setsar=1[squarepixeled];[squarepixeled]scale=384:'if(not(mod((384/a),2)),-2,(trunc((384/a)/2)*2))',setsar=1[scaled];[scaled]drawtext=fontsize=(main_h/11):text='216p@600k':fontcolor=white:fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-ExtraLight.ttf[data]\"",
          "-map",
          "[data]",
          "-pix_fmt",
          "yuv420p",
          "-c:v",
          "libx264",
          "-deblock",
          "1:0",
          "-profile:v",
          "high",
          "-preset",
          "veryfast",
          "-level",
          "2.0",
          "-b:v",
          "600k",
          "-maxrate",
          "600k",
          "-bufsize",
          "1200k",
          "-force_key_frames",
          "\"expr:gte(t,n_forced*5)\"",
          "-sc_threshold",
          "40",
          "-acodec",
          "libfdk_aac",
          "-ab",
          "128000",
          "-ar",
          "48000",
          "-ac",
          "2",
          "-profile:a",
          "aac_low",
          "-metadata:s:a:0",
          "language=eng",
          "-pass",
          "2",
          "AudioVideo.mp4"
        ]
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/encoding-ffmpeg_cmd_s3_mount_{job_id}",
        "files": [
          "AudioVideo.mp4"
        ]
      }
    }
  ]
}

ffmpeg_loudnorm

{
  "tags": [
    "itest",
    "encoding",
    "ffmpeg_loudnorm"
  ],
  "region": "aws:eu-west-1",
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN",
        "files": [
          "tos_5s_audio_44100Hz_64k_HE_2chan_eng.mp4"
        ]
      }
    },
    {
      "tool": "ffmpeg:loudnorm_analyze",
      "parameters": {
        "input_file": "tos_5s_audio_44100Hz_64k_HE_2chan_eng.mp4"
      }
    },
    {
      "tool": "utils:echo",
        "parameters": {
            "text": "{my_audio_input_i}\\n{my_audio_input_tp}\\n{my_audio_input_lra}\\n{my_audio_input_thresh}\\n{my_audio_output_i}\\n{my_audio_output_tp}\\n{my_audio_output_lra}\\n{my_audio_output_thresh}\\n{my_audio_normalization_type}\\n{my_audio_target_offset}"
        }
    },
    {
      "tool": "ffmpeg:loudnorm_analyze",
      "parameters": {
        "input_file": "tos_5s_audio_44100Hz_64k_HE_2chan_eng.mp4",
        "output": {
          "ffmpeg_args": [
            "-c:a", "libfdk_aac",
            "-ar", "48000",
            "-b:a", "128k",
            "-ac", "2",
            "tos_5s_audio_44100Hz_64k_HE_2chan_eng_normalized.m4a"
          ]
        }
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/encoding-ffmpeg_loudnorm_output_{job_id}",
        "files": [
          "tos_5s_audio_44100Hz_64k_HE_2chan_eng_normalized.m4a"
        ]
      }
    }
  ]
}

ffmpeg_loudnorm_silent

{
  "tags": [
    "itest",
    "encoding",
    "ffmpeg_loudnorm_silent"
  ],
  "region": "aws:eu-west-1",
  "tasks": [
    {
      "tool": "ffmpeg:cmd",
      "parameters": {
        "arguments": [
          "-y",
          "-f",
          "lavfi",
          "-i",
          "anullsrc=channel_layout=stereo:sample_rate=48000",
          "-c:a",
          "pcm_s24le",
          "-t",
          "60",
          "silent.wav"
        ]
      }
    },
    {
      "tool": "ffmpeg:loudnorm_analyze",
      "parameters": {
        "input_file": "silent.wav"
      }
    },
    {
      "tool": "ffmpeg:cmd",
        "parameters": {
            "arguments": [
              "-y",
              "-i",
              "silent.wav",
              "-filter_complex",
              "[0:a]loudnorm=I=-18:TP=-1:LRA=15:measured_I={my_audio_input_i}:measured_LRA={my_audio_input_lra}:measured_TP={my_audio_input_tp}:measured_thresh={my_audio_input_thresh}:offset={my_audio_target_offset}:linear=true:print_format=summary[a]",
              "-map",
              "[a]",
              "-c:a",
              "pcm_s24le",
              "out.wav"
            ]
        }
    }
  ]
}

thumbs_generate

{
  "tags": [
    "itest",
    "encoding",
    "thumbs_generate"
  ],
  "region": "aws:eu-west-1",
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN",
        "files": [
          "tos_5s_video_1920x1080_2mbps.mp4"
        ]
      }
    },
    {
      "tool": "thumbs:generate",
      "parameters": {
        "inputfile": "tos_5s_video_1920x1080_2mbps.mp4",
        "duration": "5",
        "outputdir": "thumbnails",
        "height": "180",
        "grid_width": "8",
        "grid_height": "8",
        "filename": "thumbs",
        "quality": "60"
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/encoding-thumbs_generate_{job_id}",
        "files": [
          "thumbnails/*.jpg"
        ]
      }
    }
  ]
}

transcode_cropdetect

{
  "tags": [
    "itest",
    "encoding",
    "transcode_cropdetect"
  ],
  "region": "aws:eu-west-1",
  "tasks": [
    {
      "tool": "storage:get",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/IN",
        "files": [
          "tos_5s_video_1920x1080_2mbps.mp4",
          "tos_5s_audio_44100Hz_64k_HE_2chan_eng.mp4"
        ]
      }
    },
    {
      "parameters": {
        "inputfile": "tos_5s_video_1920x1080_2mbps.mp4"
      },
      "tool": "transcode:cropdetect"
    },
    {
      "tool": "ffmpeg:cmd",
      "parameters": {
        "arguments": [
          "-y",
          "-i",
          "tos_5s_video_1920x1080_2mbps.mp4",
          "-i",
          "tos_5s_audio_44100Hz_64k_HE_2chan_eng.mp4",
          "-filter_complex_threads",
          "36",
          "-filter_complex",
          "\"[0:v]{cropdetect}[cropped];[cropped]scale='(trunc((ih*((dar)/2))*2))':ih,setsar=1[squarepixeled];[squarepixeled]scale=384:'if(not(mod((384/a),2)),-2,(trunc((384/a)/2)*2))',setsar=1[scaled];[scaled]drawtext=fontsize=(main_h/11):text='216p@600k':fontcolor=white:fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-ExtraLight.ttf[data]\"",
          "-map",
          "[data]",
          "-pix_fmt",
          "yuv420p",
          "-c:v",
          "libx264",
          "-deblock",
          "1:0",
          "-profile:v",
          "high",
          "-preset",
          "veryfast",
          "-level",
          "2.0",
          "-crf",
          "18",
          "-maxrate",
          "600k",
          "-bufsize",
          "1200k",
          "-force_key_frames",
          "\"expr:gte(t,n_forced*5)\"",
          "-sc_threshold",
          "40",
          "-acodec",
          "libfdk_aac",
          "-ab",
          "128000",
          "-ar",
          "48000",
          "-ac",
          "2",
          "-profile:a",
          "aac_low",
          "-metadata:s:a:0",
          "language=eng",
          "AudioVideo.mp4"
        ]
      }
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/encoding-transcode_cropdetect_{job_id}",
        "files": [
          "AudioVideo.mp4"
        ]
      }
    }
  ]
}

watermark_generate_ife

{
  "tags": [
    "itest",
    "watermark",
    "generate-ife"
  ],
  "region": "aws:eu-west-1",
  "tasks": [
    {
      "parameters": {
        "text": "Fantasia Fly"
      },
      "tool": "watermark:generate-ife"
    },
    {
      "tool": "storage:put",
      "parameters": {
        "location": "s3://{com-castlabs-vtk-itest-access-keys}@com.castlabs.vtk.itest/OUT/watermark-generate-ife_{job_id}",
        "files": [
          "50.png",
          "100.png"
        ]
      }
    }
  ]
}
Previous topic: DRMtoday
Next topic: File Transfer