1. この記事で扱う内容
この記事では、AWSの各種サービスとRailsを使用して動画配信(VOD)サイトを構築する方法を紹介します。
記載した内容は、私が開発中に試行錯誤した結果であって、使用する環境や目的によっては必ずしも最善ではないかもしれませんので、その点をご注意ください。
1-1. この記事で構築しようとするシステムの構成
- WebアプリはRailsで作成します
- 動画ファイルの保存、変換、配信にはAWSを使用します
おおまかな流れとしては、
- Webアプリから動画ファイル(.mp4)をアップロード
- S3 のオリジナル用バケットに (1) の動画ファイルを保存
- Lambdaが (2) のファイルを ElasticTranscoder を使用して HLS に変換し、S3 の変換ファイル用バケットに一連のHLSファイルを保存
- CloudFront 経由で (3) で生成した動画ファイルを配信する
【参照】
- Amazon S3 : https://aws.amazon.com/jp/s3/
- Amazon CloudFront : https://aws.amazon.com/jp/cloudfront/
- Amazon Elastic Transcoder : https://aws.amazon.com/jp/elastictranscoder/
- AWS Lambda : https://aws.amazon.com/jp/lambda/
1-2. この記事で使用している開発環境
- CentOS 6.8
- Rails 5.2
2. 記事の構成
本記事では、システム構築の手順を以下のように数回に分けて紹介します。
- (1)概要:このページ
- (2)開発環境から S3 へのアクセス
aws-sdk を使用して Rails から S3 にアクセスする方法について紹介します。 - (3)S3 上の動画ファイルを Lambdaで自動的に動画変換する方法
S3 に動画ファイルを保存すると、自動的に Elastic Transcoder による動画変換を実行する方法について紹介します。 - (4)S3 上の動画ファイルを CloudFront で配信する方法
S3 に保存した動画ファイルを CloudFront 経由で配信する方法について紹介します