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