You can accomplish this by using Input Clipping in MediaConvert. You would need to create multiple jobs in order to get the input clipping range and outputs you desire.
In your job settings the input blocks would look something like the following.
Job 1
"Inputs": [
{
"AudioSelectors": {
"Audio Selector 1": {
"Offset": 0,
"DefaultSelection": "DEFAULT",
"ProgramSelection": 1
}
},
"VideoSelector": {
"ColorSpace": "FOLLOW",
"Rotate": "DEGREE_0",
"AlphaBehavior": "DISCARD"
},
"FilterEnable": "AUTO",
"PsiControl": "USE_PSI",
"FilterStrength": 0,
"DeblockFilter": "DISABLED",
"DenoiseFilter": "DISABLED",
"InputScanType": "AUTO",
"TimecodeSource": "ZEROBASED",
"FileInput": "s3://bucket/media.mp4",
"InputClippings": [
{
"StartTimecode": "00:00:00:00",
"EndTimecode": "00:10:00:00"
}
]
}
]
Job 2
"Inputs": [
{
"AudioSelectors": {
"Audio Selector 1": {
"Offset": 0,
"DefaultSelection": "DEFAULT",
"ProgramSelection": 1
}
},
"VideoSelector": {
"ColorSpace": "FOLLOW",
"Rotate": "DEGREE_0",
"AlphaBehavior": "DISCARD"
},
"FilterEnable": "AUTO",
"PsiControl": "USE_PSI",
"FilterStrength": 0,
"DeblockFilter": "DISABLED",
"DenoiseFilter": "DISABLED",
"InputScanType": "AUTO",
"TimecodeSource": "ZEROBASED",
"FileInput": "s3://bucket/media.mp4",
"InputClippings": [
{
"StartTimecode": "00:10:00:00",
"EndTimecode": "00:40:00:00"
}
]
}
]
Job 3
"Inputs": [
{
"AudioSelectors": {
"Audio Selector 1": {
"Offset": 0,
"DefaultSelection": "DEFAULT",
"ProgramSelection": 1
}
},
"VideoSelector": {
"ColorSpace": "FOLLOW",
"Rotate": "DEGREE_0",
"AlphaBehavior": "DISCARD"
},
"FilterEnable": "AUTO",
"PsiControl": "USE_PSI",
"FilterStrength": 0,
"DeblockFilter": "DISABLED",
"DenoiseFilter": "DISABLED",
"InputScanType": "AUTO",
"TimecodeSource": "ZEROBASED",
"FileInput": "s3://bucket/media.mp4",
"InputClippings": [
{
"StartTimecode": "00:40:00:00",
"EndTimecode": "01:00:00:00"
}
]
}
]
Something to note here is that clipping regions are based off the timecode on the input source. In my example I set the timecode source to zerobased, this the means the service will start the timecode at 0 and tick up. You do have the option to specifying a start timecode or using embedded timecode on the file.
Note that timecode needs to be in the SMPTE syntax (HOURS:MINUTES:SECONDS:FRAMES) [2]
== Documentation ==
[1] https://docs.aws.amazon.com/mediaconvert/latest/ug/assembling-multiple-inputs-and-input-clips.html
[2] https://en.wikipedia.org/wiki/SMPTE_timecode