LoginSignup
14
7

More than 5 years have passed since last update.

MediaConvertにて変換完了通知を受けとる方法

Last updated at Posted at 2018-06-26

streampack の Tanaka です。

皆さんご存知のようにワールドカップ2018がやってますね。
グループリーグで結構波乱が起きてて、どの試合も見逃せない状況が続いおり、私は日々、寝不足と興奮が入り混じっている状態です。
また、NHKがライブ配信、ハイライト、見逃し配信を提供してて、さらにサッカー視点での選手のStatsや、いろんな角度からのカメラアングルをプレイヤー内で提供してて、いつもとは違う視点で映像を楽しめるようになってます。

今後、2020東京オリンピックありますので、映像関連技術も日頃からキャッチアップが必要ですね。

概要

MediaConvert を使って SQS,SNS に変換完了通知を受け取る設定方法です。
AWS ElasticTranscoder ではパイプライン設定時に SNS を通して通知を受け取ることが可能でしたが、
MediaConvert の場合は CloudWatch 経由での通知が可能です。

完了通知の設定方法

Step 1: SQS の登録

[Create New Queue] にて新規にキュー(mediaconvert_demo)作成します。

SQS_Management_Console.png

注意点として、CloudWatch のターゲットのリストに作成したキューを表示させるために、 AddPermission アクションを許可してます。

Step 2: CloudWatch イベントの登録

下記にアクセスして、ルールを作成します。
https://ap-northeast-1.console.aws.amazon.com/cloudwatch/home?region=ap-northeast-1#rules:action=create

まずは [イベントソース] の設定です。
変換が完了(COMPLETE)したら、ターゲットの SQS にジョブを投げるようにします。

{
  "source": [
    "aws.mediaconvert"
  ],
  "detail": {
    "status": [
      "COMPLETE"
    ]
  }
}

ステータスには、COMPLETE 以外にも、PROGRESSING, STATUS_UPDATE、 ERROR などもあります。
https://docs.aws.amazon.com/ja_jp/mediaconvert/latest/ug/mediaconvert_cwe_events.html
エラー通知やフレーム単位の状況を受け取ることも可能です。

次は[ターゲット]の設定で、は先ほど作成した、SQS Queue(mediaconvert_demo) を選択します。

スクリーンショット 2018-06-26 11.02.59.png

ジョブを投げる - MediaConvert

事前に準備しておいた、MediaConvertにてジョブを投げます。下記はジョブを投げたデモ用の Summary です。

MediaConvert_Management_Console.png

ジョブの Status が COMPLETE になったら SQS にて確認します。

SQS で確認する

SQS にメッセージが届いていれば、連携は完了です。

SQS_Management_Console.png

SQSのメッセージ内容。

{
  "version": "0",
  "id": "f9c8cc28-60e9-e64a-f55f-xxxxxx",
  "detail-type": "MediaConvert Job State Change",
  "source": "aws.mediaconvert",
  "account": "5x16937xxxxx",
  "time": "2018-06-26T02:37:00Z",
  "region": "ap-northeast-1",
  "resources": [
    "arn:aws:mediaconvert:ap-northeast-1:591693767697:jobs/1529980602621-xxxxxxx"
  ],
  "detail": {
    "timestamp": 1529980620274,
    "accountId": "5x16937xxxxx",
    "queue": "arn:aws:mediaconvert:ap-northeast-1:5916937xxxxx:queues/Default",
    "jobId": "1529980x0262x-xxxxx",
    "status": "COMPLETE",
    "userMetadata": {},
    "outputGroupDetails": [
      {
        "outputDetails": [
          {
            "durationInMs": 39831,
            "videoDetails": { "widthInPx": 1280, "heightInPx": 720 }
          }
        ]
      }
    ]
  }
}

より詳細な情報を得るためには jobId から Summary を取得するしかなさそうです。もしくは Meta などが使えるかもですが。。

結論

CloudWatch を使って、 MediaConvertの変換完了通知を SQS を使って受け取る方法の説明でしたが、CloudWatch に精通していない自分でも意外と簡単にできました。 今回は SQS への通知でしたが、ターゲットを追加することによって、SNSを使ってメール通知や、Lambda でさらに何か処理することも可能です。

14
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
7