Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

streampack の Tanaka です。

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

https://www1.nhk.or.jp/sports/2018fifaworldcup/matches/

今後、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 でさらに何か処理することも可能です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした