複数のメディア コンフィギュレーションのサポート

メディア プロファイルは、コンフィギュレーションを簡単にするため、入力、出力、タイムコード、ゲンロックの各設定を 1 つにまとめたものです。 プロキシはメディア コンテンツとメディア プロファイルで設定した入力と出力の間で入力と出力をルーティングできます。

Windows
MacOS
Linux

クイック スタート ガイドに従って AJA Media または Blackmagic Design ハードウェアで作業した場合、メディア入力とメディア キャプチャの各アセットをセットアップして、プロジェクトに対して SDI ビデオ フィードを入出力する 1 つの可能な方法を確認したことになります。

ただし、単一のプロジェクトで複数の異なるメディア コンフィギュレーションと連携することが必要になることがあります。 例:

  • プロジェクトを作業する環境において、コンピュータの機種が統一されておらず、そこにセットアップされたハードウェアやそのセットアップ方法もそれぞれ異なっている場合があります。 例えば、一方のコンピュータは AJA カードを使用し、もう一方は Blackmagic カードを使用している、またはコンピュータのポート 1 に接続されているビデオ フィードが、他のコンピュータのポート 2 に接続されていることもあります。

  • 1 台のコンピュータを使用して、異なる種類のソースと出力の間でプロジェクトを切り替えることが必要になる場合があります。 例えば、SDI 接続に入ってくるライブ フィードで作業し、フィードがオフラインであるときに、ディスクに事前に記録されたファイルを入力として使用するように切り替えることが必要になることがあります。

  • 異なるソースまたは入力に変更するときは特に、Unreal Engine がタイムコードを読み取り、フレーム レートをゲンロックする方法を変更する必要もあります。 例えば、SDI 接続で入ってくる入力フィードを使用するときのみ、Unreal Engine のフレーム レートをロックする場合です。

このような場合、セットアップを切り替えるたびに、メディア セットアップやプロジェクト コンテンツを大きく変更するのは不便です。 代わりに、複数のメディア プロファイルをセットアップできます。それぞれメディア入力、出力、タイムコード プロバイダ、ゲンロック プロバイダに関するすべてのコンフィギュレーション設定をまとめたものです。 異なるメディア プロファイルに切り替えるだけで、メディア I/O セットアップ全体をすぐに変更できます。

メディア プロファイルとプロキシのしくみ

メディア プロファイルは次の 2 つの異なるポイントを接続するために プロキシ アセットを利用します。

  • 一方は、メディア プロファイルでセットアップした入力と出力コンフィギュレーションです。

  • 他方は、プロジェクト コンテンツで入力を消費または出力が生成される場所です。

次のリストは上の画像の数字で示すセクションについて説明します。

  1. プロジェクトに複数のメディア プロファイルをセットアップします。プロファイルはプロジェクトでサポートする必要があるそれぞれの使用シナリオ向けです。 各プロファイルにはメディア ソースのリストとメディア出力のリストが含まれます。 プロジェクトがビデオ入力を取り込む元、キャプチャを送信する先の場所を指定するためにこれらのリストをセットアップします。
    例えば、1 つのプロファイルでは、AJA Media カードから、別のプロファイルでは Blackmagic Design カードから、3 番目はディスク上のファイルから入力を取り込むようにセットアップできます。
    単一のメディア プロファイル内でうまく組み合わせることもできます。例えば、単一のメディア プロファイルでファイルと SDI フィードの両方から入力を取り込むことができます。

  2. Media Framework Utilities Plugin をインストールすると、プロジェクトの [Project Settings (プロジェクト設定)] パネルには入力と出力の同様のリストが含まれます。 メディア プロファイルの入力リストの各番号付きエントリは、[Project Settings (プロジェクト設定)] の入力リストの番号に一致し、出力リストでも同様です。
    [Project Settings (プロジェクト設定)] のこれらのリスト エントリをセットアップして、プロジェクトで作成した、プロキシ メディア ソースまたは プロキシ メディア アセットを指すようにします。

  3. プロジェクト コンテンツでメディア ソースまたはメディア出力をセットアップする必要がある場合は常に、同じプロキシ メディア アセットを参照します。 例:

    1. メディア バンドルやメディア プレイヤーをセットアップするとき、ファイル、ストリームまたは SDI 入力を直接表すメディア ソースではなく、メディア プロキシ アセットのいずれかを指します。

    2. 同様に、メディア キャプチャをセットアップするとき、出力を AJA や Blackmagic メディア出力に直接でなく、プロキシ メディア出力に送信します。 前に示したように、Unreal Editor の [Media Capture (メディア キャプチャ)] パネルで、または実行時に [Create Media Capture] ブループリント ノードで起動して、これを実行できます。同じプロキシ メディア出力への参照を含めるため、[Project Settings (プロジェクト設定)] で出力リストをセットアップした場合、メディア プロファイルに設定されたインデックスに一致する出力にキャプチャが転送されます。

