본문 바로가기
언리얼 엔진/Optimization

언리얼에서 Bink Media 플러그인으로 4K 미디어 플레이 최적화

by z03y 2024. 11. 5.

 

🐿️ Bink media

 

Bink video는 많은 게임에서 사용되고 있는 크로스 플랫폼 퍼포먼스 지향 비디오 코덱이다.

최신 PC에서 GPU 지원을 통해 1밀리초 내에 4K 비디오 프레임을 디코딩할 수 있으며, 보통 런타임 메모리의 1/8 ~ 1/20을 사용한다.

Bink audio와 함께 통합되어진 Bink media는 언리얼 엔진 5에 내장되어 있다. 또한 크로스 플랫폼 지향 코덱답게 모든 언리얼 플랫폼이 지원된다.

 

언리얼 설치는 Edit > Plugins > Bink 검색하여 활성화한다. 필요에 따라 엔진을 재시작한다.

 

 

🐿️ Bink 사용 방법

Bink media player를 추가. (Miscellaneous > Bink Media Player)

 

Bink 파일(.bk2)로 변환한 영상 소스 경로를 설정한다. (언리얼 엔진 디렉터리 Contents/Movies에 위치해야 한다)

 

  Bink 파일의 미디어가 없는 경우 인코딩 방법

Epic Games\UE_(설치버전)\Engine\Binaries\ThirdParty\Bink에서 ‘Bink2ForUnreal’이라는 프로그램을 실행한다.


인코딩 지원 미디어 포맷 : 
Bk2, bik,lst, rlst, raw, avi, mov, qt, bmp, gif, tga, tif, png, jpg, jpeg, mp4, dv, mpg, mpeg, wmv, asf, mjpg, mjpeg, rla, exr, mkv, m4v, ts, m2ts, wav, mp3, wma, aac, m4a, flac

 

 

실행하면 아래와 같은 프로그램 창이 뜨고, 변환하려는 미디어를 선택 후 버튼을 순서대로 누른다.

 

완료되면 Cancel 칸이 Done으로 바뀌며 Done을 클릭하여 창을 닫는다.
변환된 파일은 반드시 언리얼 엔진 디렉터리의 Contents/Movies에 있도록 한다.

 

 

🐿️ 텍스처 생성

경로를 지정한 BinkMedia Player가 준비되었다면 우클릭하여 텍스처를 생성해준다.
그리고 머티리얼로 가공하여 사용한다.

 

 

🐿️ 4K 비디오 플레이 성능 테스트

기본 미디어 플레이어와 Bink 미디어 플레이어 퍼포먼스 비교이다.
기본 미디어 플레이어는 정상적인 재생조차 불가능하지만 Bink는 소스의 양을 3배로 늘려도 안정적인 퍼포먼스를 낸다.

 

(RTX3060 Laptop 기준)

 

* mp4(avc)영상 5개를 기본 미디어 플레이어로 재생 시 최대 15fps

bk2(Bink)변환 영상 15개를 빙크 미디어 플레이어로 재생 시 최대 52fps

 

 

🐿️ 추가 내용

  • Binkmedia를 안정적으로 쓰기 위하여 다른 무비 플레이어 플러그인을 모두 비활성화 해야 한다.
  • 필요에 따라 Bink전용 옵션을 변경할 수 있다. Project settings > BinkMovies
  • Bink media player 디테일에서도 Playback, Draw style 등 추가 옵션 조정을 할 수 있다.

 

 

 

 

 

 

 

 

🐿️ 참고 자료

언리얼 엔진의 BinkVideo – 언리얼 5.4 문서
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/bink-video-for-unreal-engine

Bink video, Binkaudio 소개 – 언리얼 4.27 뉴스

https://www.unrealengine.com/ko/blog/bink-video-and-bink-audio-now-available-in-unreal-engine-for-free

 

반응형