원문 캡처 · red5.net
원문 캡처 · red5.net

Red5와 AMD가 Red5 Pro 서버에 AMD Xilinx Alveo U30 기반 하드웨어 트랜스코딩과 믹싱 기능을 추가했다. 라이브 스트리밍 서비스 제공업체와 주문자상표부착생산(OEM) 업체, 콘텐츠 전송 네트워크(CDN)가 실시간 영상 처리에 활용할 수 있으며, 클라우드 배포는 Amazon EC2 VT1 인스턴스를 지원한다.

Red5는 Xilinx Media Accelerator(XMA) API를 트랜스코더와 믹서에 통합했다. EC2 VT1 인스턴스에는 Alveo U30 카드가 최대 8개 탑재된다.

트랜스코더는 입력 스트림을 여러 비트레이트나 해상도의 영상으로 변환한다. 기존에는 네이티브 코드 기반의 실시간 스트림 처리기 Cauldron을 이용해 CPU에서 인코딩과 디코딩을 처리했다. 새 구현은 U30을 초기화해 입력 영상을 디코딩하고 크기를 조정한 뒤 여러 변형본으로 인코딩한다. 변형본은 Red5 Pro 클러스터의 노드를 거쳐 엣지 노드로 전달되며, 엣지 노드는 수신자의 최대 비트레이트 추정(REMB) 메시지를 활용해 시청자에게 제공할 변형본을 정한다.

믹서는 여러 라이브 스트림을 하나의 출력 스트림으로 합친다. Red5 Pro는 네이티브 C++ 코드 기반의 Brew 방식과 Chromium Embedded Framework(CEF) 방식의 믹서를 지원한다. Red5는 Brew 방식에서 합성한 화면을 U30으로 인코딩하도록 통합했으며, CEF 방식에서도 캡처한 화면을 AMD 가속기로 인코딩한다. 두 방식 모두 인코딩된 결과를 ProStream에 전달해 Red5 Pro 파이프라인에서 구독할 수 있게 한다.

Red5는 합성에 포함된 라이브 스트림을 디코딩하는 데도 AMD 가속기를 활용할 수 있는지 검토하는 등 믹싱 효율을 높일 방법을 계속 평가하고 있다.