プロキシ メディア ソースとプロキシ メディア出力の各アセットには、重要なコンフィギュレーション プロパティ自体が含まれません。 それらはチャネル、つまりメディア プロファイルの入力と出力コンフィギュレーション セットを、プロジェクトのどこでも、他のアセットで実際に入力が使用または出力が生成される場所に接続するパスとして働くだけです。

アクティブ メディア プロファイルを選択および保存する

プロジェクトが Unreal Engine または Unreal Editor にロードされるときは常に、1 つのメディア プロファイルのみをアクティブにできます (あるいはすべて無効)。

プロジェクトを Unreal Editor で開いたとき、メイン レベル エディタのツールバーにあるメディア プロファイル メニューでアクティブなメディア プロファイルを選択します。

アクティブなメディア プロファイルを選択する

メディア プロファイルは Unreal Engine プロジェクトに常に保存されるアセットです。 ただし、どのメディア プロファイルを有効にするのかの選択は、プロジェクト内ではなく、各コンピュータに保存されます。 つまり、特定のコンピュータの特定プロジェクトでメディア プロファイルを設定すると、メディア ハードウェアのコンフィギュレーションが変わらない限り、変更する必要はありません。

一方、プロジェクトのパッケージ バージョンを実行しているとき、どのメディア プロファイルをアクティブにするのかの選択は、常に Startup Media Profile 設定で決まります。これは [Project Settings (プロジェクト設定)] ウィンドウの [Plugins (プラグイン)] > [Media Profile (メディア プロファイル)] にあります。

media-profile-setting.png

メディア プロファイルおよびプロキシ入門

この手順では、2 つのメディア プロファイルをセットアップします。ローカル ムービー ファイルからの入力を再生するものと、SDI カードからのライブ ビデオ フィードを再生するものがあります。 レベルでビデオを再生する 2 つの別のメディア バンドルをセットアップします。 最後に、プロキシ メディア ソースを使用して、メディア プロファイルで設定されたソースからの入力をメディア バンドルにリダイレクトします。

前提条件

  • メディア プロファイルとプロキシの各アセットは Media Framework Utilities プラグインにより提供されます。 このプラグインをインストールする必要があります。

  • AJA Media または Blackmagic Design ハードウェア向けのクイック スタート ガイドの手順を実行する必要もあります。

