AWS Elastic Transcoder
- 2015.10.30
- Webサイト
こんにちは、
自転車ライフ満喫中のヤマです。
気まぐれなので、すぐに飽きると思います。
AWS Elastic Transcoderを使ってみたので、報告です。
とある案件でストリーミング配信が必要になり、同僚に教えてもらったので試してみた次第です。
「AWS Elastic Transcoder」
AWS上にリソースをアップすると、指定した形式にエンコードしてくれるという代物です。
試したのは、「S3上にリソースファイルをアップして、S3上にエンコード後のファイルを置いて、公開する」
以下試した手順です。
1)S3上に、IN/OUT用のバケットを用意し、INにはリソースファイルを
OUT用のバケットには、以下のようにしてリファラーを見て参照可能かを設定するようにしました。
{
“Version”: “2012-10-17”,
“Id”: “************”,
“Statement”: [
{
“Sid”: “**********”,
“Effect”: “Allow”,
“Principal”: “*”,
“Action”: “s3:GetObject”,
“Resource”: “arn:aws:s3:::outbucketname/*”,
“Condition”: {
“StringLike”: {
“aws:Referer”: [
“http://www.sample.com/*”,
“http://sample.com/*”
] }
}
}
]}
さらにCORSを設定しました。
<?xml version=”1.0″ encoding=”UTF-8″?>
<CORSConfiguration xmlns=”http://s3.amazonaws.com/doc/2006-03-01/”>
<CORSRule>
<AllowedOrigin>http://www.sample.com</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
</CORSRule>
</CORSConfiguration>
2)AWS Elastic Transcoderにて、パイプラインを作成します。
パイプラインは、どのバケットにリソースがあって、どのバケットに結果ファイルを入れるか、
コマンドをパイプでつなげるみたいなイメージです。
3)AWS Elastic Transcoderにて、ジョブを作成します。
ジョブは、どのパイプラインを使うか、その中のどのファイルをリソースとするか、
エンコード形式はどうするか、Durationはどうするか、など実際のエンコードに関する細かな指定をします。
4)エンコード開始
ジョブを作成したら、すぐに開始されます。
あとは、出来上がりを待つだけです。
出来上がったファイルはOUT用バケットに入ります。
今回は、MP4をHLS形式(m3u8)にエンコードしましたので、
コンテナ用ファイルと、実際にストリーミングで利用される分割されたファイルが数十個作成されました。
別ドメイン上に設置したHTMLのvideoタグで、S3上のm3u8ファイルを指定したところ
快適にストリーミング再生できました。
すごいですね、AWS。
実運用では、アップされた後のジョブ作成からエンコードまでを
自動化する必要がありそうです。
成功事例だけで、何も参考になりそうに無い投稿になってしまいました。。。
とりあえず「できたよ」ということで。
-
前の記事
食欲の秋 2015.10.24
-
次の記事
子ども向けアクションカメラ 2015.11.01