Ejemplos de MediaConvert usando SDK para Kotlin - Ejemplos de código de AWS SDK

Hay más ejemplos de AWS SDK disponibles en el repositorio de GitHub de ejemplos de AWS SDK de documentos.

Ejemplos de MediaConvert usando SDK para Kotlin

En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes usando un SDK de AWS para Kotlin con MediaConvert.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar CreateJob.

SDK para Kotlin
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

suspend fun createMediaJob( mcClient: MediaConvertClient, mcRoleARN: String, fileInput1: String, ): String? { // Step 1: Describe endpoints to get the MediaConvert endpoint URL val describeResponse = mcClient.describeEndpoints( DescribeEndpointsRequest { maxResults = 1 }, ) val endpointUrl = describeResponse.endpoints?.firstOrNull()?.url ?: error("No MediaConvert endpoint found") // Step 2: Create MediaConvert client with resolved endpoint val mediaConvert = MediaConvertClient.fromEnvironment { region = "us-west-2" endpointProvider = MediaConvertEndpointProvider { Endpoint(endpointUrl) } } // Output destination folder in S3 - put in 'output/' folder beside input val outputDestination = fileInput1.substringBeforeLast('/') + "/output/" // Step 3: Create the job request with minimal valid video codec settings val jobRequest = CreateJobRequest { role = mcRoleARN settings = JobSettings { inputs = listOf( Input { fileInput = fileInput1 }, ) outputGroups = listOf( OutputGroup { outputGroupSettings = OutputGroupSettings { type = OutputGroupType.FileGroupSettings fileGroupSettings = FileGroupSettings { destination = outputDestination } } outputs = listOf( Output { containerSettings = ContainerSettings { container = ContainerType.Mp4 } videoDescription = VideoDescription { width = 1280 height = 720 codecSettings = VideoCodecSettings { codec = VideoCodec.H264 h264Settings = H264Settings { rateControlMode = H264RateControlMode.Qvbr qvbrSettings = H264QvbrSettings { qvbrQualityLevel = 7 } maxBitrate = 5_000_000 codecLevel = H264CodecLevel.Auto codecProfile = H264CodecProfile.Main framerateControl = H264FramerateControl.InitializeFromSource } } } }, ) }, ) } } // Step 4: Call MediaConvert to create the job val response = mediaConvert.createJob(jobRequest) // Return the job ID or null if not found return response.job?.id }
  • Para obtener información sobre la API, consulte CreateJob en la Referencia de la API del AWSSDK para Kotlin.

En el siguiente ejemplo de código, se muestra cómo utilizar GetJob.

SDK para Kotlin
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

suspend fun getSpecificJob(mcClient: MediaConvertClient, jobId: String) { // 1. Discover the correct endpoint val res = mcClient.describeEndpoints(DescribeEndpointsRequest { maxResults = 1 }) var endpointUrl = res.endpoints?.firstOrNull()?.url ?: error(" No MediaConvert endpoint found") // 2. Create a new client using the endpoint val clientWithEndpoint = MediaConvertClient { region = "us-west-2" endpointUrl = endpointUrl } // 3. Get the job details val jobResponse = clientWithEndpoint.getJob(GetJobRequest { id = jobId }) val job = jobResponse.job println("Job status: ${job?.status}") println("Job ARN: ${job?.arn}") println("Output group count: ${job?.settings?.outputGroups?.size}") }
  • Para obtener información de la API, consulte GetJob en la referencia de la API de AWS SDK para Kotlin.

En el siguiente ejemplo de código, se muestra cómo utilizar ListJobs.

SDK para Kotlin
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

suspend fun listCompleteJobs(mcClient: MediaConvertClient) { val describeEndpoints = DescribeEndpointsRequest { maxResults = 20 } val res = mcClient.describeEndpoints(describeEndpoints) if (res.endpoints?.size!! <= 0) { println("Cannot find MediaConvert service endpoint URL!") exitProcess(0) } val endpointURL = res.endpoints!![0].url!! val mediaConvert = MediaConvertClient.fromEnvironment { region = "us-west-2" endpointProvider = MediaConvertEndpointProvider { Endpoint(endpointURL) } } val jobsRequest = ListJobsRequest { maxResults = 10 status = JobStatus.fromValue("COMPLETE") } val jobsResponse = mediaConvert.listJobs(jobsRequest) val jobs = jobsResponse.jobs if (jobs != null) { for (job in jobs) { println("The JOB ARN is ${job.arn}") } } }
  • Para obtener información sobre la API, consulte ListJobs en la Referencia de la API de AWS SDK para Kotlin.