以下に説明したものと同様のセットアップの実例を確認するには、Epic Games Launcher の [Learn (ラーニング)] タブで利用可能な Virtual Studio ショーケース を参照してください。

  1. プロキシ メディア ソース アセットの作成から始めます。 [Content Browser (コンテンツ ブラウザ)] を右クリックして、コンテキスト メニューから [Media (メディア)] > [Proxy Media Source (プロキシ メディア ソース)] を選択します。
    プロキシ メディア ソースを作成する
    新しいアセットに「VideoProxyInA」と名前を付けます。

  2. 前のステップを繰り返して、別のプロキシ メディア ソースを作成し、「VideoProxyInB」と名前を付けます。

  3. 新しいメディア バンドル アセットを作成します。 [Content Browser (コンテンツ ブラウザ)] を右クリックして、[Media (メディア)] > [Media Bundle (メディア バンドル)] を選択します。
    メディア バンドルを作成する新しいアセットに「MediaBundleA」と名前を付けます。

  4. 新しいメディア バンドル アセットをダブルクリックして編集します。

  5. [Details (詳細)] パネルで、[Media Source (メディア ソース)] を見つけ、ドロップダウン リストから [Proxy Media Source (プロキシ メディア ソース)] を選択します。
    プロキシ メディア ソースを選択する

  6. [Source (ソース)] カテゴリを展開して、[Proxy (プロキシ)] を、前に作成した VideoProxyInA アセットを参照するように設定します。
    プロキシ メディア ソース アセットを設定する

  7. 前のステップを繰り返して、別のメディア バンドルを作成します。 今回は、「MediaBundleB」と名前を付け、ソース プロキシを VideoProxyInB を参照するように設定します。

    VideoProxyInA や MediaProfileA などここで使用するアセット名は、多様なアセット間の関係をわかりやすくするためのものです。 したがって、独自のプロジェクトでは、メディア プロキシとメディア バンドルが処理する必要があるコンテンツの種類がわかるような名前を付けることをお勧めします。 これらのアセット名はコンフィギュレーションや、[Media Capture (メディア キャプチャ)] ウィンドウなどの場所に表示されるので、プロジェクトの作業するチーム全体でわかりやすい名前にすることが理想的です。

  8. メイン メニューから [Edit (編集)] > [Project Settings (プロジェクト設定)] を選択します。 [Plugins (プラグイン)] > [Media Profile (メディア プロファイル)] セクションに移動し、詳細オプションを展開します。 メディア プロファイル設定

  9. 2 つのエントリを [Media Source Proxy (メディア ソース プロキシ)] リストに追加します。 一方を VideoProxyInA、もう一方を VideoProxyInB を参照するように設定します。
    プロキシ メディア ソース アセットを追加する

  10. ここでは、ディスク上のファイルからビデオを再生する「FileProfile」という名前の新しいメディア プロファイルを作成します。 次の 2 つの方法のいずれかを実行できます。

    • [Content Browser (コンテンツ ブラウザ)] を右クリックして、コンテキスト メニューから [Media (メディア)] > [Media Profile (メディア プロファイル)] を選択し、アセットの名前を変更します。
      新しいアセットを作成するために右クリックする

    • ツールバーでプロファイル選択ボタンから、[Create New Media Profile (メディア プロファイルの新規作成)] を選択し、新しいアセットのパスと名前を設定します。
      ツールバーから新しいアセットを作成する

  11. 自動的に開いていない場合は、新しいメディア プロファイルをダブルクリックして、編集します。
    [Media Sources (メディア ソース)] 設定を見つけ、2 つの新要素をリストに追加します。 リストの各エントリを [File Media Source (ファイル メディア ソース)] に設定し、それぞれに対して異なる [File Path (ファイル パス)] を設定します。 
    ファイル メディア ソースの各パス

    テストに使うサンプル ビデオが必要な場合、Video1 | Video2 を使用できます。

  12. 前のステップを繰り返して、2 番目のメディア プロファイルを作成し、「LiveFeedProfile」と名前を付けます。これは使用するコンピュータに接続されている AJA または Blackmagic デバイスからビデオを取り込みます。 例:
    ライブ フィード用メディア プロファイル 各メディア プロファイルには、タイムコード プロバイダとゲンロック プロバイダを設定する機能も用意されています。
    メディア プロファイルのタイムコードとゲンロック設定
    これらは [Project Settings (プロジェクト設定)] パネルにある [Timecode Provider (タイムコード プロバイダ)] と [Custom Time Step (カスタム タイム ステップ)] 設定とまったく同じ効果です。 ただし、メディア プロファイルでこれらの値を設定しても、[Project Settings (プロジェクト設定)] をオーバライドするのは、メディア プロファイルがアクティブであるときだけです。 詳細は、「タイムコードとゲンロック」を参照してください。

  13. ツールバーのプロファイル選択ボタンで、前に作成した FileMediaProfile を選択します。
    FileMediaProfile をアクティブ化する

  14. 2 つのメディア バンドルをレベルのビューポートにドラッグ&ドロップします。 ファイルからロードされたビデオの表示、または SDI 接続からの入力が開始されることを確認します。
    メディア バンドルをドラッグ&ドロップする

  15. ツールバーのメディア プロファイル選択ツールを使用して、2 つのメディア プロファイル間で簡単に切り替えできます。1 クリックでメディア ソース (オプションでタイムコードとゲンロック設定) が変わります。
    メディア プロファイルを切り替える

