gpt4 book ai didi

ios - AWS ios SDK - 弹性转码器作业的 http post 请求

转载 作者:可可西里 更新时间:2023-11-01 01:06:32 25 4
gpt4 key购买 nike

研究 AWS 弹性转码器,有几个问题:

  1. 对于我的用例,首先使用转码器是否有重要值(value)?我正在制作一个允许用户选择视频的 ios 应用程序。当他们这样做时,我将其上传到 S3 存储桶。据我了解,我应该使用弹性转码器对这些视频进行转码,然后将它们放入 hls 格式的第二个存储桶中。这是否有意义,或者我是否会因为我只在 ios 设备上创建内容然后在 ios 设备上流式传输而取消转码步骤?

  2. 假设执行管道作业有一定的值(value),我有一个实现问题:如果我使用的是 ios SDK,是否有办法绕过在 elastic 中指定的手动创建 http 授权 header 转码器请求文档?当我在 xcode 中工作时,我没有看到任何特定于转码器的方法,但我只是想知道是否有某种方法可以使用 AWSRequest(而不是 NSMutableURLRequest)之类的东西来省去我制作授权 key 。我查看了一大堆文档,包括 ios SDK 示例项目,但没有看到使用 AWSRequest 之类的东西。请帮我指明正确的方向!

代码:我已经根据此处的文档为请求正文构建了 json 结构:http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/making-http-requests.html#http-request-header这是我在遇到授权 header 的复杂性之前所得到的:

println("my json: \(jsonRequestString)")

var dateFormatter:NSDateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyyMMdd'T'HHmmss'Z'"
var dateString = dateFormatter.stringFromDate(date)
println("dateString: \(dateString)")
var elasticTranscoderURLString:String = "elastictranscoder.us-west-1.amazonaws.com"
var elasticTranscoderRequest:NSMutableURLRequest = NSMutableURLRequest(URL: NSURL(string: elasticTranscoderURLString)!)
elasticTranscoderRequest.HTTPMethod = "POST"
elasticTranscoderRequest.addValue("elastictranscoder.us-west-1.amazonaws.com", forHTTPHeaderField: "Host")
elasticTranscoderRequest.addValue("application/x-amz-json-1.0", forHTTPHeaderField: "Content-Type")
elasticTranscoderRequest.addValue(dateString, forHTTPHeaderField: "x-amz-date")
//placeholder - need to add authorization header field
//placeholder - need to add content-length header field
var requestData: NSData = jsonRequestString.dataUsingEncoding(NSUTF8StringEncoding)!
elasticTranscoderRequest.HTTPBody = requestData

var elasticTranscoderSession = NSURLSession.sharedSession()

var elasticTranscoderTask = elasticTranscoderSession.dataTaskWithRequest(elasticTranscoderRequest, completionHandler: {(elasticTranscoderData, response, error) in

println("here's the error: \(error)")
println("here's the response: \(response)")
println("I'm in the completion handler of elasticTranscoderTask")

})//end elasticTranscoderTask completion handler
elasticTranscoderTask.resume()

很明显,我在运行时遇到了错误。

这是最接近我的问题,但没有答案:Rest call with amazon ios sdk to amazon elastic transcoder

最佳答案

  1. 这个问题的答案完全取决于您的用例。 Amazon Elastic Transcoder 是转换视频格式和创建缩略图、视觉水印和字幕等的重要选择。这些只是众多示例中的几个。你应该看看 Amazon Elastic Transcoder Product Details .

  2. 如果您决定使用 Elastic Transcoder,您应该从 AWS Management Console 设置管道因为它是一次性设置。从移动设备创建管道没有意义。从移动设备,您应该只将视频文件上传到您的 Amazon S3 存储桶。后端服务器(例如 Amazon EC2 和 AWS Elastic Beanstalk 都是不错的选择)应该监控存储桶并为 Elastic Transcoder 创建作业。 AWS 刚刚宣布 AWS Lambda , 你可能想检查一下。工作完成后,您可以使用 Amazon SNS 获得通知。

关于ios - AWS ios SDK - 弹性转码器作业的 http post 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27266916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com