[小ネタ] AWS Elemental MediaConvertでマネジメントコンソールの入力タイムコード設定箇所が変わっていました

[小ネタ] AWS Elemental MediaConvertでマネジメントコンソールの入力タイムコード設定箇所が変わっていました

MediaConvertでクリッピングなどの際に設定するTimecode sourceのAWSマネジメントコンソール上での設定箇所に変更がありました。これまでのVideo selectionではなくInput correctionで設定しましょう。
2025.09.05

はじめに

清水です。ブロードキャストグレードの機能を備えたファイルベースの動画変換サービスであるAWS Elemental MediaConvertでは、Jobに対して3つのタイムコード設定を持ちます。入力クリッピングやキャプションの同期などに使われる「入力タイムコード設定」、出力タイムライン全体に影響する「ジョブ全体のタイムコード設定」、そしてタイムコード情報を各出力に表示するかどうかの「出力タイムコード設定」です。

このうちTimecode sourceという名称で扱われる「入力タイムコード設定」について、MediaConvertのAWSマネジメントコンソール上での設定箇所が変わっていることが確認できました。従来まではInputのVideo selectorの項目に設定箇所があった認識ですが、最新の状況ではVideo selectorではなくInputのInput correctionに設定箇所が移動しています。なお、API上(Job JSON)では記載箇所は変わりありません。あくまでAWSマネジメントコンソール上の変更です。

本エントリでは、この Timecode source のAWSマネジメントコンソール上での設定場所について改めて確認してみました。

Video selectorからTimecode sourceの設定がなくなった!?

気がついたのは8月の終わり、「MediaLiveに打ち上げた映像からなるべく正確な時刻で動画クリップを切り出す - Harvest Job活用編 - | DevelopersIO」というブログエントリを書いているときでした。MediaConvertで入力ファイルに対してタイムコードをもとにクリッピングを行う検証を行おうと、マネジメントコンソールからInput clipを指定してJobを作成します。このClippingを行うときに重要となるポイントが入力タイムコード、 Timecode source の設定です。タイムコードを用いず動画の実時間をベースにClippingを行う場合はStart at 0ZEROBASED)を選択、また入力ファイル内のタイムコードを使う場合にはEmbeddedEMBEDDED)を選択する必要があります。このほか、Specified startSPECIFIEDSTART)として任意の時刻を指定することも可能ですね。

このTimecode sourceの設定ですが、MediaConvertリリース当初よりマネジメントコンソールのJob作成画面、InputのVideo selector内にあった認識です。以下、実例として2019年1月に執筆したブログエントリからのスクリーンショットを引用します。

ts01
引用元: AWS Elemental MediaConvertで入力ファイルのクリッピングとステッチングを扱う 〜AWS Elemental MediaLiveのアーカイブファイルを入力素材として〜 | DevelopersIO

2019年当時と比べるとMediaConvertの機能も増え、マネジメントコンソールもCloudspaceを使った丸みのあるものに変わりました。それでもVideo selector内にこのTimecode sourceの設定はあったはず、たしかVideo correctionの中だったよなとネジメントコンソールを確認するのですが、設定項目が見当たりません。

ts02

たしかこの、Video selectorのVideo correctionにあったはずなのですが。ちょうどひと月ほど前、7月の終わりに書いたブログエントリ「MediaLiveに打ち上げた映像からなるべく正確な時刻で動画クリップを切り出す | DevelopersIO」でも同様のMediaConvertのClipping機能を使っていたので、そのスクリーンショットを確認してみます。やはり、この時点ではVideo selectorのVideo correctionにTimecode sourceの設定項目はありました……。一体全体どこにいってしまったのでしょうか。

ts03
引用元: MediaLiveに打ち上げた映像からなるべく正確な時刻で動画クリップを切り出す | DevelopersIO

最新のTimecode sourceの設定箇所はInput correctionだった!!

7月終わりの時点ではVideo selectorのVideo correctionにあったはずのTimecode sourceの設定項目が見当たりません。アップデートなどで設定方法が変わってしまったのか?などとも考えましたが、8月中にそれらしきMediaConvertのアップデート情報は確認できませんでした。

