HEVC/H.265 Encoder – 比特率优化版

ngcodec-tile

HEVC/H.265 Encoder – 比特率优化版

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

试用或购买

获得评估或购买此产品的权利。


您可免费试用以下示例应用。


部署选项

该应用是容器化的,可以在几分钟内轻松地在云中或本地运行。

本地
Alveo U50
查看 & 购买产品
  • Xilinx 运行时:2020.1
  • 目标平台:xilinx_u50_gen3x4_xdma_base_2


 


开始评估

请按照部署方法进行操作。

Alveo U50

1.

获取账户访问密钥

需要一个访问密钥来对用户进行身份验证,并根据其权限授予用户应用访问权。要获取您的帐户访问密钥,请按以下步骤操作:

  • 登录 Xilinx 应用商城门户网站
  • 点击 "Manage Account" 按钮,查看应享权限。
  • 点击左侧菜单上的 "Access Key" 链接
  • 点击 "Create an Access Key" 按钮。
  • 将生成的文件 "cred.json" 下载到 ABC 位置

注:生成的访问密钥将启用您帐户中的所有权限。如果您还没有从以上 "TRY OR BUY" 部分获取授权,请先获取授权,然后按照以下步骤生成访问密钥。


2.

主机设置

Xilinx Runtime (XRT) 主机应用在 CentOS 7.x 上提供支持。  支持 sudo 访问,使用以下命令下载并运行安装脚本:

  


2.1 为 Xilinx 基础运行时克隆 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 和 shell。请查看  https://github.com/Xilinx/Xilinx_Base_Runtime,了解更多详情。

  


2.3 U50 Gen3x4 Shell 安装:

U50 gen3x4 shell 可在 Xilinx 专区找到,网址为:https://www.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 yum install ./

用新的 shell 刷新 FPGA 之后,对计算机进行冷重启。


2.4 安装 Docker(如果尚未安装)

支持 sudo 访问时,请使用以下命令运行实用程序脚本来安装 docker。


转向 Xilinx_Base_Runtime 实用程序目录

    cd Xilinx_Base_Runtime/utilities

运行 Docker 安装脚本

    ./docker_install.sh


如果 docker 已安装,启动:
systemctl restart docker
systemctl enable docker


2.5 安装 Docker 映像

下载 Docker Image

安装

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


3.

应用执行

在终端窗口中输入以下命令以运行该应用程序:


3.1 通过 Xilinx_Base_Runtime 脚本设置环境变量

    source Xilinx_Base_Runtime/utilities/xilinx_docker_setup.sh


确保 Docker 在输出目录 (默认/dev/shm )中有写权限
chmod 777 /dev/shm/


运行 Docker 映像

您可以运行单个命令,也可以启动可运行多个命令的交互式 shell。


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 命令行参数
  • "0" – 可选参数,指定要解锁的器件 ID。"0 1" 解锁器件 0 和 1。

3.2.2 交互式 shell

    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.您可使用示例脚本作为示例。可以在 /samples 中找到一个示例输入 mp4 文件

./1080p60_5mbs.cmd

停止 DRM

kill %1

  


4.

结果

任务完成后,输出文件将存储在/dev/shm/