プロキシ メディア出力を使用する

この手順では、前のセクションで作成したメディア プロファイル セットアップを拡張します。 Unreal Editor (または Unreal Engine で実行時に) でビデオ フィードをキャプチャします。それをメディア プロファイルで定義した出力コンフィギュレーションに、プロキシ メディア出力を通じてフィードするようにルーティングします。 全体のプロセスはメディア ソースのセットアップとよく似ています。プロキシ アセットを作成し、プロキシを参照するようにプロジェクト設定を更新し、メディア プロファイルで実際の出力デバイスを設定します。

  1. プロキシ メディア出力アセットの作成から始めます。 [Content Browser (コンテンツ ブラウザ)] を右クリックして、コンテキスト メニューで [Media (メディア)] > [Proxy Media Output (プロキシ メディア出力)] を選択します。
    プロキシ メディア出力を新規作成する
    新しいアセットに「VideoProxyOut」と名前を付けます。

  2. メイン メニューから [Edit (編集)] > [Project Settings (プロジェクト設定)] を選択します。 [Plugins (プラグイン)] > [Media Profile (メディア プロファイル)] セクションに移動し、詳細オプションを展開します。
    メディア プロファイルのプロジェクト設定

  3. エントリを [Media Output Proxy (メディア出力プロキシ)] リストに追加し、出力プロキシを VideoProxyOut を指すように設定します。
    メディア出力プロキシを設定する

  4. 前のセクションで作成した LiveFeedProfile をダブルクリックして、新しいエントリを [Media Outputs (メディア出力)] リストに追加します。 使用するコンピュータに接続されている AJA または Blackmagic デバイスのポートにビデオ フィードを送信するようにセットアップします。
    proxies-output-4-profile.png

  5. メイン メニューから [Window (ウィンドウ)] > [Media Capture (メディア キャプチャ)] を選択します。

  6. 必要に応じて、新しいエントリを [Viewport Captures (ビューポート キャプチャ)] リストに追加し、[Media Output (メディア出力)] 設定を VideoProxyOut アセットを指すように設定します。
    メディア キャプチャでプロキシを設定する

  7. [Capture (キャプチャ)] をクリックして、フィードのキャプチャと AJA または Blackmagic デバイスにプロキシを通じて送信を開始します。Unreal Editor からキャプチャを開始する 
    この時点でメディア プロファイルを FileVideoProfile を指すように切り替えると、キャプチャは停止します。FileVideoProfileMedia Outputs リストのエントリ 0 に出力が設定されていないからです。

  8. 実行時にビデオ フィードをキャプチャし、プロキシを通じて送信するには、AJA Media または Blackmagic Design ハードウェア向けのクイック スタート ガイドの手順を完全に実行します。
    唯一の違いは、オブジェクト リファレンスが AjaMediaOutput または BlackmagicMediaOutput である変数を使用する代わりに、キャプチャを送信する先の ProxyMediaOutput に対するオブジェクト リファレンスを使用するところです。 この ProxyMediaOutput 変数を Create Media Capture ノードへの入力として使用します。 例:
    プロキシ メディア出力からメディア キャプチャを作成する

最終結果

それぞれに入力および出力フィードの独自コンフィギュレーションがある、異なる 2 つのメディア プロファイルをセットアップできるようになりました。 それぞれメディア プロファイルは、メディア プロキシ アセットを使用して、それらのビデオ フィードを消費または生成する他のメディア フレームワーク アセットに入力および出力コンフィギュレーションをマッピングします。 このサンプル コンフィギュレーションでは実際の使用シナリオに合わない場合もあります。 ただしセットアップするステップを順にたどることにより、同じ基本機能を固有のニーズを満たすように拡張する方法のアイデアを得ることができます。

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信