また念のためMediaConvert User GuideのConfiguration input timecodesの項目も確認してみますが、 Video selectorの箇所で設定せよ、とういことです。

ts04
引用元: Adjusting the input timeline with the input timecode source - MediaConvert

ひと月前、まだVideo selectorのVidoe correctionにTimecode sourceがあったころにこれを設定してClippingを行ったMediaConvertのJobをDuplicateして確認してみます。やはりこちらもVideo selectorの箇所に設定は見当たらないのですが、 show job JSON で参照できるJobのJSON内容では"TimecodeSource": "EMBEDDED"が見つかります。JSONレベルでの詳細確認については後述しますが、設定自体がなくなってしまったようではなさそうです。

ts05

設定自体は残っていること、そしてJob JSONからInputに設定はあるはずだと、諦めずにマネジメントコンソールを探してみます。するとありました! InputのInput correctionの項目を有効化すると、Timecode sourceの項目が出現します!!

ts06

ts07

(なおScan type の設定項目についてもTimecode source同様、Video selectorのVideo correctionからこのInputのInput correctionに移動になっているようですね。)

あとはこれを、任意の設定にすればよいだけです。タイムコードをもとにしたClippingを行う、ということでEmbeddedにしたのが先のブログエントリとなります。

ts08
引用元: MediaLiveに打ち上げた映像からなるべく正確な時刻で動画クリップを切り出す - Harvest Job活用編 - | DevelopersIO

APIレベルでの変更がないことを確認してみた

Timecode sourceのAWSマネジメントコンソール上での設定箇所が、従来のVidoe selectorのVideo correctionから、InputのInput correction内に移動したことを確認しました。Input correctionの項目を有効化する必要がある点に注意しましょう。

なおAWSマネジメントコンソール上では設定箇所が変わりましたが、API上の変更はないようです。具体的にAWSマネジメントコンソールのJob summary画面で実行済みのJobから (View JSON) ボタンでJob内容のJSONを確認してみたのでまとめておこうと思います。

まず、以下がTimecode source設定箇所変更前の、2025年7月終わりに実行したJobのJSONです。Inputsの配列要素、VideoSelectorAudioSelectorInputClippingsFileInputと同じレベルの要素としてTimecodeSourceがあり、その値が"EMBEDDED"となっていること("TimecodeSource": "EMBEDDED",)が確認できます。

{
  "Queue": "arn:aws:mediaconvert:ap-northeast-1:123456789012:queues/Default",
  "UserMetadata": {},
  "Role": "arn:aws:iam::123456789012:role/ElementalMediaConvert-role",
  "Settings": {
    "TimecodeConfig": {
      "Source": "ZEROBASED"
    },
    "OutputGroups": [
      {
        "Name": "File Group",
        "Outputs": [
          {
            "ContainerSettings": {
              "Container": "MP4",
              "Mp4Settings": {}
            },
            "VideoDescription": {
              "CodecSettings": {
                "Codec": "H_264",
                "H264Settings": {
                  "MaxBitrate": 2500000,
                  "RateControlMode": "QVBR",
                  "SceneChangeDetect": "TRANSITION_DETECTION"
                }
              }
            },
            "AudioDescriptions": [
              {
                "CodecSettings": {
                  "Codec": "AAC",
                  "AacSettings": {
                    "Bitrate": 96000,
                    "CodingMode": "CODING_MODE_2_0",
                    "SampleRate": 48000
                  }
                }
              }
            ],
            "Extension": "mp4"
          }
        ],
        "OutputGroupSettings": {
          "Type": "FILE_GROUP_SETTINGS",
          "FileGroupSettings": {
            "Destination": "s3://amzn-s3-demo-bucket/stream-clipping-202507/mediaconvert-output/clip-from-medialive-hls-output"
          }
        }
      }
    ],
    "FollowSource": 1,
    "Inputs": [
      {
        "InputClippings": [
          {
            "EndTimecode": "10:00:06:25",
            "StartTimecode": "09:55:06:26"
          }
        ],
        "AudioSelectors": {
          "Audio Selector 1": {
            "DefaultSelection": "DEFAULT"
          }
        },
        "VideoSelector": {},
        "TimecodeSource": "EMBEDDED",
        "FileInput": "s3://amzn-s3-demo-bucket/stream-clipping-202507/medialive-hls-output-20250731T095304/hls.m3u8"
      }
    ]
  },
  "BillingTagsSource": "JOB",
  "AccelerationSettings": {
    "Mode": "DISABLED"
  },
  "StatusUpdateInterval": "SECONDS_60",
  "Priority": 0
}

