Remotion LabRemotion Lab
伺服器端渲染在雲端使用 GPU(裸機)

在雲端使用 GPU(裸機)

使用 AWS EC2 GPU 執行個體在雲端渲染 Remotion 影片的完整工作流程指南。

在雲端使用 GPU(裸機)

以下是使用雲端 GPU 透過 EC2 執行個體渲染影片的範例工作流程。

更新 Remotion

請確保使用 Remotion v4.0.248 或更新版本,本指南方能正常運作。

啟動 EC2 執行個體

步驟一:確認可使用 GPU

你可能需要向 AWS 申請增加 GPU 使用配額。可在 AWS 主控台中進行此操作:前往「Service Quotas」->「AWS Services」->「Amazon Elastic Compute Cloud (Amazon EC2)」->「Running On-Demand G and VT instances」->「Request increase at account-level」。

步驟二:啟動 EC2 執行個體

前往 us-east-1 啟動 EC2 執行個體。選擇「Browse more AMIs」,搜尋 ami-06a1f46caddb5669e,選取「Community AMIs」分頁,並選擇對應的 AMI(ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-20230608)。

注意:搜尋結果可能需要最多 30 秒才能顯示 AMI,且它不是第一個結果

建議使用 g4dn.xlarge 規格——請注意此執行個體在預設設定下每月費用約為 $375 美元。若出現「Subscribing to AMI is taking longer than expected」訊息,這是正常現象,可能需要等待幾分鐘。

步驟三:設定執行個體

連接到執行個體後,依序執行以下指令:

將 Linux 核心升級至 v6
sudo bash -c "apt update && export DEBIAN_FRONTEND=noninteractive && export NEEDRESTART_MODE=a && apt upgrade -y && reboot"

執行個體將重新啟動並斷開連線,請稍候片刻後重新連線。

接著安裝 Remotion 的 Linux 相依套件:

安裝 Linux 相依套件
sudo apt install -y \
  libnss3 \
  libdbus-1-3 \
  libatk1.0-0 \
  libasound2 \
  libxrandr2 \
  libxkbcommon-dev \
  libxfixes3 \
  libxcomposite1 \
  libxdamage1 \
  libcups2 \
  libgbm-dev \
  libpangocairo-1.0-0 \
  libatk-bridge2.0-0

設定 GPU 驅動程式:

安裝 libvulkan
sudo apt install -y build-essential libvulkan1
安裝 GPU 驅動程式
DRIVER_URL="https://us.download.nvidia.com/tesla/535.104.12/NVIDIA-Linux-x86_64-535.104.12.run"
DRIVER_NAME="NVIDIA-Linux-driver.run"
wget -O "$DRIVER_NAME" "$DRIVER_URL"
sudo sh "$DRIVER_NAME" --disable-nouveau --silent
rm "$DRIVER_NAME"
設定啟動服務
echo '[Unit]
Description=Run nvidia-smi at system startup
 
[Service]
ExecStart=/usr/bin/nvidia-smi
Type=oneshot
RemainAfterExit=yes
 
[Install]
WantedBy=multi-user.target' | sudo tee /etc/systemd/system/nvidia-smi.service
sudo systemctl enable nvidia-smi.service
sudo systemctl start nvidia-smi.service
安裝 Node.js
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
 
NODE_MAJOR=20
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
 
sudo apt-get update
sudo apt-get install nodejs -y

步驟四:使用 GPU 渲染影片

複製 Remotion GPU 示範專案
git clone https://github.com/remotion-dev/gpu-scene
cd gpu-scene
npm i
npx remotion gpu --chrome-mode="chrome-for-testing" --gl=vulkan # 驗證內容是否使用硬體加速
npx remotion render --chrome-mode="chrome-for-testing" --gl=vulkan # 渲染測試影片

使用 --chrome-mode="chrome-for-testing" 時,會採用可模擬顯示器的 Chrome 版本,從而能夠使用 GPU。使用 --gl=vulkan 時,Chrome 會使用正確的 OpenGL 渲染器。

注意:可能會出現 vkCreateInstance() failed: -7Failed to create and initialize Vulkan implementation. 等警告,但渲染速度應會顯著加快。

相關資源