이 페이지에서는 언리얼 엔진에서 NVIDIA Rivermax와 함께 SMPTE 2110을 사용하는 UX에 대해 안내합니다.
세팅
프로젝트 세팅
플러그인(Plugins) - NVIDIA Rivermax 아래의 프로젝트 세팅(Project Settings) 에서 다음 세팅을 환경설정할 수 있습니다.
NVIDIA Rivermax 플러그인에 대한 세팅입니다.
| 세팅 | 설명 |
|---|---|
| 시간 소스(Time Source) | 이 세팅은 Rivermax 라이브러리의 클럭 소스, 즉 타이밍 레퍼런스를 제어합니다.
PTP: Windows에서 BlueField-2 카드 사용 시 Rivermax의 클럭을 NIC의 DPU에서 처리되는 PTP로 환경설정할 수 있습니다.
시스템(System): 이 옵션을 선택하면 Rivermax에서 시스템 시간을 클럭으로 사용합니다.
엔진(Engine): 이 옵션을 선택하면 Rivermax에서 |
| PTP 인터페이스 주소(PTP Interface Address) | PTP 시간 소스에만 사용됩니다. PTP가 오는 인터페이스 주소입니다. |
에셋
다음 섹션에서는 콘텐츠 브라우저에서 생성하고 액세스할 수 있는 NVIDIA Rivermax용 에셋 타입에 대해 설명합니다.
Rivermax 미디어 소스
Rivermax 미디어 소스 세팅입니다.
Rivermax 미디어 소스 세팅을 사용하여 언리얼 엔진에서 수신하고자 하는 스트림을 환경설정할 수 있습니다. 아래에 각 세팅에 대한 설명이 나와 있습니다.
| 세팅 | 설명 |
|---|---|
| 옵션(Options) | |
| 해상도(Resolution) | 활성화하면 입력된 해상도와 들어오는 비디오 스트림의 해상도가 비교됩니다. 해상도가 일치하지 않으면 오류가 기록됩니다. 활성화하지 않으면 미디어가 RTP 헤더를 사용하여 들어오는 스트림의 해상도를 탐지하여 해당 스트림에 맞춰 자동으로 조정됩니다. |
| 프레임 레이트(Frame Rate) | 비디오 스트림의 프레임 레이트입니다. |
| 픽셀 포맷(Pixel Format) | 비디오 스트림의 픽셀 포맷입니다. 2110-20 표준에서 지원되는 포맷의 서브셋은 언리얼 엔진에서 지원됩니다.
|
| 인터페이스 주소(Interface Address) | 사용하려는 네트워크 인터페이스의 IP 주소입니다. 즉, 비디오 스트림이 들어오게 될 IP 주소입니다. 와일드카드(* 및 ?)가 지원되므로 시스템에서 인터페이스 IP가 다른 다양한 머신의 환경설정을 재사용할 수 있습니다. |
| 스트림 주소(Stream Address) | 스트림이 읽히는 IP 주소입니다. 대개 전송자가 브로드캐스팅하는 멀티캐스트 주소입니다. |
| 포트(Port) | 스트림이 전송되는 포트 번호입니다. |
| 비디오(Video) | |
| 디인터레이서(Deinterlacer) | 이 프로퍼티는 Rivermax에서 지원되지 않습니다. 없음(None) 설정 그대로 둡니다. |
| 인터레이스 필드 순서(Interlace Field Order) | 이 프로퍼티는 Rivermax에서 지원되지 않습니다. 디폴트 세팅 그대로 둡니다. |
| 소스 인코딩 오버라이드(Override Source Encoding) | OCIO 인코딩(OCIO Encoding)을 사용하지 않는 경우에만 이 프로퍼티를 사용합니다. 자세한 내용은 OCIO 문서를 참조하세요. |
| 소스 컬러 스페이스 오버라이드(Override Source Color Space) | OCIO 인코딩(OCIO Encoding)을 사용하지 않는 경우에만 이 프로퍼티를 사용합니다. 자세한 내용은 OCIO 문서를 참조하세요. |
| 비디오 - 컬러 변환 세팅(Video - Color Conversion Settings) | |
| 환경설정 소스(Configuration Source) | 이 프로퍼티를 사용하여 OCIO 환경설정을 정의합니다. 자세한 내용은 OCIO 문서를 참조하세요. |
| 트랜스폼 소스(Transform Source) | 이 프로퍼티를 사용하여 OCIO 트랜스폼 소스를 정의합니다. 자세한 내용은 OCIO 문서를 참조하세요. |
| 트랜스폼 대상(Transform Destination) | 이 프로퍼티를 사용하여 OCIO 트랜스폼 대상을 정의합니다. 자세한 내용은 OCIO 문서를 참조하세요. |
| 비디오 - 고급(Video - Advanced) | |
| GPU Direct 사용(Use GPU Direct) | 지원되는 경우 활성화하면, 샘플 메모리가 시스템 메모리를 우회하여 네트워크 카드 메모리에서 GPU 메모리로 직접 이동합니다. 현재는 둘 이상의 스트림을 수신할 때의 퍼포먼스 문제로 인해 CVAR를 사용하여 전역적으로 비활성화되어 있습니다. |
| 동기화(Synchronization) | |
| 시간 동기화(Time Synchronization) | Rivermax를 사용하려면 이 프로퍼티를 활성화해야 합니다. 활성화하면 미디어 소스가 ptp/프레임 시간 데이터에 의존하여 수신되는 스트림을 동기화합니다. Rivermax는 프레임 번호를 기반으로 동기화됩니다. |
| 프레임 딜레이(Frame Delay) | 0으로 놔둡니다. Rivermax는 항상 최신 프레임을 사용합니다. |
| 시간 딜레이(Time Delay) | 이 프로퍼티는 Rivermax에서 지원되지 않습니다. 항상 회색으로 비활성화되어 있어야 합니다. |
| 동기화 - 고급(Synchronization - Advanced) | |
| JIT 렌더링(Just in Time Rendering) | 이 옵션을 활성화하면 미디어 소스의 픽셀 처리가 현재 프레임 파이프라인에서 마지막 가능 포인트로 연기되므로 외부 소스에서 픽셀이 도착하여 재생 디바이스의 현재 프레임에서 렌더링될 때까지 더 많은 시간이 제공됩니다. |
| 프레임록(Framelock) | 활성화하면 전송자의 프레임 번호가 수신자의 프레임 번호와 일치하도록 합니다. Rivermax 소스와 출력이 일치하려면 이 프로퍼티가 활성화되어야 하지만, 서드 파티 미디어 소스 사용에 대해서는 아래 섹션을 참조하세요. |
| 샘플 평가 타입(Sample Evaluation Type) | Rivermax와 함께 사용하려면 이 프로퍼티를 타임코드(Timecode)로 설정해야 합니다. |
미디어 서버에서 스트리밍
Rivermax를 사용하면 미디어 서버(Media Servers) 같은 외부 소스에서 미디어를 스트리밍할 수 있습니다. 외부 소스에서 스트리밍하는 경우, 프레임록을 사용하지 않고 대신 외부 미디어 소스에서 타임코드 기반 동기화를 사용하게 할 수 있습니다. 외부 미디어 소스가 타임스탬프를 RTP 헤더로 인코딩하는 경우 프레임록 프로퍼티 를 비활성화하고 샘플 평가 타입 프로퍼티에 대한 타임코드 옵션을 선택할 수 있습니다. 그러면 스트리밍된 미디어는 RTP 타임스탬프를 기반으로 동기화됩니다.
미디어 서버 같은 외부 소스에서 미디어를 스트리밍하는 경우, 수신 시 컬러 변환을 적용할 수 있습니다.
- OCIO를 사용하지 않는 경우, 소스 인코딩 오버라이드 및 소스 컬러 스페이스 오버라이드 프로퍼티를 사용할 수 있습니다.
- 위의 세팅을 오버라이드하는 OCIO 컬러 변환을 적용할 수 있습니다.
Rivermax 미디어 출력
Rivermax 미디어 출력 세팅입니다.
| 세팅 | 설명 |
|---|---|
| 출력(Output) | |
| 정렬 모드(Alignment Mode) | 출력 프레임 예약 타이밍을 제어합니다. 다음과 같은 옵션이 있습니다.
|
| 연속 출력 수행(Do Continuous Output) | 정렬 모드(Alignment Mode) 에서 정렬 포인트(Alignment Point) 메서드를 사용 중인 경우에만 지원됩니다. 이 옵션을 사용하면 전송 가능한 프레임이 없더라도 각 정렬 포인트에서 프레임을 계속 출력할 수 있습니다. 이런 경우에는 이전 프레임이 반복됩니다. 이 옵션이 비활성화되어 있고 지정된 정렬 포인트에서 전송 가능한 프레임이 없는 경우에는 해당 포인트를 건너뛰고 스케쥴러가 다음 정렬 포인트에서 다시 시도합니다. |
| 프레임 잠금 모드(Frame Locking Mode) | 정렬 모드(Alignment Mode) 에서 정렬 포인트(Alignment Point) 메서드를 사용 중인 경우에만 지원됩니다. 다음과 같은 옵션으로 프레임 캡처 시 수행되는 작업을 제거할 수 있습니다.
|
| 프레젠테이션 큐 크기(Presentation Queue Size) | 전송할 프레임의 큐 크기입니다. 숫자가 클수록 전송되는 프레임과 렌더링되는 프레임 간 지연시간이 길어집니다. 기본값은 더블 버퍼링이지만 더 큰 멈춤 현상을 허용하도록 이 값을 늘릴 수 있습니다. |
| 프레임 카운터 타임스탬핑 수행(Do Frame Counter Timestamping) | 정렬 모드(Alignment Mode) 에서 프레임 생성(Frame Creation) 메서드를 사용 중일 때만 적용됩니다. 프레임이 생성될 때 생성된 엔진의 프레임 번호를 변환하여 이 샘플의 타임스탬프로 사용합니다. 주로 nDisplay를 위한 UE-UE 구성에서 RivermaxMediaSource의 프레임 잠금 플레이어 모드와 함께 사용합니다. |
| 고급(Advanced) | |
| 텍스처 버퍼 수(Number of Texture Buffers) | 미디어 캡처에서 사전 할당된 텍스처를 제어하는 베이스 미디어 캡처 세팅입니다. |
| 세팅 | |
| 해상도(Resolution) | 활성화하면 원하는 출력 해상도와 비교하여 캡처된 텍스처 크기의 유효성 검사가 수행됩니다. 해상도가 일치하지 않으면 오류가 발생합니다. 비활성화하면 들어오는 캡처된 텍스처에 따라 출력 스트림 해상도가 자동으로 환경설정됩니다. |
| 프레임 레이트(Frame Rate) | 비디오 스트림의 프레임 레이트입니다. |
| 픽셀 포맷(Pixel Format) | 비디오 스트림의 픽셀 포맷입니다. 2110-20 표준에서 지원되는 포맷의 서브셋은 언리얼 엔진에서 지원됩니다.
|
| 인터페이스 주소(Interface Address) | 사용하려는 네트워크 인터페이스의 IP 주소입니다. 즉, 비디오 스트림이 들어오게 될 IP 주소입니다. 와일드카드(* 및 ?)가 지원되므로 시스템에서 인터페이스 IP가 다른 다양한 머신의 환경설정을 재사용할 수 있습니다. |
| 스트림 주소(Stream Address) | 스트림이 전송되는 IP 주소입니다. 대개 스트림이 브로드캐스팅될 멀티캐스트 주소입니다. 멀티캐스트 그룹을 실제로 구별하기 위해서는 포트뿐만 아니라 이 주소도 다르게 지정해야 합니다. |
| 포트(Port) | 스트림을 전송하는 포트 번호입니다. |
| 비디오(Video) | |
| GPUDirect 사용(Use GPUDirect) | 지원되는 경우 활성화하면, 샘플 메모리가 시스템 메모리를 우회하여 GPU 메모리에서 네트워크 카드 메모리로 직접 이동합니다. |
Rivermax 커스텀 타임 스텝
미디어 프로파일 또는 프로젝트 세팅에서 엔진의 커스텀 타임 스텝을 환경설정할 수 있으며, 이제 Rivermax를 사용할 수 있습니다.
Rivermax 커스텀 타임 스텝 세팅입니다.
커스텀 타임 스텝은 정렬 포인트 메서드를 사용할 때 Rivermax 출력과 동일한 정렬 메서드를 사용합니다. 즉, 특정 프레임 레이트에 맞게 엔진을 젠록하고 ST2059 정렬 포인트 공식에 따라 정렬할 수 있습니다.
커스텀 타임 스텝은 Rivermax의 프로젝트 세팅에서 환경설정된 시간 소스(Time Source) 세팅을 사용하고 다른 디바이스에서 사용할 수 있는 표준 젠록 신호로 정렬되므로 PTP 클럭이 필요합니다.