function computeRemainingParams()

in source/lambda/extractaudio/extractaudio.js [118:181]


function computeRemainingParams(event, params) {
  var outputAudioBucket = process.env.OUTPUT_AUDIO_BUCKET;

  var outputAudioKeyPrefix = process.env.OUTPUT_AUDIO_KEY_PREFIX;

  /**
   * If this is the first time through create a new videoId
   */
  if (params.videoId == null) {
    params.videoId = uuidv4();
  }

  params.mediaConvertRole = process.env.MEDIACONVERT_ROLE;
  params.mediaConvertQueue = process.env.MEDIACONVERT_QUEUE;

  params.outputAudioBucket = outputAudioBucket;
  params.outputAudioKeyPrefix = outputAudioKeyPrefix;
  params.outputAudioS3Path =
    "s3://" +
    outputAudioBucket +
    "/" +
    outputAudioKeyPrefix +
    "/" +
    params.videoNamePrefix +
    "_" +
    params.videoId +
    ".mp4";

  params.dynamoVideoTable = process.env.DYNAMO_VIDEO_TABLE;

  params.status = "PROCESSING";
  params.statusText = "Extracting audio";

  /**
   * Check format and only accept MP4, MKV and MOV files
   */
  if (params.videoName.toLowerCase().endsWith(".mp4")) {
    console.log(
      "[INFO] found MP4 input video file that requires transcoding: %s",
      params.videoName
    );
    params.videoType = "MP4";
  } else if (params.videoName.toLowerCase().endsWith(".mkv")) {
    console.log(
      "[INFO] found MKV input video file that requires transcoding: %s",
      params.videoName
    );
    params.videoType = "MKV";
  } else if (params.videoName.toLowerCase().endsWith(".mov")) {
    console.log(
      "[INFO] found MOV input video file that requires transcoding: %s",
      params.videoName
    );
    params.videoType = "MOV";
  } else {
    console.log(
      "[ERROR] found incompatible input video file, skipping: %s",
      params.videoName
    );
    params.videoType = "UNKNOWN";
  }

  console.log("[INFO] computed initial parameters: %j", params);
}