HEVC/H.265 エンコーダー – ビットレート最適化版

ngcodec-tile

HEVC/H.265 エンコーダー – ビットレート最適化版

NGCodec 社の RealityCodec は、H.265/HEVC 対応の配信放送品質のトランスコーダーであり、ABR をサポートし、オンプレミスの Alveo カードとクラウドの FPGA インスタンスの両方で実行されます。

ベンダー: Xilinx

更新日
サイズ コンテナー バージョン
2020 年 6 月 16 日 1.64 GB hevc_u200_v1.3
2020 年 7 月 1 日 1.64 GB hevc_u50_v1.3

その他のご質問、またはユーザー エクスペリエンスに関する問題は、alveo_video_ea@xilinx.com へご連絡ください。

評価または購入

この製品を評価または購入する権利を取得します。


無償トライアルで下記のサンプル アプリケーションを実行できます。


運用オプション

このアプリケーションはコンテナー化されており、クラウドまたはオンプレミス上で数分で簡単に実行できます。

クラウド サービス
Nimbix U200
  • ザイリンクス ランタイム: 2019.2
  • ターゲット プラットフォーム: xdma-201830.2
Nimbix U50
  • ザイリンクス ランタイム: 2020.1
  • ターゲット プラットフォーム: nx_u50_202010_a
オンプレミス
Alveo U50
製品の詳細および購入
  • ザイリンクス ランタイム: 2020.1
  • ターゲット プラットフォーム: xilinx_u50_gen3x4_xdma_base_2


 


評価版を開始する

運用方法に応じた手順に従ってください。

Nimbix U200

1.

アカウント アクセス キーを取得

ユーザー認証と、ユーザー アカウントの権限に基づいてアプリケーションへのアクセスを許可するには、アクセス キーが必要です。次の手順に従って、ご自身のアカウントのアクセス キーを取得してください。

  • Xilinx App Store Portal にログインします。
  • [Manage Account] をクリックして権限を表示します。
  • 左のメニューから [Access Key] をクリックします。
  • [Create an Access Key] をクリックします。
  • 生成された cred.json ファイルをダウンロードします。

注記: 生成したアクセスキーで、ご自身のアカウント内のすべての権限を有効にできます。上記の「TRY OR BUY」セクションから権限を取得していない場合は、この手順を実行してからアクセス キーを生成してください。


2.

Nimbix サービスにサイン アップする

  • Nimbix 社のクラウド サイトへアクセスし、サインアップしてください。https://www.nimbix.net/contact-us
  • サイン アップフォームを送信すると、Nimbix アカウントの設定手順が記載された電子メールが届きます。

3.

アプリケーションの実行


3.1 Nimbix プラットフォームでアプリケーションを選択する

Nimbix 社のプラットフォームにサインインします。

https://platform.jarvice.com/?page=compute&name=HEVC%20DRM%20U200

  • Accelize 社から取得した 「cred.json」を Nimbix にアップロードします。
    • Nimbix 上でのファイル アップロード/ダウンロード手順は、こちらをご覧ください。

  • 対話型シェルのポップアップ画面の左下にある [Desktop Mode] をクリックします
    • [Desktop Mode] は、対話型シェルを使用して HEVC を検証します。
    • 次は、ステップ 3.2.1 へ進んでください。

  • ポップアップ画面の左下にある [Single Command] ボタンをクリックします。
    • [Single Command] は、サンプルの 1080p 入力ファイルを使用して視覚的に検証するための簡単なデモが必要な場合に使用します。
    • この方法で実行すると、各コマンドは異なる FPGA 上で実行する可能性があるため、drm の問題が生じる可能性があることに注意してください。複数のコマンドを連続して実行する場合は、[Desktop Mode] の使用を推奨しています。
    • 次は、ステップ 3.2.2 へ進んでください。

3.2. アプリケーションを実行する

シングル コマンドを実行できますが、対話型シェルを起動して、複数コマンドを実行することも可能です。


3.2.1 [Desktop Mode] で実行する

次のパラメーターを使用して [Submit] をクリックします。

マシン:

  • マシン タイプ: nx5u_xdma_201830_2
  • コア: 16

