1.20๋ ๋ฐ์ ๊ฐ๋ฐ ๋์ ๋ฏธ๋์ด ํ๋ ์ด์ด ๋ฐ ์ค๋์ค/๋น๋์ค ํ์ผ ๋ณํ๊ธฐ๋ถํฐ VoIP ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์คํธ๋ฆฌ๋ฐ ์์คํ ์ ์ด๋ฅด๊ธฐ๊น์ง ๊ด๋ฒ์ํ ๋ฉํฐ๋ฏธ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์ํด C๋ก ์์ฑ๋ ํฌ๋ก์ค ํ๋ซํผ ๊ตฌ์ฑ ์์ ์ธํธ์ธ GStreamer 2.1์ด ์ถ์๋์์ต๋๋ค. GStreamer ์ฝ๋๋ LGPLv1.20์ ๋ฐ๋ผ ๋ผ์ด์ผ์ค๊ฐ ๋ถ์ฌ๋ฉ๋๋ค. ๋์์ gst-plugins-base 1.20, gst-plugins-good 1.20, gst-plugins-bad 1.20, gst-plugins-ugly 1.20 ํ๋ฌ๊ทธ์ธ๊ณผ gst-libav 20 ๋ฐ์ธ๋ฉ ๋ฐ gst-rtsp-server 1.0 ์คํธ๋ฆฌ๋ฐ ์๋ฒ API ๋ฐ ABI ์์ค์์ ์ ๋ฆด๋ฆฌ์ค๋ XNUMX ๋ถ๊ธฐ์ ์ด์ ๋ฒ์ ๊ณผ ํธํ๋ฉ๋๋ค. ๋ฐ์ด๋๋ฆฌ ์ด์ ๋ธ๋ฆฌ๋ ๊ณง Android, iOS, macOS ๋ฐ Windows์ฉ์ผ๋ก ์ค๋น๋ ์์ ์ ๋๋ค(Linux์์๋ ๋ฐฐํฌํ์ ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค).
GStreamer 1.20์ ์ฃผ์ ๊ฐ์ ์ฌํญ:
- GitLab ๊ฐ๋ฐ์ ๋ชจ๋ ๋ชจ๋์ ๊ณตํต๋ ๋จ์ผ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋๋ก ์ ํ๋์์ต๋๋ค.
- GstPlayer API๋ฅผ ๋์ฒดํ๊ณ ์ฝํ ์ธ ์ฌ์์ ์ํ ์ ์ฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์๋ก์ด ๊ณ ๊ธ GstPlay ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ๋จ, GObject ์ ํธ ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ฆฌ๊ธฐ ์ํด ๋ฉ์์ง ๋ฒ์ค๋ฅผ ์ฌ์ฉํ๋ค๋ ์ ์ด ๋ค๋ฆ ๋๋ค.
- WebM ํฌ๋ช ๋ ์ ๋ณด ๋์ฝ๋ฉ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์ด ํฌ๋ช ํ ์์ญ์ด ์๋ VP8/VP9 ๋น๋์ค๋ฅผ ์ฌ์ํ ์ ์์ต๋๋ค.
- ์ธ์ฝ๋ฉ ํ๋กํ์ ์ถ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ณ ์์ฑ์ ์ค์ ํ๊ธฐ ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Compositor๋ ๋ฉํฐ์ค๋ ๋ ๋น๋์ค ๋ณํ ๋ฐ ๋ฏน์ฑ์ ์ง์ํฉ๋๋ค.
- depayloader ๋ฐ payloader ํด๋์ค๋ ์ถ๊ฐ RTP ํค๋(RTP ํค๋ ํ์ฅ) ์์ ์ ๋ํ ํตํฉ ์ง์์ ์ ๊ณตํฉ๋๋ค.
- SMPTE 2022-1 2-D(์๋ฐฉํฅ ์ค๋ฅ ์์ ) ๋ฉ์ปค๋์ฆ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- VP8, VP9 ๋ฐ H.265 ์ฝ๋ฑ์ฉ Encodebin ๋ฐ transcodebin์ ํ์ํ ๊ฒฝ์ฐ์๋ง ํธ๋์ค์ฝ๋ฉ์ด ์ํ๋๊ณ ๋๋จธ์ง ์๊ฐ์๋ ๊ธฐ์กด ์คํธ๋ฆผ์ด ์ ๋ฌ๋๋ ์ค๋งํธ ์ธ์ฝ๋ฉ ๋ชจ๋๋ฅผ ๊ตฌํํฉ๋๋ค.
- Souphttpsrc ํ๋ฌ๊ทธ์ธ์ ์ด์ libsoup2 ๋ฐ libsoup3๊ณผ ํธํ๋ฉ๋๋ค.
- ์ค๊ฐ ํ๋ ์(์๋ธํ๋ ์) ์์ค์์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋์ฝ๋ฉํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์ด ์ ์ฒด ํ๋ ์์ด ์์ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋์ฝ๋ฉ์ ์์ํ ์ ์์ต๋๋ค. ์ด ์ต์ ํ์ ๋ํ ์ง์์ OpenJPEG JPEG 2000, FFmpeg H.264 ๋ฐ OpenMAX H.264/H.265 ๋์ฝ๋์ ํฌํจ๋์ด ์์ต๋๋ค.
- RTP, WebRTC ๋ฐ RTSP ํ๋กํ ์ฝ์ ๋ํ ๋น๋์ค๋ฅผ ๋์ฝ๋ฉํ ๋ ํจํท ์์ค, ๋ฐ์ดํฐ ์์ ๋ฐ ํค ํ๋ ์ ์์ฒญ์ ์๋ ์ฒ๋ฆฌ๊ฐ ์ ๊ณต๋ฉ๋๋ค.
- mp4 ๋ฐ Matroska ๋ฏธ๋์ด ์ปจํ ์ด๋ ํจ์ปค์ ์ฆ์ ์ฝ๋ฑ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ฅผ ํตํด H.264/H.265 ์ ๋ ฅ ์คํธ๋ฆผ์ ํ๋กํ, ๋ ๋ฒจ ๋ฐ ํด์๋๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
- ์กฐ๊ฐ๋ mp4 ๋ฏธ๋์ด ์ปจํ ์ด๋๋ฅผ ์์ฑํ๊ธฐ ์ํ ๋ชจ๋๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- WPE(WebKit Port for Embedded) ๊ธฐ๋ฐ ํฌํธ์ ์ค๋์ค ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์์ ๊ณต๊ฐ ๋ณํ, ์์ ํฌ๊ธฐ ์กฐ์ ๋ฐ ์์ ๋ก๋ฉ์ CUDA๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- OpenGL glupload ๋ฐ gldownload ์์์ ๋ํ NVMM(NVIDIA ๋ฉ๋ชจ๋ฆฌ ๋ชจ๋) ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- WebRTC ์ง์์ด ํฅ์๋์์ต๋๋ค.
- ๋ ๋ง์ ๋์ฝ๋์ ํ์ฒ๋ฆฌ ์์๋ฅผ ์ง์ํ๋ VA-API(Video Acceleration API)์ฉ ์ ํ๋ฌ๊ทธ์ธ์ด ์ ์๋์์ต๋๋ค.
- AppSink API์๋ ๋ฒํผ ๋ฐ ๋ฒํผ ๋ชฉ๋ก ์ธ์๋ ์ด๋ฒคํธ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ด๋ถ ๋๊ธฐ์ด์ ๋ํ ์ถ๊ฐ ์ค์ ์ด AppSrc์ ์ถ๊ฐ๋์์ต๋๋ค.
- Rust ์ธ์ด ๋ฐ์ธ๋ฉ์ ์ ๋ฐ์ดํธํ๊ณ Rust๋ก ์์ฑ๋ 26๊ฐ์ ์๋ก์ด ํ๋ฌ๊ทธ์ธ์ ์ถ๊ฐํ์ต๋๋ค(gst-plugins-rs).
- AES ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ์ํธํ ๋ฐ ์ํธ ํด๋ ์ ์ํ aesdec ๋ฐ aesenc ์์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ํ ์คํธ ๋ฐ ๋๋ฒ๊น ์ ์ํด fakeaudiosink ๋ฐ videocodectestsink ์์๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ์ต์ํ์ GStreamer ๋น๋๋ฅผ ์์ฑํ๊ธฐ ์ํ ํฅ์๋ ๋๊ตฌ์ ๋๋ค.
- FFmpeg 5.0์ผ๋ก ๋น๋ํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Linux์ ๊ฒฝ์ฐ MPEG-2 ๋ฐ VP9 ์ฝ๋ฑ ๋ฒ์ ์ด ๊ตฌํ๋์ด ์ํ๋ฅผ ์ ์ฅํ์ง ์๊ณ ์๋ํฉ๋๋ค(Stateless).
- Windows์ ๊ฒฝ์ฐ Direct3D11/DXVA ๊ธฐ๋ฐ ๋์ฝ๋์ AV1 ๋ฐ MPEG-2 ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru