

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# タイムコードとタイムスタンプの操作
<a name="timecode"></a>

MediaLive には、入力パイプラインと出力パイプラインのタイムコードがあります。2 つのタイムコードは互いに分離されています。入力タイムコードを設定することはできません。出力タイムコードの動作を設定できます。出力タイムコードをメタデータとして含めたり、出力タイムコードをビデオフレームに書き込むように出力を設定することもできます。

**Topics**
+ [タイムコードとタイムスタンプについて](timecodes-about.md)
+ [出力タイムコードの開始時刻の設定](timecode-configure-source.md)
+ [出力にタイムコードメタデータを含める](timecode-configure-metadata.md)
+ [タイムコードを出力に書き込む](timecode-configure-burnin.md)

# タイムコードとタイムスタンプについて
<a name="timecodes-about"></a>

MediaLive には、入力パイプラインと出力パイプラインのタイムコードがあります。2 つのタイムコードは互いに分離されています。

**入力タイムコード**

MediaLive には、受信フレームに埋め込みタイムコードが含まれている場合にのみ機能する機能があります。これらの機能には、パイプラインロックとウォーターマークが含まれます。入力にタイムコードが埋め込まれていない場合、MediaLive はこの機能を実装しません。例えば、パイプラインロックでは、パイプラインはフレームの正確な方法でロックされません。（タイムコードがパイプラインのロックにどのように影響するかの詳細については、「[パイプラインロックの実装](pipeline-lock.md)」を参照してください。

入力タイムコードソースは設定できません。

**出力タイムコード**

MediaLive は SMPTE タイムコードを実装します。つまり、MediaLive は各送信フレーム`HH:MM:SS:FF`に 形式のタイムコードを割り当てます。タイムコードは午前 0 時にロールオーバーされます。

チャンネルの出力タイムコードを初期化する方法は 3 つあります。
+ 埋め込み（デフォルト）： 埋め込みタイムコードを使用して出力タイムコードを初期化します。MediaLive は、入力に取り込む最初のフレームでタイムコードを使用します。入力にタイムコードが含まれていない場合、MediaLive は UTC を使用します。
+ UTC: 最初のフレームがパイプラインの出力側に入った時点で、出力タイムコードを UTC 時間に初期化します。
+ ゼロベース: 出力タイムコードを 00:00:00:00 に初期化します。

出力タイムコードは、HLS 出力の PDT や、含める ID3 メタデータのタイムコードなどの機能で使用されます。出力タイムコードをメタデータとして含めたり、出力タイムコードをビデオフレームに書き込むように出力を設定することもできます。

また、出力[タイムコードをメタデータ として含めたり](timecode-configure-metadata.md)、出力[タイムコードをビデオフレームに書き込むように出力](timecode-configure-burnin.md)ビデオを設定することもできます。

**タイムスタンプ**

MediaLive は、すべての出力コンテンツにタイムスタンプをアタッチします。ダウンストリームシステムでは、同期にタイムスタンプを使用します。タイムスタンプは、90 KHz クロックサイクルの数などの値です。

タイムスタンプとタイムコードを混同しないでください。これらが異なります。

# 出力タイムコードの開始時刻の設定
<a name="timecode-configure-source"></a>

MediaLive が出力エンコードに含める出力タイムコードの開始時間を設定できます。

**注記**  
この手順では、「[ゼロからのチャンネルの作成](creating-channel-scratch.md)」で説明しているチャンネルの作成または編集に精通していることを前提としています。

1. **[Create Channel]** (チャンネルの作成) ページの **[General settings]** (全般設定) セクションで、**[Timecode configuration]** (タイムコード設定) を選択します。

