VisioForge .NET SDK๋ก Unity์ ๋น๋์ค ์ถ๊ฐํ๊ธฐ
ํ์ผ๊ณผ ๋คํธ์ํฌ ์คํธ๋ฆผ์ ์ฌ์ํ๊ณ , ์น์บ ๊ณผ IP ์นด๋ฉ๋ผ๋ฅผ ์บก์ฒํ๊ณ , ํ์๋ผ์ธ์ ํธ์งํ๊ณ , Unity ํ ์ค์ฒ๋ก ๋ฐ๋ก ๋ ๋๋งํ์ธ์ โ WPF, MAUI, Avalonia์์ ์ด๋ฏธ ์ฌ์ฉํ๋ VisioForge .NET SDK ๊ทธ๋๋ก์ ๋๋ค. ํ๋์ ๋์ .unitypackage๊ฐ Windows, Android, macOS, iOS๋ฅผ ๋์์ผ๋ก ํฉ๋๋ค.
VisioForge SDK๊ฐ ๊ตฌ๋ํ๋ Unity์ฉ ๋ค์ดํฐ๋ธ ๋น๋์ค
VisioForge๋ WPF, MAUI, Avalonia ์ฑ์์ ๊ฒ์ฆ๋ ๋์ผํ .NET ๋ฏธ๋์ด ์์ง์ Unity๋ก ๊ฐ์ ธ์ต๋๋ค. ํ๋ ์์ Unity ์ ์ฉ OnVideoFrameUnity ์ด๋ฒคํธ๋ฅผ ํตํด ์ฌ์ ์ ๋ฌ๋๋ฉฐ, ํจ๊ป ์ ๊ณต๋๋ VisioForgeVideoView ํฌํผ๊ฐ ์ด๋ฅผ Texture2D๋ก ์ ๋ก๋ํฉ๋๋ค โ RawImage์ ๋น๋์ค๋ฅผ ํ์ํ๊ฑฐ๋ ์ด๋ค 3D ํ๋ฉด์๋ ๋งคํํ์ธ์. GStreamer ๋ค์ดํฐ๋ธ ๋ฐํ์์ด ํ๋ซํผ๋ณ๋ก ํฌํจ๋์ด ์์ด ๋ณ๋์ ์์คํ ์ค์น๋ฅผ ๊ด๋ฆฌํ ํ์๊ฐ ์์ต๋๋ค.
Unity ์ง์์ CoreX ์์ง โ MediaBlocksPipeline, MediaPlayerCoreX, VideoCaptureCoreX, VideoEditCoreX โ ์ ํตํด ์ ๊ณต๋ฉ๋๋ค.
Unity ์๋๋ฆฌ์ค์ ๋ง๋ ์ ํ์ ์ ํํ์ธ์
๋ชจ๋ ์ ํ์ ๋์ผํ ๋์ .unitypackage๋ก ์ ๊ณต๋ฉ๋๋ค. ๊ตฌ์ถํ๋ ค๋ ๊ฒ์ ๋ง๋ ์์ง์ ๊ณ ๋ฅด์ธ์.
Media Player SDK .NET
MediaPlayerCoreX๋ฅผ ์ฌ์ฉํ ๊ณ ์์ค ์ฌ์ โ ๋ก์ปฌ ํ์ผ, URL, HLS, RTSP ์คํธ๋ฆผ์ ์ด๊ณ ํ์, ์ผ์์ ์ง, ๋ณผ๋ฅจ, ์ฌ์ ์๋๋ฅผ ์ ์ดํ์ธ์. ๊ฒ์ ๋ด ๋น๋์ค, ์ปท์ , ๋์งํธ ์ฌ์ด๋์ง์ ์ด์์ ์ ๋๋ค.
Media Player + Unity โVideo Capture SDK .NET
VideoCaptureCoreX๋ฅผ ์ฌ์ฉํ ์ค์๊ฐ ์น์บ ๋ฐ ๋ง์ดํฌ ์บก์ฒ, IP / RTSP / ONVIF ์นด๋ฉ๋ผ, MP4 ๋ นํ. AR ์นด๋ฉ๋ผ ์ฑ, IP ์นด๋ฉ๋ผ ๋์๋ณด๋, ๊ฐ์ ํ๋ฉด์ ๊ตฌ์ถํ์ธ์.
Video Capture + Unity โVideo Edit SDK .NET
VideoEditCoreX๋ฅผ ์ฌ์ฉํ ํ์๋ผ์ธ ํธ์ง โ ํด๋ฆฝ์ ๊ฒฐํฉํ๊ณ , ํจ๊ณผ์ ์ ํ์ ์ ์ฉํ๊ณ , ์ค์๊ฐ์ผ๋ก ๋ฏธ๋ฆฌ ๋ณด๊ณ , MP4๋ก ๋ ๋๋งํ์ธ์. ์ฑ ๋ด ๋น๋์ค ํธ์ง๊ธฐ์ ํ ํ๋ฆฟ ๊ธฐ๋ฐ ๋น๋์ค ์์ฑ์ ๊ตฌ๋ํฉ๋๋ค.
Video Edit + Unity โMedia Blocks SDK .NET
์์ ํ ํ์ดํ๋ผ์ธ ํ๋ ์์ํฌ โ ์บก์ฒ, ๋์ฝ๋ฉ ๋ฐ ์ธ์ฝ๋ฉ, ํจ๊ณผ, ๋ฏน์ฑ, ๋ นํ, ์คํธ๋ฆฌ๋ฐ. ๊ณ ์์ค ์์ง์ผ๋ก ๋ถ์กฑํ ๋ ์ฌ์ฉ์ ์ง์ ๋ฏธ๋์ด ํ์ดํ๋ผ์ธ์ ์กฐ๋ฆฝํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ Unity๋ก ๋ ๋๋งํ์ธ์.
Media Blocks + Unity โUnity ๋น๋์ค์ VisioForge๋ฅผ ์ ํํ๋ ์ด์
ํ๋์ ๋์ ํจํค์ง
Windows, Android, macOS, iOS ๋ค์ดํฐ๋ธ ๋ฐํ์์ด ๋จ์ผ .unitypackage ์์ ํจ๊ป ์ ๊ณต๋ฉ๋๋ค. ํ ๋ฒ ๊ฐ์ ธ์จ ๋ค ๋น๋ ๋์์ ์ ํํ๊ณ ๋น๋ํ์ธ์ โ ํ๋ซํผ๋ณ ๋ค์ด๋ก๋๊ฐ ํ์ ์์ต๋๋ค.
Texture2D๋ก ๋ ๋๋ง
ํ๋ ์์ ํ ๋น ์๋ ๋๋ธ ๋ฒํผ๋ง ๊ฒฝ๋ก๋ฅผ ํตํด Unity Texture2D๋ก ์ ๋ก๋๋ฉ๋๋ค. RawImage์ ๋น๋์ค๋ฅผ ํ์ํ๊ฑฐ๋ ์ฌ์ ์ด๋ค 3D ๊ฐ์ฒด์๋ ๋งคํํ์ธ์.
ํ๋์จ์ด ๊ฐ์
๋์ฝ๋ฉ๊ณผ ์ธ์ฝ๋ฉ์ ํ๋ซํผ ํ๋์จ์ด ์ฝ๋ฑ์ ์ฌ์ฉํฉ๋๋ค โ Windows์ NVENC์ Quick Sync, Android์ MediaCodec, macOS์ iOS์ VideoToolbox โ ๋ถ๋๋ฌ์ด ์ค์๊ฐ ๋น๋์ค๋ฅผ ์ํด์์ ๋๋ค.
์ ์ฒด SDK API
Unity ์คํฌ๋ฆฝํธ๋ WPF, MAUI, Avalonia์์ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋์ผํ .NET ๋ฏธ๋์ด API๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค โ ์ฌ์ ์ ์ฉ ๋ํผ๊ฐ ์๋๋๋ค. ๋ฐ๋ก ์ธ ์ ์๋ ์ํ ์ฌ์ผ๋ก ๋ช ๋ถ ๋ง์ ์คํํ ์ ์์ต๋๋ค.
๊ฐ๋ฐ์๊ฐ Unity์์ ๊ตฌ์ถํ๋ ๊ฒ
๋์ผํ ์์ง์ด ๋งค์ฐ ๋ค์ํ Unity ํ๋ก์ ํธ๋ฅผ ๊ตฌ๋ํฉ๋๋ค.
VR ๋ฐ 360ยฐ ๋น๋์ค
๊ณ ํด์๋ ๋ฐ 360ยฐ ์์์ ์ค์นด์ด๋ฐ์ค, ๊ณก๋ฉด ์คํฌ๋ฆฐ, ํค๋์ ๋์คํ๋ ์ด์ ์คํธ๋ฆฌ๋ฐํ์ฌ ๋ชฐ์ ํ ์ฌ์์ ์ ๊ณตํ์ธ์.
๊ฒ์ ๋ด ๋น๋์ค ๋ฐ ์ปท์
๋ก์ปฌ ํ์ผ์ด๋ ๋คํธ์ํฌ ์คํธ๋ฆผ์์ ์ธํธ๋ก, ์๋ค๋งํฑ, ์๋ ๋ด ํ๋ฉด์ ์ฌ์ํ๊ณ ํ์, ์ผ์์ ์ง, ๋ณผ๋ฅจ์ ์ ์ดํ์ธ์.
๊ฐ์ ๋ฐ IP ์นด๋ฉ๋ผ
RTSP ๋ฐ ONVIF ์นด๋ฉ๋ผ ํผ๋๋ฅผ Unity ๋์๋ณด๋๋ ๋์งํธ ํธ์์ผ๋ก ๊ฐ์ ธ์ค์ธ์ โ ํ๋์ ์ฌ์ ์ฌ๋ฌ ์ค์๊ฐ ์คํธ๋ฆผ์ ํ์ํฉ๋๋ค.
๋์งํธ ์ฌ์ด๋์ง ๋ฐ ํค์ค์คํฌ
Windows ๋๋ Android์ Unity ์ฑ์์ ๋น๋์ค ์, ์ธํฐ๋ํฐ๋ธ ํค์ค์คํฌ, ์ ๋ณด ๋์คํ๋ ์ด๋ฅผ ๊ตฌ๋ํ์ธ์.
๊ฒ์์์ ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ
๊ฒ์ํ๋ ์ด๋ฅผ ๋ นํํ๊ณ C#์์ ๋ฐ๋ก RTMP, HLS ๋๋ RTSP ์๋ฒ๋ก ์ค์๊ฐ ๋ฐฉ์กํ์ธ์.
๊ต์ก ๋ฐ ์๋ฎฌ๋ ์ด์
AR/VR ๊ต์ก ๋ฐ ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ์ ์ค๋ช ๋น๋์ค์ ์ค์๊ฐ ์นด๋ฉ๋ผ ํผ๋๋ฅผ ์ค๋ฒ๋ ์ดํ์ธ์.
ํ๋ซํผ ๋ฐ ์๊ตฌ ์ฌํญ
Unity 6 (6000.x)์์ ๊ฒ์ฆ๋จ.
- โUnity 6 (6000.x)
- โ.NET Standard 2.1 API ํธํ์ฑ ์์ค
- โEnter Play Mode: Disable Domain Reload
- โAndroid ๋ฐ iOS์์ IL2CPP ์คํฌ๋ฆฝํ ๋ฐฑ์๋
๋ก์ปฌ ์น์บ ์บก์ฒ๋ Windows์ macOS๋ฅผ ๋์์ผ๋ก ํฉ๋๋ค. RTSP / IP ์นด๋ฉ๋ผ์ ํ์ผ ์ฌ์ / ํธ์ง์ ๋ค ํ๋ซํผ ๋ชจ๋์์ ์๋ํฉ๋๋ค.
์์ค, ํ์ ๋ฐ ํ๋กํ ์ฝ
์์ง๊ณผ ๋์ ํ๋ซํผ์ ๋ฐ๋ผ ๊ฐ์ฉ์ฑ์ด ๋ฌ๋ผ์ง๋๋ค โ ์ ์ฒด ๋งคํธ๋ฆญ์ค๋ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
| ๋ฒ์ฃผ | ์ง์ |
|---|---|
| ๋น๋์ค ์ฝ๋ฑ | H.264 / AVC, HEVC / H.265, AV1, VP9, VP8, MJPEG, MPEG-2 |
| ์ปจํ ์ด๋ | MP4, MKV, WebM, MOV, AVI, MPEG-TS |
| ์ค๋์ค ์ฝ๋ฑ | AAC, MP3, Opus, Vorbis, FLAC, PCM / WAV |
| ๋คํธ์ํฌ ์ ๋ ฅ | RTSP, RTMP, HLS, HTTP / HTTPS, SRT, UDP / MPEG-TS |
| ์นด๋ฉ๋ผ ๋ฐ ์ฅ์น | USB ์น์บ , RTSP๋ฅผ ํตํ ONVIF / IP ์นด๋ฉ๋ผ, ๋ง์ดํฌ |
| ๋ นํ ์ถ๋ ฅ | MP4, MKV, WebM, MPEG-TS โ ํ๋์จ์ด ์ธ์ฝ๋ฉ |
| ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ ์ถ๋ ฅ | RTMP, HLS, SRT, ๋ด์ฅ RTSP ์๋ฒ |
| ํ๋์จ์ด ์ฝ๋ฑ | NVIDIA NVENC ๋ฐ Intel Quick Sync (Windows), MediaCodec (Android), VideoToolbox (macOS / iOS) |
Unity ๋น๋์ค โ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ
Unity์ ๊ธฐ๋ณธ VideoPlayer์ ๋ฌด์์ด ๋ค๋ฅธ๊ฐ์?
Unity์ VideoPlayer๋ ๋ก์ปฌ ๋ฐ HTTP ๋น๋์ค ํ์ผ๋ง ์ฌ์ํฉ๋๋ค. VisioForge๋ ๊ทธ๊ฒ์ด ํ ์ ์๋ ๊ฒ์ ์ถ๊ฐํฉ๋๋ค โ RTSP ๋ฐ ONVIF IP ์นด๋ฉ๋ผ, ์ค์๊ฐ ์น์บ ์บก์ฒ, ๋ นํ, RTMP/HLS/SRT ์คํธ๋ฆฌ๋ฐ โ ๊ทธ๋ฆฌ๊ณ ๋ ๋์ ์ฝ๋ฑ ๋ฒ์์ ํ๋์จ์ด ๊ฐ์ ๋์ฝ๋ฉ๊น์ง, ๋ชจ๋ ๋ฐ์คํฌํฑ์์ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋์ผํ C# API๋ก ์ ๊ณต๋ฉ๋๋ค.
Unity์์ RTSP ๋ฐ IP ์นด๋ฉ๋ผ ์คํธ๋ฆผ์ ์ฌ์ํ ์ ์๋์?
๋ค. MediaPlayerCoreX์ VideoCaptureCoreX๋ RTSP, ONVIF, HLS ์์ค๋ฅผ ์ด๊ณ ๋์ฝ๋ฉ๋ ํ๋ ์์ ์ฌ์ผ๋ก ์ ๋ฌํฉ๋๋ค. RTSP, IP ์นด๋ฉ๋ผ, ํ์ผ ์ฌ์์ ๋ค ํ๋ซํผ ๋ชจ๋(Windows, Android, macOS, iOS)์์ ์๋ํฉ๋๋ค.
Unity ์์์ ์น์บ ์ ์บก์ฒํ ์ ์๋์?
๋ค, VideoCaptureCoreX๋ก ๊ฐ๋ฅํฉ๋๋ค โ USB ์น์บ ๊ณผ ๋ง์ดํฌ๋ฅผ ์ด๊ฑฐํฉ๋๋ค. ๋ก์ปฌ ์น์บ ์บก์ฒ๋ Windows์ macOS๋ฅผ ๋์์ผ๋ก ํ๋ฉฐ, RTSP/ONVIF๋ฅผ ํตํ ๋คํธ์ํฌ ์นด๋ฉ๋ผ๋ ์ง์๋๋ ๋ชจ๋ ํ๋ซํผ์์ ์๋ํฉ๋๋ค.
Unity ๊ฒ์์์ ๋ นํํ๊ฑฐ๋ ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐํ ์ ์๋์?
๋ค. Media Blocks SDK .NET ๋๋ VideoCaptureCoreX๋ฅผ ์ฌ์ฉํด ์์ค๋ฅผ ์บก์ฒํ๊ฑฐ๋ ๊ตฌ์ฑํ์ฌ MP4/MKV๋ก ๋ นํํ๊ฑฐ๋, RTMP, HLS, SRT ๋๋ ๋ด์ฅ RTSP ์๋ฒ๋ก ์ค์๊ฐ ๋ฐฉ์กํ์ธ์.
Opus ์ค๋์ค ์ฝ๋ฑ์ ์ง์ํ๋์?
๋ค. Opus๋ AAC, MP3, Vorbis, FLAC, PCM/WAV์ ํจ๊ป ์ง์ ๋์ฝ๋ฉ ๋ฐ ์ธ์ฝ๋ฉ๋ฉ๋๋ค โ Unity ์์ฒด์ ์ค๋์ค ์ ์ฝ๊ณผ ๋ฌด๊ดํฉ๋๋ค.
GStreamer๋ ๋ค๋ฅธ ์์คํ ์ข ์์ฑ์ ์ค์นํด์ผ ํ๋์?
์๋์. ๋ค์ดํฐ๋ธ ๋ฐํ์์ด .unitypackage ์์ ํ๋ซํผ๋ณ๋ก ํฌํจ๋์ด ์์ด, ๊ทํ๋ ์ฌ์ฉ์๊ฐ ๋ณ๋๋ก ์ค์นํ ๊ฒ์ด ์์ต๋๋ค.
์ด๋ค Unity ๋ฒ์ , ์คํฌ๋ฆฝํ ๋ฐฑ์๋, API ์์ค์ด ํ์ํ๊ฐ์?
Unity 6 (6000.x), .NET Standard 2.1 API ํธํ์ฑ ์์ค, ๊ทธ๋ฆฌ๊ณ โEnter Play Mode: Disable Domain Reloadโ๊ฐ ํ์ํฉ๋๋ค. Android ๋ฐ iOS ๋น๋๋ IL2CPP ์คํฌ๋ฆฝํ ๋ฐฑ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด๊ฒ์ ๋ณ๋์ ์ ํ์ธ๊ฐ์, ์๋๋ฉด ๋์ผํ VisioForge .NET SDK์ธ๊ฐ์?
WPF, MAUI, Avalonia์์ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋์ผํ ๊ฒ์ฆ๋ .NET SDK๊ฐ Unity์์ ์คํ๋๋ ๊ฒ์ ๋๋ค. ๋ฐฐ์ฐ๊ฑฐ๋ ๋ผ์ด์ ์ค๋ฅผ ๋ฐ์์ผ ํ ๋ณ๋์ โUnity SDKโ๋ ์์ต๋๋ค. ์๋๋ฆฌ์ค์ ๋ง๋ SDK(Media Player, Video Capture, Video Edit ๋๋ Media Blocks)๋ฅผ ์ ํํ์ธ์.
Unity์ ๋น๋์ค ๊ตฌ์ถ์ ์์ํ์ธ์
๋จ๊ณ๋ณ Unity ๊ฐ์ด๋๋ฅผ ๋ฐ๋ผ๊ฐ์ธ์ โ ์ค์น, ํ๋ซํผ๋ณ ๋น๋, ๋ฐ๋ก ์คํ ๊ฐ๋ฅํ ์ํ ์ฌ.
