HEVC/H.265 エンコーダー – ビットレート最適化版 (アーリー アクセス リリース)


ngcodec-logo-color

アプリケーション サマリ

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

  • その他のご質問、またはユーザー エクスペリエンスに関する問題は、alveo_video_ea@xilinx.com へご連絡ください。
     
ベンダー 更新日 サイズ コンテナー バージョン
ザイリンクス 2020 年 6 月 16 日 1.64 GB hevc_u200_v1.3
2020 年 7 月 1 日 1.64 GB hevc_u50_v1.3

運用オプション

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

クラウド サービス
Nimbix U200
  • ザイリンクス ランタイム: 2019.2
  • ターゲット プラットフォーム: xdma-201830.2
Nimbix U50
  • ザイリンクス ランタイム: 2020.1
  • ターゲット プラットフォーム: nx_u50_202010_a
オンプレミス
U50
  • ザイリンクス ランタイム: 2020.1
  • ターゲット プラットフォーム: xilinx_u50_gen3x4_xdma_base_2

無償評価(所要時間: 10分)

1-start

1.アクセス キーを取得する

2-select

2.ホストを設定する (オンプレミス)

3-instructions

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


 


評価版を開始する

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

Nimbix U200

1.

評価アクセス キーを取得する

アクセス キー「cred.json」は、ザイリンクス アクセラレーション アプリケーション ストアから取得できます。


1.1 ザイリンクス アクセラレーション アプリケーション ストアにログインする

  • アカウントがない場合は作成してください。
  • [Xilinx AppStore Free Eval Plan] を選択して注文します。

「cred.json」ファイルとしてアクセス キーを作成し、ダウンロードする


2.

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

  • Nimbix 社のクラウド サイトへアクセスし、Alveo 無償トライアル版にアクセスするためにサインアップしてください。

https://www.nimbix.net/alveotrial

  • サイン アップフォームを送信すると、Nimbix アカウントの設定手順が記載された電子メールが届きます。
  • 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

パラメーター:

  • アクセス キー: 以前にコンピューターにダウンロードした「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.

評価アクセス キーを取得する

アクセス キー「cred.json」は、ザイリンクス アクセラレーション アプリケーション ストアから取得できます。


1.1 ザイリンクス アクセラレーション アプリケーション ストアにログインする

  • アカウントがない場合は作成してください。
  • [Xilinx AppStore Free Eval Plan] を選択して注文します。

「cred.json」ファイルとしてアクセス キーを作成し、ダウンロードする


2.

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

  • Nimbix 社のクラウド サイトへアクセスし、Alveo 無償トライアル版にアクセスするためにサインアップしてください。

https://www.nimbix.net/alveotrial

  • サイン アップフォームを送信すると、Nimbix アカウントの設定手順が記載された電子メールが届きます。
  • 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.

評価アクセス キーを取得する

アクセス キー「cred.json」は、ザイリンクス アクセラレーション アプリケーション ストアから取得できます。


1.1 ザイリンクス アクセラレーション アプリケーション ストアにログインする

  • アカウントがない場合は作成してください。
  • [Xilinx AppStore Free Eval Plan] を選択して注文します。

「cred.json」ファイルとしてアクセス キーを作成し、ダウンロードする


2.

ホストを設定する

XRT (Xilinx Runtime) ホスト アプリケーションは、Ubuntu 16.04 /18.04 および 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 --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 ベース パッケージをインストールします。

Ubuntu:

sudo apt-get install --reinstall ./
sudo apt-get install --reinstall ./
sudo apt-get install --reinstall ./
sudo /opt/xilinx/xrt/bin/xbmgmt flash --update --shell xilinx_u50_gen3x4_xdma_base_2

CentOS:

sudo yum remove -y xilinx-cmc-u50 xilinx-sc-fw-u50
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


ドッカーがインストール済みの場合は、ドッカーを起動させます。
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

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_v1.3 /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

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_v1.3

コマンド引数の説明:

  • -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 &

cd ~/scripts/ 

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

./1080p60_5mbs.cmd

DRM を停止する

kill %1 

 


4.

結果

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