[submit] をクリックして、vnc または ssh 経由で起動します (インスタンスの初期化に多少の時間がかかる場合があります)。

vnc を使用して接続する場合は、[デスクトップのプレビュー] をクリックします。

ssh を使用して接続する場合は、ssh nimbix@[address provided] と事前に提供されたパスワードを使用します。

 


端末を開いて「cd drmapp/」と入力します。


以前に生成した 「cred.json」を現在のディレクトリにコピーします。この場合、次の方法を使用できます。


./drmapp.exe」と入力して FPGA のロックを解除します。


これで 2 つ目の端末を開いて、ffmpeg コマンドを実行できるようになります。
サンプル スクリプトは、/home/nimbix/scripts/ にあります。

スクリプトに引数が指定されていない場合、デフォルトで /samples/in.mp4 が使用されます。

ビデオを転送して再生します。( https://support.nimbix.net/hc/en-us/articles/208083526-How-do-I-transfer-files-to-and-from-JARVICE- )


3.2.2 [Single Command] で実行する

次のパラメーターを使用して「Submit」ボタンをクリックします。

マシン:

  • マシン タイプ: nx5u_xdma_201830_2
  • コア: 16

Parameters:

  • アクセス キー: 以前にコンピューターにダウンロードした「cred.json」ファイルを選択します。
  •  FFMPEG 引数 :
    -y -i /samples/in.mp4 -c:v NGC265 -b:v 1000K -vf fps=60 -f rawvideo /data/out.265

4.

結果

ジョブが完了すると、「out.265」HEVC エンコード サンプルが Nimbix 社の FTP サイトで利用可能になります。これをダウンロードして、ビデオ プレーヤー ソフトウェアを使用して表示します。

次の方法で、独自の入力ビデオ ファイルを使用できます。

  • Nimbix FTP にアップロード
  • FFMPEG 引数の「-i /samples/in.mp4」を「-i /data/{YourFileName}」に置き換える
Nimbix U50

1.

アカウント アクセス キーを取得

ユーザー認証と、ユーザー アカウントの権限に基づいてアプリケーションへのアクセスを許可するには、アクセス キーが必要です。次の手順に従って、ご自身のアカウントのアクセス キーを取得してください。

  • Xilinx App Store Portal にログインします。
  • [Manage Account] をクリックして権限を表示します。
  • 左のメニューから [Access Key] をクリックします。
  • [Create an Access Key] をクリックします。
  • 生成された cred.json ファイルをダウンロードします。

注記: 生成したアクセスキーで、ご自身のアカウント内のすべての権限を有効にできます。上記の「TRY OR BUY」セクションから権限を取得していない場合は、この手順を実行してからアクセス キーを生成してください。


2.

Nimbix サービスにサイン アップする

  • Nimbix 社のクラウド サイトへアクセスし、サインアップしてください。https://www.nimbix.net/contact-us
  • サイン アップフォームを送信すると、Nimbix アカウントの設定手順が記載された電子メールが届きます。

3.

アプリケーションの実行


3.1 Nimbix プラットフォームでアプリケーションを選択する

Nimbix 社のプラットフォームにサインインします。

https://platform.jarvice.com/?page=compute&name=HEVC%20DRM%20U50

  • Accelize 社から取得した 「cred.json」を Nimbix にアップロードします。
    • Nimbix 上でのファイル アップロード/ダウンロード手順は、こちらをご覧ください。

  • 「HEVC DRM U50」のアプリケーション タイルをクリックします。
  • 対話型シェルのポップアップ画面の左下にある [Desktop Mode] をクリックします
    • [Desktop Mode] は、対話型シェルを使用して HEVC を検証します。
    • 次は、ステップ 3.2.1 へ進んでください。

  • ポップアップ画面の左下にある [Single Command] ボタンをクリックします。
    • [Single Command] は、サンプルの 1080p 入力ファイルを使用して視覚的に検証するための簡単なデモが必要な場合に使用します。
    • この方法で実行すると、各コマンドは異なる FPGA 上で実行する可能性があるため、drm の問題が生じる可能性があることに注意してください。複数のコマンドを連続して実行する場合は、[Desktop Mode] の使用を推奨しています。
    • 次は、ステップ 3.2.2 へ進んでください。

3.2. アプリケーションを実行する

シングル コマンドを実行できますが、対話型シェルを起動して、複数コマンドを実行することも可能です。


3.2.1 [Desktop Mode] で実行する

次のパラメーターを使用して [Submit] をクリックします。

マシン:

  • マシン タイプ: nx_u50_202010_a
  • コア: 16

[submit] をクリックして、vnc または ssh 経由で起動します (インスタンスの初期化に多少の時間がかかる場合があります)。

vnc を使用して接続する場合は、[デスクトップのプレビュー] をクリックします。

ssh を使用して接続する場合は、ssh nimbix@[address provided] と事前に提供されたパスワードを使用します。


端末を開いて「cd drmapp/」と入力します。


以前に生成した 「cred.json」を現在のディレクトリにコピーします。この場合、次の方法を使用できます。


./drmapp.exe」と入力して FPGA のロックを解除します。


これで 2 つ目の端末を開いて、ffmpeg コマンドを実行できるようになります。
サンプル スクリプトは、/home/nimbix/scripts/ にあります。

スクリプトに引数が指定されていない場合、デフォルトで /samples/in.mp4 が使用されます。


3.2.2 [Single Command] で実行する

次のパラメーターを使用して「Submit」ボタンをクリックします。

マシン:

  • マシン タイプ: nx_u50_202010_a
  • コア: 16

Parameters:

  • アクセス キー: 以前にコンピューターにダウンロードした「cred.json」ファイルを選択します。
  •  FFMPEG 引数 :
    -y -i /samples/in.mp4 -c:v NGC265 -b:v 1000K -vf fps=60 -f rawvideo /data/out.265

4.

結果

ジョブが完了すると、「out.265」HEVC エンコード サンプルが Nimbix 社の FTP サイトで利用可能になります。これをダウンロードして、ビデオ プレーヤー ソフトウェアを使用して表示します。

次の方法で、独自の入力ビデオ ファイルを使用できます。

  • Nimbix FTP にアップロード
  • FFMPEG 引数の「-i /samples/in.mp4」を「-i /data/{YourFileName}」に置き換える
オンプレミス U50

1.

アカウント アクセス キーを取得

ユーザー認証と、ユーザー アカウントの権限に基づいてアプリケーションへのアクセスを許可するには、アクセス キーが必要です。次の手順に従って、ご自身のアカウントのアクセス キーを取得してください。

  • Xilinx App Store Portal にログインします。
  • [Manage Account] をクリックして権限を表示します。
  • 左のメニューから [Access Key] をクリックします。
  • [Create an Access Key] をクリックします。
  • 生成された cred.json ファイルをダウンロードします。

注記: 生成したアクセスキーで、ご自身のアカウント内のすべての権限を有効にできます。上記の「TRY OR BUY」セクションから権限を取得していない場合は、この手順を実行してからアクセス キーを生成してください。


2.

ホストを設定する

XRT (Xilinx Runtime) ホスト アプリケーションは、CentOS 7.xでサポートされています。  sudo アクセスが許可されている状態で、次のコマンドを使用してセットアップ スクリプトをダウンロードして実行します。

 


2.1 Xilinx Base Runtime 用の GitHub リポジトリを複製する

    git clone https://github.com/Xilinx/Xilinx_Base_Runtime.git && cd Xilinx_Base_Runtime

2.2 ホスト セットアップ スクリプトを実行する

    ./host_setup.sh -v 2020.1 -p alveo-u50 –skip-shell-flash


注記: 

  • インストールが完了するまで待機します。  途中、ホスト セットアップを継続させるために [Y] をクリックする必要がある場合があります。
  • ホスト セットアップ用のスクリプトを使用して、ほかのバージョンの XRT やシェルをセットアップできます。詳細は、https://github.com/Xilinx/Xilinx_Base_Runtime をご覧ください。

 


2.3 U50 Gen3x4 シェルをインストールする

U50 gen3x4 シェルは、ザイリンクス ラウンジ (https://japan.xilinx.com/member/alveo-platform.html) で入手できます。

該当する運用環境のパッケージをダウンロードして解凍し、sc、cmc、および xdma ベース パッケージをインストールします。

CentOS:

sudo yum remove -y xilinx-cmc-u50 xilinx-sc-fw-u50
sudo yum install ./
sudo yum install ./

sudo yum install ./
sudo yum install ./

sudo /opt/xilinx/xrt/bin/xbmgmt flash --update --shell xilinx_u50_gen3x4_xdma_base_2

FPGA に新しいシェルがロードされるとすぐに、マシンをコールドリブートしてください。


ドッカーをインストールする (まだインストールしていない場合)

sudo アクセスが許可されている状態で、次のコマンドを使用してユーティリティ スクリプトを実行してドッカーをインストールします。


Xilinx_Base_Runtime ユーティリティ ディレクトリへ移動する

    cd Xilinx_Base_Runtime/utilities

Docker インストレーション スクリプトを実行する

    ./docker_install.sh


Docker がインストール済みの場合は、ドッカーを起動させます。
systemctl restart docker
systemctl enable docker


2.5 Docker イメージをインストールする

こちらから Docker イメージしてください。

インストール

docker load --input [downloaded_docker_image.tar.gz]


3.

アプリケーションの実行

ターミナル ウィンドウで次のコマンドを入力して、アプリケーションを実行します。


3.1 Xilinx_Base_Runtime のスクリプトで環境変数をセットアップする

    source Xilinx_Base_Runtime/utilities/xilinx_docker_setup.sh


ドッカーが出力ディレクトリ (デフォルトは /dev/shm ) への書き込み権限を持って いることを確認してください。
chmod 777 /dev/shm/


3.2 Docker イメージを実行する

シングル コマンドを実行できますが、対話型シェルを起動して、複数コマンドを実行することも可能です。


3.2.1 シングル コマンド

    docker run -v /tmp/cred.json:/cred.json -v /dev/shm:/data $XILINX_DOCKER_DEVICES xilinxatg/dcg_video_nimbix:HEVC_U50_Centos7 /cred.json "-y -i /samples/in.mp4 -c:v NGC265 -vf fps=60 -b:v 5M -f rawvideo /data/1080p60_5mbs.265"

コマンド引数の説明:

  • -v /tmp/cred.json:/cred.json  - Map local cred.json dir : コンテナー ディレクトリ
  • -v /dev/shm:/data -  Map the local dir : 生成された出力ファイルのコンテナー ディレクトリ
  • $XILINX_DOCKER_DEVICES  - ホスト セットアップ スクリプトで設定された環境変数
  • /cred.json - ランタイム スクリプトに cred.json の場所を知らせる
  • -y -i /samples/in.mp4 -c:v NGC265 -vf fps=60 -b:v 5M -f rawvideo /data/1080p60_5mbs.265 - ffmpeg commandline arguments
  • "0" – ロックを解除するデバイス ID を指定するオプションの引数。"0 1" は、デバイス 0 および 1 のロックを解除。

3.2.2 対話型シェル

    docker run -u alveo -v /tmp/cred.json:/cred.json -v /dev/shm:/data $XILINX_DOCKER_DEVICES --entrypoint bash -it xilinxatg/dcg_video_nimbix:HEVC_U50_Centos7

コマンド引数の説明:

  • -v /tmp/cred.json:/cred.json  - Map local cred.json dir : コンテナー ディレクトリ
  • -v /dev/shm:/data -  Map the local dir : 生成された出力ファイルのコンテナー ディレクトリ
  • $XILINX_DOCKER_DEVICES  - ホスト セットアップ スクリプトで設定された環境変数
  • /cred.json - ランタイム スクリプトに cred.json の場所を知らせる
  • --entrypoint bash -it - bashセッションを起動して、インタラクティブにする

FPGA のロックを解除する

cd drmapp/

cp /cred.json .

./drmapp.exe &

これにより、FPGA のデバイス 0 のロックが解除される。複数デバイスをロックする場合は、./drmapp.exe 0 1 & を実行する。

cd ~/scripts/  

ffmpeg コマンドを実行します。サンプル スクリプトを使用できます。サンプルの入力 mp4 ファイルは、/samples にあります。

./1080p60_5mbs.cmd

DRM を停止する

kill %1

 


4.

結果

ジョブが完了すると、/dev/shm/ に出力ファイルが保存されます。