added ability to choose transcode type and support multiple input types