質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CDN

CDNは、Webコンテンツをインターネット経由で配信するのに最適化されたネットワークを指します。Webサイトにある静的コンテンツをWebサイトが管理されているサーバーとは異なるサーバーにキャッシュし代わりに配信することで、負荷が分散し速度を向上する仕組みです。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

0回答

1356閲覧

[Swift / AVPlayer / CDN] HLS変換した動画の表示に時間がかかる問題

komo_ta

総合スコア275

CDN

CDNは、Webコンテンツをインターネット経由で配信するのに最適化されたネットワークを指します。Webサイトにある静的コンテンツをWebサイトが管理されているサーバーとは異なるサーバーにキャッシュし代わりに配信することで、負荷が分散し速度を向上する仕組みです。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2018/06/12 01:24

編集2018/06/12 22:02

はじめに

iPhoneからサーバにアップロードした動画(MP4)を、Amazon Elastic Transcoder で hlsに変換させ、Cloud FrontでiPhoneアプリに投稿した動画を表示させるようなアプリを作成しています。

問題

TableViewCellの上にAVPlayerViewを置き、アップロードした動画のURLを使って、再生しようとしているのですが、アップロードした直後ですと反映されず、一定時間経たなければ動画が再生されません。それ以降は再生されるのですが、原因がよくわからず困っております。
以下参考までにAVPlayerView.swiftのファイルと、TranscodeのParameterを載せます mm

class AVPlayerView: UIView { // AVPlayerのgetterとsetter var player: AVPlayer { get { let layer: AVPlayerLayer = self.layer as! AVPlayerLayer return layer.player! } set(newValue) { let layer: AVPlayerLayer = self.layer as! AVPlayerLayer layer.player = newValue } } // layerClassのoverride override open class var layerClass: Swift.AnyClass { return AVPlayerLayer.self } func setVideoMode(mode: String) { let layer: AVPlayerLayer = self.layer as! AVPlayerLayer layer.videoGravity = mode }

Elastic TranscoderのParameter

var params = { PipelineId: pipelineId, OutputKeyPrefix: 'movies/', Input: { Key: inputKey, FrameRate: 'auto', Resolution: 'auto', AspectRatio: 'auto', Interlaced: 'auto', Container: 'auto' }, Outputs: [ /** to HLS transcoder **/ { Key: outPutKey, ThumbnailPattern: '', PresetId: '1351620000001-200030', //HLS v3 400k/s (1351620000001-200055) //HLS v3 (Apple HTTP Live Streaming)、2 メガビット/秒 : 1351620000001-200010 SegmentDuration: '10', Rotate: 'auto' }, ] };

試したこと

アップロードした直後、Safariでその変換後のhlsの動画を表示できるか試したところ、表示することができました。しかしアプリでは動画が表示されるのに平均して五分程度かかるような感じです。(表示されて以降はスムーズに表示されるようになります)

補足 (質問翌日追記)

上記でsafariで表示できると書きましたが、Safariでも表示することができず、Access Deniedが返されることがあります

同じような事象や、何か心当たりある方いらっしゃったら教えていただければと思います。
よろしくお願いします mm

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問