in source/lambda/extractaudio/extractaudio.js [235:338]
async function extractAudio(params) {
console.log("extractAudio input params:", params);
var mediaConvertEndpoint = await getMediaConvertEndpoint();
console.log("endpoint: ", mediaConvertEndpoint);
AWS.config.mediaconvert = { endpoint: mediaConvertEndpoint };
var mediaConvertParams = {
Queue: params.mediaConvertQueue,
UserMetadata: {},
Role: params.mediaConvertRole,
Settings: {
TimecodeConfig: {
Source: "ZEROBASED",
},
OutputGroups: [
{
Name: "File Group",
Outputs: [
{
ContainerSettings: {
Container: "MP4",
Mp4Settings: {},
},
AudioDescriptions: [
{
AudioSourceName: "Audio Selector 1",
CodecSettings: {
Codec: "AAC",
AacSettings: {
Bitrate: 32000,
CodingMode: "CODING_MODE_2_0",
SampleRate: 24000,
},
},
},
],
Extension: "mp4",
NameModifier: "_" + params.videoId,
},
],
OutputGroupSettings: {
Type: "FILE_GROUP_SETTINGS",
FileGroupSettings: {
Destination:
"s3://" +
params.outputAudioBucket +
"/" +
params.outputAudioKeyPrefix +
"/",
},
},
},
],
Inputs: [
{
AudioSelectors: {
"Audio Selector 1": {
DefaultSelection: "DEFAULT",
},
},
VideoSelector: {},
TimecodeSource: "ZEROBASED",
FileInput: params.inputS3Path,
},
],
},
AccelerationSettings: {
Mode: "DISABLED",
},
StatusUpdateInterval: "SECONDS_60",
Priority: 0,
};
console.log(
"start to create media convert job, params: %j",
mediaConvertParams
);
var endpointPromise;
if (process.env.REGION === "cn-north-1") {
endpointPromise = new AWS.MediaConvert({
apiVersion: "2017-08-29",
region: "cn-northwest-1",
})
.createJob(mediaConvertParams)
.promise();
} else {
endpointPromise = new AWS.MediaConvert({ apiVersion: "2017-08-29" })
.createJob(mediaConvertParams)
.promise();
}
console.log("media convert job created");
// Handle promise's fulfilled/rejected status
await endpointPromise.then(
function (data) {
console.log("Job created! ", data);
},
function (err) {
console.log("Error", err);
}
);
}