TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 40 READS

유니티 영상 재생의 만능 해결사, VLC for Unity가 리눅스까지 지원해요

유니티 영상 재생의 만능 해결사, VLC for Unity가 리눅스까지 지원해요
SOURCE IMAGE · HACKER NEWS
유니티 영상 재생의 만능 해결사, VLC for Unity가 리눅스까지 지원해요

유니티에서 동영상 틀기, 생각보다 어려운 일이거든요

유니티(Unity)로 게임이나 앱을 만들다 보면 의외의 복병을 만나는 순간이 있는데요, 바로 '동영상 재생'이에요. 유니티에 기본으로 들어있는 VideoPlayer 컴포넌트가 있긴 하지만, 막상 써보면 지원하는 코덱이 플랫폼마다 제각각이고, 네트워크 스트리밍은 사실상 제대로 다루기 어렵거든요. H.264로 인코딩된 mp4 파일 하나 트는 건 괜찮은데, RTSP 카메라 영상을 받아온다거나 HLS 라이브 스트림을 붙인다거나 하는 순간 벽에 부딪히게 돼요. 그래서 많은 개발자들이 비싼 유료 플러그인을 찾아 헤매곤 했어요.

그런데 이 문제를 정면으로 해결해주는 프로젝트가 있어요. VLC 미디어 플레이어를 만든 VideoLAN 팀이 직접 개발하는 'VLC for Unity'인데요, 이번에 드디어 리눅스 지원이 추가됐어요. 윈도우, 안드로이드, iOS, macOS에 이어 리눅스까지 커버하게 되면서 사실상 주요 플랫폼을 전부 지원하는 크로스플랫폼 영상 솔루션이 완성된 셈이에요.

VLC for Unity가 뭐냐면요

이게 뭐냐면, 우리가 잘 아는 그 VLC 플레이어의 심장인 libVLC 라이브러리를 유니티 안에서 쓸 수 있게 해주는 플러그인이에요. VLC 하면 '뭐든지 재생되는' 만능 플레이어로 유명하잖아요? 그 능력이 그대로 유니티 안으로 들어온다고 생각하면 돼요. mp4, mkv, webm 같은 파일 포맷은 물론이고 H.264, H.265, VP9, AV1 같은 코덱, 그리고 RTSP, HLS, UDP 멀티캐스트 같은 네트워크 스트리밍 프로토콜까지 폭넓게 지원하거든요.

동작 방식도 깔끔해요. libVLC가 영상을 디코딩하면 그 결과를 유니티의 텍스처(Texture)로 넘겨주는 구조인데요, 텍스처라는 건 3D 오브젝트 표면에 입히는 이미지라고 생각하면 돼요. 그러니까 영상을 게임 속 TV 화면에 붙일 수도 있고, 커다란 구체 안쪽에 입혀서 360도 VR 영상 플레이어를 만들 수도 있는 거죠. 하드웨어 가속 디코딩도 지원해서 4K 영상도 CPU에 큰 부담 없이 돌릴 수 있어요. C# 쪽에서는 LibVLCSharp이라는 바인딩을 통해 재생, 일시정지, 탐색 같은 제어를 코드 몇 줄로 처리할 수 있고요.

리눅스 지원이 왜 중요하냐면요

'리눅스에서 유니티 앱 쓰는 사람이 얼마나 된다고?' 싶을 수도 있는데요, 생각보다 판이 커요. 일단 스팀덱(Steam Deck)이 있어요. 밸브의 휴대용 게임기인 스팀덱은 리눅스 기반 SteamOS로 돌아가거든요. 게임 안에서 컷신이나 인트로 영상을 트는 게임이라면 이제 스팀덱 네이티브 지원이 한결 수월해지는 거예요.

그리고 게임 바깥으로 눈을 돌리면 더 큰 시장이 있어요. 전시장 키오스크, 디지털 사이니지(매장이나 공공장소에 설치하는 디스플레이 광고판), 산업용 모니터링 화면 같은 곳들은 라이선스 비용과 안정성 때문에 리눅스를 쓰는 경우가 정말 많거든요. 유니티로 인터랙티브 콘텐츠를 만들고 그 안에 실시간 CCTV 영상이나 홍보 영상을 섞어야 하는 프로젝트라면, 이번 리눅스 지원이 바로 실무에 와닿는 소식이에요.

기존 대안들과 비교하면요

유니티 개발자들 사이에서 영상 재생의 사실상 표준처럼 쓰이던 건 AVPro Video라는 상용 에셋이었어요. 성능도 좋고 기능도 많지만 가격이 만만치 않고, 플랫폼별로 따로 구매해야 하는 구조라 부담이 컸거든요. VLC for Unity는 소스 코드가 공개되어 있다는 점이 달라요. 직접 빌드해서 쓸 수도 있고, 유니티 에셋스토어에서 빌드된 버전을 구매하면 VideoLAN의 오픈소스 개발을 후원하는 셈이 되는 구조예요.

다만 한 가지 챙겨야 할 게 있는데요, 라이선스예요. 이 플러그인은 오픈소스 라이선스(GPL/LGPL 계열)를 따르기 때문에, 상용 게임이나 회사 프로젝트에 넣을 때는 라이선스 조건을 꼭 확인해봐야 해요. 에셋스토어 구매 버전은 상용 프로젝트에서 쓸 수 있는 조건으로 제공되니, 실무에서는 이 경로가 마음 편할 거예요.

정리하면요

VLC의 재생 능력을 유니티의 모든 주요 플랫폼에서 쓸 수 있게 됐고, 특히 키오스크·사이니지·스팀덱처럼 리눅스가 강한 영역에서 선택지가 확 넓어졌다는 게 핵심이에요. 여러분은 유니티에서 영상 재생 문제를 어떻게 해결하고 계셨나요? AVPro 같은 상용 에셋을 쓰셨는지, 아니면 직접 네이티브 플러그인을 붙이셨는지 경험을 나눠주세요.


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://code.videolan.org/videolan/vlc-unity
SHARE
처리 중...