今回は「wp-bucket」とするリージョンは東京とする。S3のファイルを一般公開するファイルにアクセスした時にだれでも読み込み出来るように権限を変更する必要がある。しないとwordpress側などからファイルにアクセス出来なくなる。※wp-bucketの箇所にはバケット名を入力する。]}入力したら保存する。Transcoderを選択する。Pipeline」をクリックする。Nameには任意の名前をつける。英語の方がよい今回は「wpUploadPipeline」とする。Thumbnails」のbucketには全て同じバケットを設定する。今回はwp-bucketそれ以外は全部デフォルトのまま。サービスからIAMを選択する。「ロール」を選択する。先に作成した「lambda_auto_transcoder_role」を選択します。インラインポリシーを開いて「表示するインラインポリシーはありません。作成するには、ここをクリックしてください。」のここをクリックする。今回使う機能でなるべく最小限のアクセスを許可したものになります。]}これで「elastictranscoder.amazonaws.com」が追加される。Lambdaでエンコードの自動化S3にファイルがアップロードされる。movファイルだった場合Lambdaの処理が走る。TranscoderにアクセスしてJobを作ってそのJobを使ってエンコードする。320×240」を使ってエンコードします。サービスからLambdaを選択。右上からリージョンを東京に変更。ここはバケットで指定したリージョンと合わせる。(すべて)||プレフィックス|(今回は設定しない。(すべて)されて、そのファイルが.movというファイルだった時に処理が走るということになる。[トリガーの有効化]にチェックをつける。タイプは[コードをインラインで編集]のままにして以下のコードを入力します。‘wp-bucket’はこれまでに作ってきたものの名前に合わせてください。transcoderにあるPresetsのページにpresetの一覧があるので、そこから使いたいpresetのIDのをコピーして「PresetId」にペーストします。320×240のIDである[1351620000001-000061]を記述しました。},],こんな感じで「SegmentDuration」が必要っぽいです。関数ハンドラおよびロール先程作成したロールを選択する。10秒に変更しておきます。■参考サイトuploadされたファイルを削除する。エンコードされたファイルが生成された後、エンコード前のファイルを削除する。autoTranscoderにエンコード前のファイルを削除する記述をすると、エンコードされる前にエンコード前のファイルが削除されてしまうので新しく関数を作って、「エンコードされたファイルが生成されたら」というトリガーを作る。新しく作成した関数の関数名は「deleteInputFunction」とする。トリガータイプはS3とする。"Success"バケットの権限に「DeleteObject」を追加する。ログを表示」をクリックするとログの一覧ページに飛ぶ。S3の設定AWSの右上にある自分のアカウントをクリックして、そこのドロップダウンからセキュリティ認証情報をクリック。シークレットアクセスキー)」を開いて「新しいアクセスキーの作成」をクリック。ID」と「シークレットアクセスキー」をどっかにコピーしておく。Key」に先程コピーした内容を貼り付ける。CloudFrontをクリックしてBUCKETを指定する。ServerをオンにすることでWPの入っているサーバーにはアップロードしたファイルは保存されなくなる。S3というプラグインを使って、メディアファイルをS3にアップロードするようにしています。動画ファイルのURLにはS3からのフルパスが入ります。mov形式の動画ファイルの場合のみAWS内でmp4形式にエンコードするので、wordpressのパスもエンコード後のパスに変更する必要があります。ex.変更前http://s3.amazonaws.com/baket/uploads/2017/05/15035446/movie.mov変更後http://s3.amazonaws.com/baket/output/uploads/2017/05/15035446/movie.mp4方法WordPressのDBにS3のパスが保存されるので、DBに保存される前に値を変更する。***_postmetaというテーブルのamazonS3_infoというカラムに情報が入っている。S3のプラグインのソースを書き換えます。amazon-s3-and-cloudfront-pro/classes/amazon-s3-and-cloudfront.phpこちらのファイルを書き換えます。$this->s3object_output($s3object));と書き換えます。s3object_outputの関数ではもしアップロードしたファイルの拡張子がmovだった場合mp4に変更してディレクトリもoutput/を追加するようにいたしました。