1.22๋ ์ ๊ฐ๋ฐ ๋์ ๋ฏธ๋์ด ํ๋ ์ด์ด์ ์ค๋์ค/๋น๋์ค ํ์ผ ๋ณํ๊ธฐ๋ถํฐ VoIP ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์คํธ๋ฆฌ๋ฐ ์์คํ ์ ์ด๋ฅด๊ธฐ๊น์ง ๊ด๋ฒ์ํ ๋ฉํฐ๋ฏธ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์ํ ํฌ๋ก์ค ํ๋ซํผ ๊ตฌ์ฑ ์์ ์ธํธ์ธ GStreamer 2.1๊ฐ ์ถ์๋์์ต๋๋ค. GStreamer ์ฝ๋๋ LGPLv1.0์ ๋ฐ๋ผ ๋ผ์ด์ผ์ค๊ฐ ๋ถ์ฌ๋ฉ๋๋ค. ์ด์ ๋ณ๋๋ก gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly ํ๋ฌ๊ทธ์ธ์ ๋ํ ์ ๋ฐ์ดํธ๋ ๋ฌผ๋ก gst-libav ๋ฐ์ธ๋ฉ ๋ฐ gst-rtsp-server ์คํธ๋ฆฌ๋ฐ ์๋ฒ๋ ๊ฐ๋ฐ ์ค์ ๋๋ค. . API ๋ฐ ABI ์์ค์์ ์ ๋ฆด๋ฆฌ์ค๋ XNUMX ๋ถ๊ธฐ์ ์ด์ ๋ฒ์ ๊ณผ ํธํ๋ฉ๋๋ค. ๋ฐ์ด๋๋ฆฌ ์ด์ ๋ธ๋ฆฌ๋ ๊ณง Android, iOS, macOS ๋ฐ Windows์ฉ์ผ๋ก ์ค๋น๋ ์์ ์ ๋๋ค(Linux์์๋ ๋ฐฐํฌํ์ ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค).
GStreamer 1.22์ ์ฃผ์ ๊ฐ์ ์ฌํญ:
- AV1 ๋น๋์ค ์ธ์ฝ๋ฉ ํ์์ ๋ํ ์ง์์ด ํฅ์๋์์ต๋๋ค. VAAPI/VA, AMF, D1D3, NVCODEC, QSV ๋ฐ Intel MediaSDK API๋ฅผ ํตํด AV11 ์ธ์ฝ๋ฉ ๋ฐ ๋์ฝ๋ฉ์ ํ๋์จ์ด ๊ฐ์์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. AV1์ ๋ํ ์๋ก์ด RTP ํธ๋ค๋ฌ๋ฅผ ์ถ๊ฐํ์ต๋๋ค. MP1, Matroska ๋ฐ WebM ์ปจํ ์ด๋์์ AV4 ๊ตฌ๋ฌธ ๋ถ์์ด ํฅ์๋์์ต๋๋ค. ์ด์ ๋ธ๋ฆฌ์๋ dav1d ๋ฐ rav1e ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ AV1 ์ธ์ฝ๋ ๋ฐ ๋์ฝ๋๊ฐ ์๋ ์์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
- Qt6์ ๋ํ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค. Qt6์ ์ฌ์ฉํ์ฌ QML ์ฅ๋ฉด ๋ด์์ ๋น๋์ค๋ฅผ ๋ ๋๋งํ๋ qml6glsink ์์๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- GTK4 ๋ฐ Wayland๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๋๋งํ๊ธฐ ์ํด gtk4paintablesink ๋ฐ gtkwaylandsink ์์๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- HLS, DASH ๋ฐ MSS(Microsoft Smooth Streaming) ํ๋กํ ์ฝ์ ์ง์ํ๋ ์ ์ํ ์คํธ๋ฆฌ๋ฐ์ ์ํ ์๋ก์ด ํด๋ผ์ด์ธํธ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ํฌ๊ธฐ ๊ฐ์์ ์ต์ ํ๋ ๋จ์ํ ์ด์ ๋ธ๋ฆฌ๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- WebRTC ๋์ ๋ฐฉ์ก ๋ฐ Google ํผ์ก ์ ์ด์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- WebRTC๋ฅผ ํตํด ์ ์กํ๊ธฐ ์ํ ๊ฐ๋จํ๊ณ ๋ ๋ฆฝ์ ์ธ ํ๋ฌ๊ทธ์ธ์ด ์ ๊ณต๋ฉ๋๋ค.
- ์กฐ๊ฐํ๋ ๋ฐ์ดํฐ์ ์กฐ๊ฐํ๋์ง ์์ ๋ฐ์ดํฐ๋ฅผ ์ง์ํ๋ ์๋ก์ด MP4 ๋ฏธ๋์ด ์ปจํ ์ด๋ ํจ์ปค๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- Amazon AWS ์คํ ๋ฆฌ์ง ๋ฐ ์ค๋์ค ์ ์ฌ ์๋น์ค๋ฅผ ์ํ ์๋ก์ด ํ๋ฌ๊ทธ์ธ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Rust ์ธ์ด์ ๋ํ ๋ฐ์ธ๋ฉ์ด ์ ๋ฐ์ดํธ๋์์ต๋๋ค. Rust๋ก ์์ฑ๋ 19๊ฐ์ ์๋ก์ด ํ๋ฌ๊ทธ์ธ, ํจ๊ณผ ๋ฐ ์์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค(gst-plugins-rs). ์๋ก์ด GStreamer์ ๋ณ๊ฒฝ ์ฌํญ ์ค 33%๊ฐ Rust์์ ๊ตฌํ๋์์ผ๋ฉฐ(๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ธ๋ฉ ๋ฐ ํ๋ฌ๊ทธ์ธ ๊ด๋ จ) gst-plugins-rs ํ๋ฌ๊ทธ์ธ ์ธํธ๋ ๊ฐ์ฅ ํ๋ฐํ๊ฒ ๊ฐ๋ฐ๋ GStreamer ๋ชจ๋ ์ค ํ๋์ ๋๋ค. Rust๋ก ์์ฑ๋ ํ๋ฌ๊ทธ์ธ์ ๋ชจ๋ ์ธ์ด์ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์ด๋ฅผ ์ฌ์ฉํ๋ ์์ ์ C ๋ฐ C++์์ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ์ ์ฌํฉ๋๋ค.
- Rust ํ๋ฌ๊ทธ์ธ์ Windows ๋ฐ macOS ํ๋ซํผ์ฉ ๊ณต์ ๋ฐ์ด๋๋ฆฌ ํจํค์ง์ ์ผ๋ถ๋ก ์ ๊ณต๋ฉ๋๋ค(Linux, Windows ๋ฐ macOS์์๋ ์ด์ ๋ธ๋ฆฌ ๋ฐ ์ ๋ฌ์ด ์ง์๋ฉ๋๋ค).
- Rust๋ก ์์ฑ๋ WebRTC ๊ธฐ๋ฐ ๋ฏธ๋์ด ์๋ฒ๊ฐ ๊ตฌํ๋์ด WHIP(WebRTC HTTP ์์ง) ๋ฐ WHEP(WebRTC HTTP ์ก์ )๋ฅผ ์ง์ํฉ๋๋ค.
- ๋น๋์ค ๋ณํ ๋ฐ ์ค์ผ์ผ๋ง ๊ธฐ๋ฅ์ ๊ฒฐํฉํ videocolorscale ์์๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ์์ฌ๋๊ฐ ๋์ ๋น๋์ค์ ๋ํ ์ง์์ด ํฅ์๋์์ต๋๋ค.
- Navigation API์ ํฐ์น์คํฌ๋ฆฐ ์ด๋ฒคํธ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ฏธ๋์ด ์ปจํ ์ด๋๋ฅผ ํจํค์งํ๊ธฐ ์ ์ PTS/DTS ์ฌ๊ตฌ์ฑ์ ์ํ H.264/H.265 ํ์์คํฌํ ์์ ์์๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- Linux ํ๋ซํผ์์๋ ํ๋์จ์ด ๊ฐ์์ ์ฌ์ฉํ์ฌ ๋น๋์ค๋ฅผ ์ธ์ฝ๋ฉ, ๋์ฝ๋ฉ, ํํฐ๋ง ๋ฐ ๋ ๋๋งํ ๋ ๋ฒํผ์ ํจ๊ป ์๋ํ๋๋ก DMA ์ฌ์ฉ์ด ๊ฐ์ ๋์์ต๋๋ค.
- CUDA์์ ํตํฉ์ด ๊ฐ์ ๋์์ต๋๋ค. gst-cuda ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ cudaconvertscale ์์๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ D3D11 ๋ฐ NVIDIA dGPU NVMM ์์์์ ํตํฉ์ด ์ ๊ณต๋์์ต๋๋ค.
- Direct3D11๊ณผ์ ํตํฉ์ด ๊ฐ์ ๋์์ต๋๋ค. ์๋ก์ด gst-d3d11 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ d3d11screencapture, d3d11videosink, d3d11convert ๋ฐ d3d11compositor ํ๋ฌ๊ทธ์ธ์ ๊ธฐ๋ฅ์ด ํ์ฅ๋์์ต๋๋ค.
- AMD GPU์ ๊ฒฝ์ฐ AMF(Advanced Media Framework) SDK๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋ H.264/AVC, H.265/HEVC ๋ฐ AV1 ํ์์ ์๋ก์ด ํ๋์จ์ด ๊ฐ์ ๋น๋์ค ์ธ์ฝ๋๊ฐ ๊ตฌํ๋ฉ๋๋ค.
- applemedia ํ๋ฌ๊ทธ์ธ์ H.265/HEVC ๋น๋์ค ์ธ์ฝ๋ฉ ๋ฐ ๋์ฝ๋ฉ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- androidmedia ํ๋ฌ๊ทธ์ธ์ H.265/HEVC ๋น๋์ค ์ธ์ฝ๋ฉ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๊ฐ์ ๋ผ์ด๋ธ ์์ฑ์ด audiomixer, compositor, glvideomixer ๋ฐ d3d11compositor ํ๋ฌ๊ทธ์ธ์ ์ถ๊ฐ๋์ด ๋ผ์ด๋ธ ๋ชจ๋๋ฅผ ๊ฐ์ ๋ก ํ์ฑํํ์ต๋๋ค.
์ถ์ฒ : opennet.ru