続いて8月の終わり、Timecode souceの設定箇所がInputのInput correction内に変更されたあとに実行したJobのJSONです。やはりInputsの配列要素、VideoSelectorAudioSelectorInputClippingsFileInputと同じレベルの要素としてTimecodeSourceがあることがわかりますね。("TimecodeSource": "EMBEDDED",)APIレベル(JSON)では設定箇所などは変わっていないことが確認できました。

{
  "Queue": "arn:aws:mediaconvert:ap-northeast-1:123456789012:queues/Default",
  "UserMetadata": {},
  "Role": "arn:aws:iam::123456789012:role/ElementalMediaConvert-role",
  "Settings": {
    "TimecodeConfig": {
      "Source": "ZEROBASED"
    },
    "OutputGroups": [
      {
        "Name": "File Group",
        "Outputs": [
          {
            "ContainerSettings": {
              "Container": "MP4",
              "Mp4Settings": {}
            },
            "VideoDescription": {
              "CodecSettings": {
                "Codec": "H_264",
                "H264Settings": {
                  "MaxBitrate": 2500000,
                  "RateControlMode": "QVBR",
                  "SceneChangeDetect": "TRANSITION_DETECTION"
                }
              }
            },
            "AudioDescriptions": [
              {
                "CodecSettings": {
                  "Codec": "AAC",
                  "AacSettings": {
                    "Bitrate": 96000,
                    "CodingMode": "CODING_MODE_2_0",
                    "SampleRate": 48000
                  }
                }
              }
            ],
            "Extension": "mp4"
          }
        ],
        "OutputGroupSettings": {
          "Type": "FILE_GROUP_SETTINGS",
          "FileGroupSettings": {
            "Destination": "s3://amzn-s3-demo-bucket/stream-clipping-202508/mediaconvert-output/clip-from-mediapackage-harvestjob"
          }
        }
      }
    ],
    "FollowSource": 1,
    "Inputs": [
      {
        "InputClippings": [
          {
            "EndTimecode": "11:13:20;25",
            "StartTimecode": "11:09:42;08"
          }
        ],
        "AudioSelectors": {
          "Audio Selector 1": {
            "DefaultSelection": "DEFAULT"
          }
        },
        "VideoSelector": {},
        "TimecodeSource": "EMBEDDED",
        "FileInput": "s3://amzn-s3-demo-bucket/stream-clipping-202508/mediapackagev2-harvest-job/stream-clipping-harvestjob-1/index.m3u8"
      }
    ]
  },
  "BillingTagsSource": "JOB",
  "AccelerationSettings": {
    "Mode": "DISABLED"
  },
  "StatusUpdateInterval": "SECONDS_60",
  "Priority": 0
}

まとめ

AWS Elemental MediaConvertで入力タイムコード(Timecode source)のAWSマネジメントコンソールでの設定箇所が、これまでのVideo selectorからInputのInput correctionに移動したことを確認してみました。タイミングとしては2025年8月中のどこかで変更があったと思われます。またTimecode sourceのほか、Scan typeの項目についてもマネジメントコンソール上の設定箇所が変わっていました。

2009年にリリースされ日々更新を続けているAWSマネジメントコンソール、大変便利なのですが、ときたまこのような(もしくはもっと大掛かりな)設定箇所の変更がある認識です。今回APIレベル(JSONデータ)では変更がなかったことから、AWSマネジメントコンソールで設定箇所などが変更になった場合の大変さや、AWS CLIなどAPI経由の操作の確実さなどを改めて実感した出来事でした。

この記事をシェアする

facebookのロゴhatenaのロゴtwitterのロゴ

© Classmethod, Inc. All rights reserved.