1. **ソース** で、出力のタイムコードを初期化するオプションを選択します。
   + **EMBEDDED** – ソースビデオに埋め込まれたタイムコードを使用します。。

     MediaLive は、次のようにソースビデオでタイムコードを検索します。
     + AV1 – AOM AV1 仕様のセクション 5.8.3 (https://aomediacodec.github.io/av1-spec/) に従って、タイプタイムコード (METADATA\$1TYPE\$1TIMECODE) のメタデータ OBU に挿入されたタイムコード
     + H.264 – ISO/IEC 14496-10-2005 のセクション D.1.2 に従って、タイプ pic\$1timing の SEI メッセージに挿入されたタイムコード
     + H.265 – ITU-T H.265 のセクション D.2.26 に従って、タイプ timecode の SEI メッセージに挿入されるタイムコード
     + MPEG-2 – ISO/IEC 13818-2-2000 (R2006) のセクション 6.2.2.6 に従って、各 GOP ヘッダーに挿入されるタイムコード
   + **SYSTEMCLOCK** – UTC 時間を使用します。
   + **ゼロベース** – 00:00:00:00 を使用します。

1. (オプション）**Sync threshold** に、出力タイムコードを入力タイムコードに同期させるための閾値（フレーム数）を入力します。このフィールドの詳細については、「[同期しきい値について](#timecode-sync)」を参照してください。

## 実行時のタイムコード出力の仕組み
<a name="timecode-runtime"></a>

**チャンネルの初回起動または再起動**

チャンネルを起動すると、チャンネルは出力パイプラインの開始タイムコードを確立します。
+ 埋め込みタイムコードを参照するように開始時刻を設定した場合、チャネルは入力タイムコードをサンプリングします。MediaLiveは、ソースに埋め込まれたタイムコードが見つからない場合、UTCにフォールバックします。
+ または、タイムコードを現在の UTC 時間に設定します。
+ または、タイムコードを 00:00:00:00 に設定します。

チャンネルは、生成する出力フレームごとに新しいタイムコードを生成します。

**入力スイッチ**

チャンネルが別の入力に切り替わっても、MediaLive はタイムコードを再初期化しません。したがって、[入力スイッチ](scheduled-input-switching.md)によって出力タイムコードが乱されることはありません。

**一時停止と一時停止解除**

チャンネルを一時停止すると、MediaLive はフレームをエンコードし続けますが、フレームは直ちに破棄されます。しかし、MediaLive が引き続きエンコードを続けるため、タイムコードはインクリメントされ続けます。したがって、一時停止を解除すると、出力にタイムコードの連続性がなくなります。

## 同期しきい値について
<a name="timecode-sync"></a>

Timecode **Sync threshold** フィールドは、出力タイムコードを入力タイムコードに同期させます。ドリフトはいくつかの状況で発生する可能性があります。例えば、処理上の問題が発生 して、MediaLive でフレームをドロップまたはリピートして補正する可能性があります。または、入力タイムコードストリームに不連続性がある可能性があります。

**同期の目的**

同期化は、(MediaLive が生成する) 出力タイムコードが元の入力タイムコードと一致することがワークフローにとって重要な場合に便利です。
+ ダウンストリームシステムで特定のフレームを識別する必要があることがわかっている場合は、マッチングが重要になることがあります。

  通常、ダウンストリームシステムは、元の入力タイムコードに基づいてこれらのフレームを既に識別しています。したがって、ダウンストリームシステムが目的のフレームを見つけるためには、出力タイムコードが元の入力タイムコードと一致している必要があります。
+ 出力タイムコードの主な目的が各出力フレームを一意に識別することである場合、マッチングは重要ではありません。

**同期の仕組みの仕方**

入力タイムコードと出力タイムコードが指定したフレーム数だけドリフトしていると、MediaLive は出力タイムコードシーケンスに不連続を挿入し、現在の入力タイムコードと一致するように出力タイムコードを設定します。

同期の主な欠点は、メタデータにタイムコードの不連続性を導入し、各出力タイムコードが一意であることを保証できないことです。

# 出力にタイムコードメタデータを含める
<a name="timecode-configure-metadata"></a>

MediaLive チャンネルを設定して、個々の出力エンコードにタイムコードメタデータを含めることができます。タイムコードメタデータは、フレームキャプチャを除く任意のタイプの出力グループでサポートされています。

タイムコードは、出力エンコードの標準に従って挿入されます。
+ AV1 – タイムコードは、AOM AV1 仕様のセクション 5.8.3 (https://aomediacodec.github.io/av1-spec/) に従って、タイプタイムコード (METADATA\$1TYPE\$1TIMECODE) のメタデータ OBU に挿入されます。
+ H.264 – ISO/IEC 14496-10-2005 のセクション D.1.2 に従って、タイプ pic\$1timing の SEI メッセージに挿入されたタイムコード
+ H.265 – ITU-T H.265 のセクション D.2.26 に従って、タイプ timecode の SEI メッセージに挿入されるタイムコード
+ MPEG – ISO/IEC13818-2-2000 (R2006) のセクション 6.2.2.6 に従って、各 GOP ヘッダーに挿入されたタイムコード

**出力にタイムコードメタデータを含まるには**

出力側では、各ビデオエンコードで、タイムコードを含めるかどうかを指定します。デフォルトでは、タイムコードはビデオエンコードに含まれません。

1. **「Create Channel」**ページの**「Output groups」**セクションで出力グループを選択し、次に出力を選択します。

1. **[Stream settings]** (ストリーム設定) セクションを表示し、**[Video]** (ビデオ) セクションを選択します。**[Codec settings]** (コーデック設定) で、このビデオエンコード用のコーデックを選択します。追加のフィールドが表示されます。

1. **タイムコード** を選択し、**タイムコード挿入 **でオプションを選択します。
   + **DISABLED** – このエンコードにはタイムコードのメタデータは含まれません。
   + **METADATA\$1OBU** (AV1 の場合) または **PIC\$1TIMING\$1SEI** (H.264 または H.265 の場合) または **GOP\$1timecode** (MPEG) – このエンコードにはタイムコードメタデータが含まれます。

# タイムコードを出力に書き込む
<a name="timecode-configure-burnin"></a>

MediaLive チャンネルで任意のビデオエンコードを設定して、出力タイムコードに書き込むことができます。タイムコードは動画の一部になります。

タイムコードバーンイン機能は、タイムコードメタデータ機能とは無関係であることに注意してください。タイムコードを書き込むためにタイムコードメタデータを有効にする必要はありません。

**タイムコードをビデオ出力に書き込むには**

1. **「Create Channel」**ページの**「Output groups」**セクションで出力グループを選択し、次に出力を選択します。

1. **[Stream settings]** (ストリーム設定) セクションを表示し、**[Video]** (ビデオ) セクションを選択します。**[Codec settings]** (コーデック設定) で、このビデオエンコード用のコーデックを選択します。追加のフィールドが表示されます。

1. **Timecode** を選択し、**Timecode バーンイン設定 **で **Timecode バーンイン **を選択します。追加のフィールドが表示されます。

1. ビデオフレームのタイムコードのスタイルと位置を設定します。オプションの**プレフィックス**フィールドに、任意の記述子を入力します。例えば、**UTC-1**。