Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mountpoint for S3とElemental MediaConvertを使ってサムネイル作成してみた

Mountpoint for S3とElemental MediaConvertを使ってサムネイル作成してみた

Yusuke Shimizu

September 12, 2023
Tweet

More Decks by Yusuke Shimizu

Other Decks in Technology

Transcript

  1. Mountpoint for S3 とElemental MediaConvert を使ってサムネイル作成してみた Web システムのPoC 、アーキテクトがおしごと  AWS

    CDK/Cloud9/ChatGPT/ カメラ/ つけ麺 Blog: 志水 友輔 (しみず ゆうすけ) NRI ネットコム株式会社 / CLOUD ARCHITECT 転載、複製、改変等は禁止します
  2. Mountpoint for S3 とElemental MediaConvert を使ってサムネイル作成してみた Mountpoint for Amazon S3の概要

    Linux アプリケーションがS3 バケットに直接接続す るためのオープンソースのファイルクライアントで す。ls/cat/find/rm コマンドなどが利用可能です。 Mountpoint for Amazon S3 とは コンピューティングストレージの容量を消費せずに データを操作でき、ネットワーク帯域幅を有効活用 し、スループットを向上させることができます。 直接マウントのメリット Amazon Elastic Compute Cloud (Amazon EC2) Amazon Elastic Container Service (Amazon ECS) S3 mount 転載、複製、改変等は禁止します EC2
  3. Mountpoint for S3 とElemental MediaConvert を使ってサムネイル作成してみた Elemental MediaConvertの概要 AWS Elemental

    MediaConvert はブロードキャスト およびマルチスクリーン向けの高品質なVOD コンテ ンツ変換を提供。さらに、サムネイル生成機能も含 む。 高度な動画処理 動画処理のインフラを自動化し、冗長性とスケーラ ビリティを高めます。AWS コンソールまたはAPI で 簡単に操作可能。 自動リソース管理と信頼性 S3 S3 AWS Elemental MediaConvert 転載、複製、改変等は禁止します
  4. Mountpoint for S3 とElemental MediaConvert を使ってサムネイル作成してみた time time サムネイル生成の既存の課題 MediaConvert

    では、動画の長さに依存せず、固定 されたタイミングの画像しかサムネイルとして出力 できない。 固定タイミングのサムネイル 転載、複製、改変等は禁止します time time 1s 1s 1s 1s 1s 1s 1s 1s 1s 1s 1s 1s 1.5s 1.5s 1.5s 1.5s
  5. Mountpoint for S3 とElemental MediaConvert を使ってサムネイル作成してみた ECS 動画に応じた長さのサムネイル作成方法 ECS がS3

    から動画を取得し、動画の長さを取得。そ の長さに応じてサムネイルのタイミングを計算し、 AWS Elemental MediaConvert に送信。 MediaConvert は指定されたタイミングでサムネイ ルを生成し、結果をS3 に保存。 ECS を利用したサムネイル生成 S3 S3 Elemental MediaConvert 転載、複製、改変等は禁止します
  6. Mountpoint for S3 とElemental MediaConvert を使ってサムネイル作成してみた ECS S3マウントを利用して動画取得 S3 S3

    Elemental MediaConvert ここをS3 マウント利用 転載、複製、改変等は禁止します S3 マウントを利用することで、ECS を経由せず、直 接S3 から動画の長さを取得できます。これにより、 サムネイル生成のタイミングを動画の長さに応じて 効率的に計算することが可能です。 効率的な動画情報取得 S3 マウントを使うことで、ネットワーク帯域幅を有 効活用し、データのスループットが向上します。こ れは特に、大量の動画データを処理する際に重要で す。 ネットワーク帯域幅の有効活用
  7. Mountpoint for S3 とElemental MediaConvert を使ってサムネイル作成してみた ECS つくってみた S3 S3

    Elemental MediaConvert 転載、複製、改変等は禁止します Amazon EventBridge Pipes Amazon Simple Queue Service (Amazon SQS) AWS CDK を用いてインフラを構築しました。また、 去年リリースされたEventBridge Pipes を試用する 目的も兼ねて、SQS からEventBridge Pipes 、そして ECS へというデータフローを採用しています。 構築手法と新機能の採用 SQS に送信されたファイル名と分割数を基に、ECS がAWS Elemental MediaConvert へサムネイル生成 の指示を出します。この一連の流れで、効率的な動 画処理とサムネイル出力が可能になります。 処理の詳細とサムネイル生成
  8. Mountpoint for S3 とElemental MediaConvert を使ってサムネイル作成してみた やってみて躓いた点 AWS Fargate ではprivileged

    モードでのコンテナ実 行が不可能で、S3 マウントができません。この問題 を解決するために、EC2 インスタンス上でコンテナ をprivileged モードで実行しました。 Fargate の未対応 boto3, ffprobe, s3 mount コマンドが利用できる Ubuntu またはAmazon Linux 環境の構築が必要でし たが、ベースのイメージをどれにするかが難しかっ たです。最終的に、ffmpeg のUbuntu イメージをベ ースに選択しました。 コンテナ環境の構築 転載、複製、改変等は禁止します S3 Fargate
  9. Mountpoint for S3 とElemental MediaConvert を使ってサムネイル作成してみた まとめ S3 マウント、MediaConvert 、コンテナ利用による

    動画の長さに合わせたサムネイル生成のプロセスを 詳細に検討。CDK 利用のインフラ構築、コンテナ環 境の構築、遭遇した課題と解決方法についても触れ ました。 プロセスの詳細解説 動画長に応じたサムネイル生成の最適化に焦点、 AWS のサービス活用した構成と実装を紹介。S3 マウ ント活用のデータ取得、MediaConvert を用いたサ ムネイル生成プロセスを中心に議論。 AWS サービス活用の検討 転載、複製、改変等は禁止します ECS S3 EventBridge Pipes SQS S3 Elemental MediaConvert