Глядя в AWS упругого транскодер, и есть несколько вопросов:AWS ИОС SDK - HTTP POST запрос эластичного транскодера работы
Есть ли существенное значение, используя транскодер в первую очередь, для моего случая использования? Я делаю приложение ios, которое позволяет пользователям выбирать видео. Когда они это делают, я загружаю его в ведро S3. Насколько я понимаю, я должен использовать эластичный транскодер, чтобы затем перекодировать эти видео и опустить их во втором ковше в формате hls. Имеет ли это смысл, или я был бы так же хорошо, как исключить шаг транскодирования, поскольку я только создаю контент на устройствах ios, а затем транслирую его на устройства ios?
Предполагая, что есть какое-то значение для выполнения работ по конвейеру, у меня есть вопрос реализации: если я использую SDK ios, есть ли способ обойти ручное создание заголовка авторизации http, указанного в эластичном транскодере запрашивать документы? Я не вижу каких-либо методов, специфичных для транскодера, когда я работаю в xcode, но мне просто интересно, есть ли способ использовать что-то вроде AWSRequest (в отличие от NSMutableURLRequest), что избавит меня от необходимости создавать ключ авторизации. Я просмотрел целую кучу документации, включая примеры проектов SDK ios, но не видел ничего подобного AWSRequest. Пожалуйста, помогите указать мне в правильном направлении!
Код: Я уже построил структуру JSon для тела запроса на основании документации здесь: http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/making-http-requests.html#http-request-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
OK, что имеет смысл. Я не понимал, что могу создать трубопровод, который автоматически забирает все, что я помещаю в одно ведро, перекодирует его в соответствии с моими требованиями и бросает его в другое ведро. Как настроить это на консоли? Я создал конвейер, но только выполнил задания вручную, я не знал, что могу настроить его для автоматического запуска на любом файле, сохраненном в ведре. Также, как мое приложение узнает, когда задание выполнено? Я думаю, что мне нужно это знать, потому что только после того, как файл был перекодирован и сброшен во втором ковше, я могу передать его другим пользователям. – bkopp
Извините, мое объяснение не охватывало всю историю. Вам нужно создать задания с сервера backend, чтобы фактически конвертировать видео. [AWS Lambda] (http://aws.amazon.com/lambda/details/) - отличный сервис, который может помочь вам в этом. –
ОК спасибо, я посмотрю на это. – bkopp