本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
MediaConvert 使用 Kotlin 开发工具包的示例
以下代码示例向您展示了如何使用适用于 Kotlin 的 AWS SDK 来执行操作和实现常见场景。 MediaConvert
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 CreateJob
。
- 适用于 Kotlin 的 SDK
-
注意
还有更多相关信息 GitHub。在 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 }
-
有关 API 的详细信息,请参阅适用CreateJob
于 K otlin 的AWS SDK API 参考。
-
以下代码示例演示了如何使用 GetJob
。
- 适用于 Kotlin 的 SDK
-
注意
还有更多相关信息 GitHub。在 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}") }
-
有关 API 的详细信息,请参阅适用GetJob
于 K otlin 的AWS SDK API 参考。
-
以下代码示例演示了如何使用 ListJobs
。
- 适用于 Kotlin 的 SDK
-
注意
还有更多相关信息 GitHub。在 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}") } } }
-
有关 API 的详细信息,请参阅适用ListJobs
于 K otlin 的AWS SDK API 参考。
-