๊ธ๋ก๋ฒ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ณ ํ์ง, ์ ์ง์ฐ ์ค๋์ค ๊ฒฝํ์ ๋ง๋ค๊ธฐ ์ํด WebCodecs API ๋ด์์ AudioEncoder ํ์ง์ ์ดํดํ๊ณ ์ต์ ํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ข ํฉ ๊ฐ์ด๋์ ๋๋ค.
WebCodecs AudioEncoder ํ์ง: ๊ธ๋ก๋ฒ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์ค๋์ค ์์ถ ๋ง์คํฐํ๊ธฐ
WebCodecs API๋ ์น ๋ธ๋ผ์ฐ์ ๋ด์์ ์ง์ ๊ณ ์ฑ๋ฅ ๋ฏธ๋์ด ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ์ค์ํ ๋์ฝ์
๋๋ค. ๋ง์ ๊ธฐ๋ฅ ์ค์์ AudioEncoder ์ธํฐํ์ด์ค๋ ๊ฐ๋ฐ์์๊ฒ ์ค๋์ค ์์ถ์ ๋ํ ์ ๋ก ์๋ ์ ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. AudioEncoder๋ก ์ต์ ์ ์ค๋์ค ํ์ง์ ์ป์ผ๋ ค๋ฉด ๋งค๊ฐ๋ณ์, ๊ธฐ๋ฅ ๋ฐ ์ง์๋๋ ๊ธฐ๋ณธ ์ฝ๋ฑ์ ๋ํ ์ฒ ์ ํ ์ดํด๊ฐ ํ์ํฉ๋๋ค. ์ด ๊ฐ์ด๋๋ AudioEncoder ํ์ง ์ ์ด์ ๋ณต์ก์ฑ์ ํ๊ตฌํ์ฌ ๊ธ๋ก๋ฒ ์ฒญ์ค์ ์ํ ๊ฐ๋ ฅํ๊ณ ๋งค๋ ฅ์ ์ธ ์ค๋์ค ๊ฒฝํ์ ๊ตฌ์ถํ๊ธฐ ์ํ ์ค์ฉ์ ์ธ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํฉ๋๋ค.
WebCodecs AudioEncoder ์ดํด
ํ์ง ์ต์ ํ์ ๋ฐ์ด๋ค๊ธฐ ์ ์ AudioEncoder์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ดํด๋ฅผ ํ๋ฆฝํด ๋ณด๊ฒ ์ต๋๋ค. WebCodecs๋ฅผ ์ฌ์ฉํ๋ฉด ์น ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ฏธ๋์ด ์ฝ๋ฑ์ ์ง์ ์ก์ธ์คํ๊ณ ์กฐ์ํ์ฌ ์ธ์ฝ๋ฉ ๋ฐ ๋์ฝ๋ฉ ํ๋ก์ธ์ค๋ฅผ ์ธ๋ฐํ๊ฒ ์ ์ดํ ์ ์์ต๋๋ค. AudioEncoder๋ ํนํ ์์ ์ค๋์ค ๋ฐ์ดํฐ๋ฅผ ์์ถ๋ ์ค๋์ค ์คํธ๋ฆผ์ผ๋ก ์ธ์ฝ๋ฉํ๋ ๊ธฐ๋ฅ์ ์ฒ๋ฆฌํฉ๋๋ค.
์ฃผ์ ๊ตฌ์ฑ ์์ ๋ฐ ๋งค๊ฐ๋ณ์
- ๊ตฌ์ฑ:
AudioEncoder๋ ์ค์ํ ์ธ์ฝ๋ฉ ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ํ๋ ๊ตฌ์ฑ ๊ฐ์ฒด๋ก ์ด๊ธฐํ๋ฉ๋๋ค. ์ด๋ฌํ ๋งค๊ฐ๋ณ์๋ ์ถ๋ ฅ ์ค๋์ค์ ํ์ง๊ณผ ํน์ฑ์ ํฐ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. - ์ฝ๋ฑ: ์ธ์ฝ๋ฉ์ ์ฌ์ฉํ ์ค๋์ค ์ฝ๋ฑ์ ์ง์ ํฉ๋๋ค(์: Opus, AAC). ์ฝ๋ฑ ์ ํ์ ์ํ๋ ํ์ง, ๋นํธ ์ ์ก๋ฅ , ๋ธ๋ผ์ฐ์ ์ง์ ๋ฐ ๋ผ์ด์ ์ค ๊ณ ๋ ค ์ฌํญ๊ณผ ๊ฐ์ ์์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
- ์ํ๋ง ๋ ์ดํธ: ์ด๋น ์ฑ์ทจํ๋ ์ค๋์ค ์ํ ์์ ๋๋ค(์: 48000Hz). ์ํ๋ง ๋ ์ดํธ๊ฐ ๋์์๋ก ์ผ๋ฐ์ ์ผ๋ก ์ค๋์ค ํ์ง์ด ํฅ์๋์ง๋ง ๋นํธ ์ ์ก๋ฅ ๋ ๋์์ง๋๋ค. ํ์ค ์ํ๋ง ๋ ์ดํธ์๋ 44100Hz(CD ํ์ง) ๋ฐ 48000Hz(DVD ๋ฐ ๋ฐฉ์ก ํ์ง)๊ฐ ํฌํจ๋ฉ๋๋ค.
- ์ฑ๋ ์: ์ค๋์ค ์ฑ๋ ์์ ๋๋ค(์: ๋ชจ๋ ธ์ ๊ฒฝ์ฐ 1, ์คํ ๋ ์ค์ ๊ฒฝ์ฐ 2). ์ฑ๋ ์๋ ์ค๋์ค์ ๋ณต์ก์ฑ๊ณผ ์ธ์ง๋๋ ํ๋ถํจ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
- ๋นํธ ์ ์ก๋ฅ : ์ค๋์ค ๋จ์๋ฅผ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ์ ์์ผ๋ก, ์ผ๋ฐ์ ์ผ๋ก ์ด๋น ๋นํธ ์(bps ๋๋ kbps)๋ก ์ธก์ ๋ฉ๋๋ค. ๋นํธ ์ ์ก๋ฅ ์ด ๋์์๋ก ์ผ๋ฐ์ ์ผ๋ก ์ค๋์ค ํ์ง์ด ํฅ์๋์ง๋ง ํ์ผ ํฌ๊ธฐ๋ ์ปค์ง๋๋ค.
- ๋๊ธฐ ์๊ฐ ๋ชจ๋: ์ฝ๋ฑ์ ์ํ๋ ๋๊ธฐ ์๊ฐ ํน์ฑ์ ์ง์ ํ ์ ์์ต๋๋ค(์: 'ํ์ง', '์ค์๊ฐ'). ๋ค์ํ ๋๊ธฐ ์๊ฐ ๋ชจ๋๋ ์ค๋์ค ํ์ง ๋๋ ์ต์ ์ธ์ฝ๋ฉ ์ง์ฐ์ ์ฐ์ ์ํฉ๋๋ค. ์ด๋ ์ค์๊ฐ ํต์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
์ ์ ํ ์ฝ๋ฑ ์ ํ: Opus ๋ AAC
WebCodecs๋ ์ฃผ๋ก ์ค๋์ค ์ธ์ฝ๋ฉ์ ์ํ ์คํ ๊ฐ๋ฅํ ์ต์ ์ผ๋ก Opus ๋ฐ AAC(Advanced Audio Coding)๋ฅผ ์ง์ํฉ๋๋ค. ๊ฐ ์ฝ๋ฑ์ ๊ณ ์ ํ ๊ฐ์ ๊ณผ ์ฝ์ ์ ๊ฐ์ง๊ณ ์์ด ๋ค์ํ ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํฉ๋๋ค.
Opus: ๋ค์ฌ๋ค๋ฅํ ์ฝ๋ฑ
Opus๋ ๋ฎ์ ์ง์ฐ ์๊ฐ์ ์ค์๊ฐ ํต์ ๊ณผ ๊ณ ํ์ง ์ค๋์ค ์คํธ๋ฆฌ๋ฐ์ ๋ชจ๋ ์ํด ์ค๊ณ๋ ์ต์ ์ ์ด๊ณ ๋งค์ฐ ๋ค์ฌ๋ค๋ฅํ ์ฝ๋ฑ์ ๋๋ค. ์ฃผ์ ์ฅ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ฎ์ ๋นํธ ์ ์ก๋ฅ ์์ ๋ฐ์ด๋ ํ์ง: Opus๋ ๋งค์ฐ ๋ฎ์ ๋นํธ ์ ์ก๋ฅ ์์๋ ๋ฐ์ด๋ ์ค๋์ค ํ์ง์ ์ ๊ณตํ๋ฏ๋ก ๋์ญํญ์ด ์ ํ๋ ํ๊ฒฝ์ ์ด์์ ์ ๋๋ค.
- ๋ฎ์ ์ง์ฐ ์๊ฐ: Opus๋ ๋ฎ์ ์ง์ฐ ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํด ํน๋ณํ ์ค๊ณ๋์ด ์์ฑ ๋ฐ ํ์ ํ์, ์จ๋ผ์ธ ๊ฒ์ ๋ฐ ๊ธฐํ ์ค์๊ฐ ์๋๋ฆฌ์ค์ ์ ํฉํฉ๋๋ค.
- ์ ์์ฑ: Opus๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๋์ญํญ ๋ฐ ๋คํธ์ํฌ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ธ์ฝ๋ฉ ๋งค๊ฐ๋ณ์๋ฅผ ์๋์ผ๋ก ์กฐ์ ํฉ๋๋ค.
- ์คํ ์์ค ๋ฐ ๋ก์ดํฐ ํ๋ฆฌ: Opus๋ ๋ผ์ด์ ์ค ๋น์ฉ ์์ด ์์ ๋กญ๊ฒ ์ฌ์ฉํ ์ ์์ด ๊ฐ๋ฐ์์๊ฒ ๋งค๋ ฅ์ ์ธ ์ต์ ์ ๋๋ค.
์ฌ์ฉ ์ฌ๋ก ์: ๊ธ๋ก๋ฒ ํ์ ํ์ ํ๋ซํผ์ Opus๋ฅผ ํ์ฉํ์ฌ ๊ฐ๋ฐ๋์๊ตญ์ ์ธํฐ๋ท ๋์ญํญ์ด ์ ํ๋ ์ฌ์ฉ์์๊ฒ๋ ๋ช ํํ๊ณ ์์ ์ ์ธ ์ค๋์ค ํต์ ์ ๋ณด์ฅํ ์ ์์ต๋๋ค.
AAC: ๋๋ฆฌ ์ง์๋๋ ์ฝ๋ฑ
AAC๋ ๋ค์ํ ์ฅ์น ๋ฐ ํ๋ซํผ์์ ๊ด๋ฒ์ํ๊ฒ ์ง์๋๋ ๊ฒ์ผ๋ก ์๋ ค์ง ์ ํ๋ฆฝ๋ ์ฝ๋ฑ์ ๋๋ค. ์ฃผ์ ์ฅ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ ๋นํ ๋นํธ ์ ์ก๋ฅ ์์ ์ํธํ ํ์ง: AAC๋ ์ ๋นํ ๋นํธ ์ ์ก๋ฅ ์์ ์ํธํ ์ค๋์ค ํ์ง์ ์ ๊ณตํ๋ฏ๋ก ์์ ์คํธ๋ฆฌ๋ฐ ๋ฐ ๋ฒ์ฉ ์ค๋์ค ์ธ์ฝ๋ฉ์ ์ ํฉํฉ๋๋ค.
- ํ๋์จ์ด ๊ฐ์: AAC๋ ๋ง์ ์ฅ์น์์ ํ๋์จ์ด ๊ฐ์๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ํจ์จ์ ์ธ ์ธ์ฝ๋ฉ ๋ฐ ๋์ฝ๋ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ๊ด๋ฒ์ํ ํธํ์ฑ: AAC๋ ๊ด๋ฒ์ํ ๋ธ๋ผ์ฐ์ , ์ด์ ์ฒด์ ๋ฐ ๋ฏธ๋์ด ํ๋ ์ด์ด์์ ์ง์๋ฉ๋๋ค.
์ฌ์ฉ ์ฌ๋ก ์: ๊ตญ์ ์์ ์คํธ๋ฆฌ๋ฐ ์๋น์ค๋ ์ค๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ธ์ฝ๋ฉํ๊ธฐ ์ํด AAC๋ฅผ ์ ํํ์ฌ ์ ์ธ๊ณ ๋๋ถ๋ถ์ ์ฌ์ฉ์ ์ฅ์น์์ ํธํ์ฑ์ ๋ณด์ฅํ ์ ์์ต๋๋ค. ๋์ ๋นํธ ์ ์ก๋ฅ ๋ฐ ํ์ง ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๋ค๋ฅธ AAC ํ๋กํ(์: AAC-LC, HE-AAC)์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์๋ฅผ ๋ค์ด HE-AAC๋ ๋ฎ์ ๋นํธ ์ ์ก๋ฅ ์์ ๋ ํจ์จ์ ์ ๋๋ค.
์ฝ๋ฑ ๋น๊ต ํ
๋ค์ ํ๋ Opus์ AAC์ ์ฃผ์ ์ฐจ์ด์ ์ ์์ฝํ ๊ฒ์ ๋๋ค.
| ๊ธฐ๋ฅ | Opus | AAC |
|---|---|---|
| ๋ฎ์ ๋นํธ ์ ์ก๋ฅ ์์ ํ์ง | ๋ฐ์ด๋จ | ์ํธ |
| ๋๊ธฐ ์๊ฐ | ๋งค์ฐ ๋ฎ์ | ์ ๋นํจ |
| ๋ผ์ด์ ์ค | ๋ก์ดํฐ ํ๋ฆฌ | ์ ์ฌ์ ์ผ๋ก ๋ถ๋ด |
| ํธํ์ฑ | ์ํธ | ๋ฐ์ด๋จ |
| ๋ณต์ก์ฑ | ์ ๋นํจ | ๋ฎ์ |
AudioEncoder ํ์ง ์ต์ ํ: ์ค์ฉ์ ์ธ ๊ธฐ์
AudioEncoder๋ก ์ต์ ์ ์ค๋์ค ํ์ง์ ์ป์ผ๋ ค๋ฉด ๋ค์ํ ๋งค๊ฐ๋ณ์๋ฅผ ์ ์คํ๊ฒ ๊ตฌ์ฑํ๊ณ ํน์ ๊ธฐ์ ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ค์์ ์ค๋์ค ํ์ง์ ์ต๋ํํ๊ธฐ ์ํ ๋ช ๊ฐ์ง ์ค์ฉ์ ์ธ ์ ๋ต์
๋๋ค.
1. ๋นํธ ์ ์ก๋ฅ ์ ํ
๋นํธ ์ ์ก๋ฅ ์ ์ค๋์ค ํ์ง์ ์ค์ํ ๊ฒฐ์ ์์ธ์ ๋๋ค. ๋นํธ ์ ์ก๋ฅ ์ด ๋์์๋ก ์ผ๋ฐ์ ์ผ๋ก ์ค๋์ค ํ์ง์ด ํฅ์๋์ง๋ง ์ธ์ฝ๋ฉ๋ ์ค๋์ค์ ํฌ๊ธฐ๋ ์ปค์ง๋๋ค. ์ ์ ํ ๋นํธ ์ ์ก๋ฅ ์ ์ ํํ๋ ค๋ฉด ํ์ง ์๊ตฌ ์ฌํญ๊ณผ ๋์ญํญ ์ ์ฝ ์กฐ๊ฑด์ ๊ท ํ์ ๋ง์ถฐ์ผ ํฉ๋๋ค.
- Opus: Opus์ ๊ฒฝ์ฐ 64kbps์ 128kbps ์ฌ์ด์ ๋นํธ ์ ์ก๋ฅ ์ ์ผ๋ฐ์ ์ผ๋ก ์์ ์ ๋ํด ๋ฐ์ด๋ ํ์ง์ ์ ๊ณตํฉ๋๋ค. ์์ฑ ํต์ ์ ๊ฒฝ์ฐ 16kbps์ 32kbps ์ฌ์ด์ ๋นํธ ์ ์ก๋ฅ ์ด ์ข ์ข ์ถฉ๋ถํฉ๋๋ค.
- AAC: AAC์ ๊ฒฝ์ฐ 128kbps์ 192kbps ์ฌ์ด์ ๋นํธ ์ ์ก๋ฅ ์ด ์ผ๋ฐ์ ์ผ๋ก ์์ ์ ๊ถ์ฅ๋ฉ๋๋ค.
์: ๊ธ๋ก๋ฒ ํ์บ์คํธ ํ๋ซํผ์ ์ฌ์ฉ์์๊ฒ ๋ค์ํ ํ์ง ์์ค์ผ๋ก ํ์บ์คํธ๋ฅผ ๋ค์ด๋ก๋ํ ์ ์๋ ์ต์ ์ ์ ๊ณตํ ์ ์์ผ๋ฉฐ, ๋ค์ํ ๋์ญํญ ๋ฐ ์คํ ๋ฆฌ์ง ์ ์ฝ ์กฐ๊ฑด์ ์ถฉ์กฑํ๊ธฐ ์ํด Opus ๋๋ AAC์ ๋ํด ๋ค์ํ ๋นํธ ์ ์ก๋ฅ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด: * ๋ฎ์ ํ์ง: 32kbps์ Opus(๋ชจ๋ฐ์ผ ์ฅ์น์ ์์ฑ ์ฝํ ์ธ ์ ์ ํฉ) * ์ค๊ฐ ํ์ง: 64kbps์ Opus ๋๋ 96kbps์ AAC(๋ฒ์ฉ ์ค๋์ค) * ๋์ ํ์ง: 128kbps์ Opus ๋๋ 192kbps์ AAC(๋์ ์ถฉ์ค๋์ ์์ )
2. ์ํ๋ง ๋ ์ดํธ ๊ณ ๋ ค ์ฌํญ
์ํ๋ง ๋ ์ดํธ๋ ์ด๋น ์ฑ์ทจํ๋ ์ค๋์ค ์ํ ์๋ฅผ ์ ์ํฉ๋๋ค. ์ํ๋ง ๋ ์ดํธ๊ฐ ๋์์๋ก ๋ ๋ง์ ์ค๋์ค ์ ๋ณด๋ฅผ ์บก์ฒํ์ฌ ์ ์ฌ์ ์ผ๋ก ๋ ๋์ ์ค๋์ค ํ์ง, ํนํ ๊ณ ์ฃผํ ์ฌ์ด๋๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ํ๋ง ๋ ์ดํธ๊ฐ ๋์์๋ก ๋นํธ ์ ์ก๋ฅ ๋ ๋์์ง๋๋ค.
- 48000Hz: ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ํ๋ง ๋ ์ดํธ๋ก ํ์ง๊ณผ ๋นํธ ์ ์ก๋ฅ ๊ฐ์ ์ ์ ํ ๊ท ํ์ ์ ๊ณตํฉ๋๋ค. ๋น๋์ค ์ฝํ ์ธ ๋ฐ ์คํธ๋ฆฌ๋ฐ ์๋น์ค์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
- 44100Hz: ์ด๋ CD์ ํ์ค ์ํ๋ง ๋ ์ดํธ์ด๋ฉฐ ๋๋ฆฌ ์ง์๋ฉ๋๋ค.
์: ๊ธ๋ก๋ฒ ์จ๋ผ์ธ ์์ ์ ์ ๋๊ตฌ๋ ์์ ์ฉ ๋ฆด๋ฆฌ์ค๋ฅผ ์ํด ๊ณ ํ์ง ์ค๋์ค๋ฅผ ์ ์ํ๋ ์ฌ์ฉ์๋ฅผ ์ํด ๋์ ์ํ๋ง ๋ ์ดํธ(์: 48000Hz)๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ฒ๋ฆฌ ๋ถํ๋ฅผ ์ค์ด๊ธฐ ์ํด ์ด์ ๋๋ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ชจ๋์ ๋ํด ๋ ๋ฎ์ ์ํ๋ง ๋ ์ดํธ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
3. ์ฑ๋ ๊ตฌ์ฑ
์ค๋์ค ์ฑ๋ ์๋ ์ค๋์ค์ ๊ณต๊ฐ์ ์ธ์์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์คํ ๋ ์ค(2์ฑ๋)๋ ๋ชจ๋ ธ(1์ฑ๋)์ ๋นํด ๋ ๋์ ์ฌ์ด๋์คํ ์ด์ง๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์คํ ๋ ์ค: ๊ณต๊ฐ ์ค๋์ค๊ฐ ์ค์ํ ์์ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ถ์ฅ๋ฉ๋๋ค.
- ๋ชจ๋ ธ: ๋์ญํญ์ด ์ ํ๋ ์์ฑ ํต์ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉํฉ๋๋ค.
์: ๊ธ๋ก๋ฒ ์ธ์ด ํ์ต ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ช ํ์ฑ๊ณผ ์ดํด ๊ฐ๋ฅ์ฑ์ ์ค์ ์ ๋๊ณ ์์ฑ ๋ ์จ์ ๋ชจ๋ ธ ์ค๋์ค๋ฅผ ์ฌ์ฉํ๋ ๋ฐ๋ฉด ์์ ๋๋ ์ฌ์ด๋ ํจ๊ณผ๊ฐ ํฌํจ๋ ๋ํํ ์ฐ์ต์๋ ์คํ ๋ ์ค ์ค๋์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
4. ๋๊ธฐ ์๊ฐ ๋ชจ๋ ์ต์ ํ
latencyMode ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ค๋์ค ํ์ง ๋๋ ์ต์ ์ธ์ฝ๋ฉ ์ง์ฐ์ ์ฐ์ ์ํ ์ ์์ต๋๋ค. ์ค์๊ฐ ํต์ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฒฝ์ฐ ๋๊ธฐ ์๊ฐ์ ์ต์ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- '์ค์๊ฐ': ๋ฎ์ ๋๊ธฐ ์๊ฐ์ ์ฐ์ ์ํ์ฌ ์ค๋์ค ํ์ง์ด ์ฝ๊ฐ ์ ํ๋ ์ ์์ต๋๋ค.
- 'ํ์ง': ์ค๋์ค ํ์ง์ ์ฐ์ ์ํ์ฌ ๋๊ธฐ ์๊ฐ์ด ๋์ด๋ ์ ์์ต๋๋ค.
์: ๊ธ๋ก๋ฒ ์จ๋ผ์ธ ๊ฒ์ ํ๋ซํผ์ ์ฝ๊ฐ ๋ฎ์ ์ค๋์ค ํ์ง์ ์๋ฏธํ๋๋ผ๋ ์์ฑ ์ฑํ ์ค ์ค๋์ค ์ง์ฐ์ ์ต์ํํ๊ธฐ ์ํด '์ค์๊ฐ' ๋๊ธฐ ์๊ฐ ๋ชจ๋๋ฅผ ์ฐ์ ์ํด์ผ ํฉ๋๋ค.
5. ์ฝ๋ฑ๋ณ ๋งค๊ฐ๋ณ์
Opus์ AAC๋ ๋ชจ๋ ์ค๋์ค ํ์ง์ ๋์ฑ ์ต์ ํํ๊ธฐ ์ํด ๋ฏธ์ธ ์กฐ์ ํ ์ ์๋ ์ฝ๋ฑ๋ณ ๋งค๊ฐ๋ณ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ๋งค๊ฐ๋ณ์๋ ์ข
์ข
AudioEncoder ๊ตฌ์ฑ ๊ฐ์ฒด๋ฅผ ํตํด ๋
ธ์ถ๋ฉ๋๋ค.
- Opus:
complexity๋งค๊ฐ๋ณ์๋ฅผ ์กฐ์ ํ์ฌ ์ธ์ฝ๋ฉ์ ์ฌ์ฉ๋๋ ๊ณ์ฐ ๋ ธ๋ ฅ์ ์ ์ดํฉ๋๋ค. ๋ณต์ก์ฑ ์์ค์ด ๋์์๋ก ์ผ๋ฐ์ ์ผ๋ก ์ค๋์ค ํ์ง์ด ํฅ์๋ฉ๋๋ค. - AAC: ๋์ ๋นํธ ์ ์ก๋ฅ ๋ฐ ํ์ง ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์ ์ ํ AAC ํ๋กํ(์: AAC-LC, HE-AAC)์ ์ ํํฉ๋๋ค.
6. ์ ์ํ ๋นํธ ์ ์ก๋ฅ ์คํธ๋ฆฌ๋ฐ(ABR)
์ ์ํ ๋นํธ ์ ์ก๋ฅ ์คํธ๋ฆฌ๋ฐ(ABR)์ ์ฌ์ฉ์์ ๋คํธ์ํฌ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ธ์ฝ๋ฉ๋ ์ค๋์ค์ ๋นํธ ์ ์ก๋ฅ ์ ๋์ ์ผ๋ก ์กฐ์ ํ๋ ๊ธฐ์ ์ ๋๋ค. ์ด๋ฅผ ํตํด ๋์ญํญ์ด ๋ณ๋ํ๋๋ผ๋ ์ํํ๊ณ ์ค๋จ ์๋ ์ฒญ์ทจ ๊ฒฝํ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
์: ๊ธ๋ก๋ฒ ๋น๋์ค ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์ ABR์ ๊ตฌํํ์ฌ ์ฌ์ฉ์ ์ธํฐ๋ท ์ฐ๊ฒฐ ์๋์ ๋ฐ๋ผ ๋ค๋ฅธ ์ค๋์ค ๋นํธ ์ ์ก๋ฅ (์: 64kbps, 96kbps, 128kbps) ๊ฐ์ ์๋์ผ๋ก ์ ํํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ธํฐ๋ท ์ก์ธ์ค ์๋๊ฐ ๋๋ฆฐ ์ง์ญ์ ์ฌ์ฉ์๋ ์ฝ๊ฐ ๋ฎ์ ์ค๋์ค ํ์ง๋ก ์ฝํ ์ธ ๋ฅผ ์ฆ๊ธธ ์ ์์ต๋๋ค.
7. ์ฌ์ ์ฒ๋ฆฌ ๋ฐ ๋ ธ์ด์ฆ ๊ฐ์
์ธ์ฝ๋ฉํ๊ธฐ ์ ์ ์ค๋์ค๋ฅผ ์ฌ์ ์ฒ๋ฆฌํ๋ฉด ์ต์ข ์ค๋์ค ํ์ง์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค. ๋ ธ์ด์ฆ ๊ฐ์, ์์ฝ ์ ๊ฑฐ ๋ฐ ์๋ ๊ฒ์ธ ์ ์ด์ ๊ฐ์ ๊ธฐ์ ์ ์์น ์๋ ์ํฐํฉํธ๋ฅผ ์ ๊ฑฐํ๊ณ ์ค๋์ค์ ๋ช ํ์ฑ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
์: ๊ธ๋ก๋ฒ ์จ๋ผ์ธ ๊ต์ก ํ๋ซํผ์ ๋ ธ์ด์ฆ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ํ์ ๋ น์์์ ๋ฐฐ๊ฒฝ ์์์ ์ ๊ฑฐํ์ฌ ๊ฐ์ฌ๊ฐ ํ์์ ์ ์ถ๋ฌผ์ ๋ช ํํ๊ฒ ๋ฃ๊ณ ์ดํดํ ์ ์๋๋ก ํ ์ ์์ต๋๋ค.
8. ๋ชจ๋ํฐ๋ง ๋ฐ ๋ถ์
์ค๋์ค ํ์ง์ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ๋ถ์ํ๋ ๊ฒ์ ๋ฌธ์ ๋ฅผ ์๋ณํ๊ณ ํด๊ฒฐํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ธ์ง ์ค๋์ค ํ์ง ์ธก์ (PAQM) ์๊ณ ๋ฆฌ์ฆ๊ณผ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฝ๋ฉ๋ ์ค๋์ค์ ์ธ์ง๋ ํ์ง์ ๊ฐ๊ด์ ์ผ๋ก ํ๊ฐํ ์ ์์ต๋๋ค.
์: ๊ธ๋ก๋ฒ ์์ ๋ฏธ๋์ด ํ๋ซํผ์ PAQM ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์ ๋ก๋ํ ๋น๋์ค์ ์ค๋์ค ํ์ง์ ๋ชจ๋ํฐ๋งํ๊ณ ํน์ ํ์ง ์๊ณ๊ฐ ๋ฏธ๋ง์ผ๋ก ๋จ์ด์ง๋ ์ฝํ ์ธ ์ ์๋์ผ๋ก ํ๋๊ทธ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
WebCodecs ๋ฐ ๊ธ๋ก๋ฒ ์ ๊ทผ์ฑ
๊ธ๋ก๋ฒ ์ฒญ์ค์ ์ํด WebCodecs๋ฅผ ๊ตฌํํ ๋๋ ์ ๊ทผ์ฑ์ ๊ณ ๋ คํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค. ์ค๋์ค ๊ฒฝํ์ ๋์ฑ ํฌ๊ด์ ์ผ๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์๋ง ๋ฐ ์บก์ : ๋ชจ๋ ์ค๋์ค ์ฝํ ์ธ ์ ์๋ง๊ณผ ์บก์ ์ ์ ๊ณตํ์ฌ ์ฒญ๊ฐ ์ฅ์ ๊ฐ ์๋ ์ฌ์ฉ์๊ฐ ์ ๋ณด๋ฅผ ๊ณ์ ์ก์ธ์คํ ์ ์๋๋ก ํฉ๋๋ค. ๊ธ๋ก๋ฒ ์ฒญ์ค์ ์์ฉํ๊ธฐ ์ํด ๋ค๊ตญ์ด ์ต์ ์ ์ ๊ณตํฉ๋๋ค.
- ์ค๋์ค ์ค๋ช : ์๊ฐ ์ฅ์ ๊ฐ ์๋ ์ฌ์ฉ์๊ฐ ์ฝํ ์ธ ๋ฅผ ์ดํดํ ์ ์๋๋ก ๋น๋์ค์ ์๊ฐ์ ์์์ ๋ํ ์ค๋์ค ์ค๋ช ์ ํฌํจํฉ๋๋ค.
- ๋๋ณธ: ์ค๋์ค ์ฝํ ์ธ ์ ๋๋ณธ์ ์ ๊ณตํ์ฌ ์ฌ์ฉ์๊ฐ ์ฝํ ์ธ ๋ฅผ ๋ฃ๋ ๋์ ์ฝ์ ์ ์๋๋ก ํฉ๋๋ค.
- ๋ช ํํ ์ค๋์ค: ์ฒญ๋ ฅ ์์ค์ด ์๋ ์ฌ์ฉ์๊ฐ ์ฝํ ์ธ ๋ฅผ ์ดํดํ ์ ์๋๋ก ๋ฎ์ ๋นํธ ์ ์ก๋ฅ ์์๋ ๋ช ํํ๊ณ ์ดํด ๊ฐ๋ฅํ ์ค๋์ค๋ฅผ ์ฐ์ ์ํฉ๋๋ค. ๋ช ํ์ฑ์ ๋์ด๊ธฐ ์ํด ๋ ธ์ด์ฆ ๊ฐ์ ๋ฐ ๊ธฐํ ์ฌ์ ์ฒ๋ฆฌ ๊ธฐ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ์กฐ์ ๊ฐ๋ฅํ ์ฌ์ ์๋: ์ฌ์ฉ์๊ฐ ์ค๋์ค ์ฝํ ์ธ ์ ์ฌ์ ์๋๋ฅผ ์กฐ์ ํ ์ ์๋๋ก ํ์ฌ ์ฌ์ฉ์๊ฐ ์์ ์ ์๋์ ๋ง์ถฐ ์ฝํ ์ธ ๋ฅผ ๋ ์ฝ๊ฒ ์ดํดํ ์ ์๋๋ก ํฉ๋๋ค.
- ํค๋ณด๋ ํ์: ๋ง์ฐ์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ฌ์ฉ์๊ฐ ์ค๋์ค ์ฌ์์ ์ ์ดํ ์ ์๋๋ก ๋ชจ๋ ์ค๋์ค ์ปจํธ๋กค์ด ํค๋ณด๋๋ฅผ ํตํด ์ก์ธ์คํ ์ ์๋์ง ํ์ธํฉ๋๋ค.
๊ณ ๊ธ ๊ณ ๋ ค ์ฌํญ
ํ๋์จ์ด ๊ฐ์
ํ๋์จ์ด ๊ฐ์์ ํ์ฉํ๋ฉด ํนํ AAC์ ๊ฐ์ด ๊ณ์ฐ ์ง์ฝ์ ์ธ ์ฝ๋ฑ์ ๊ฒฝ์ฐ AudioEncoder์ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค. ํ๋์จ์ด ๊ฐ์์ด ํ์ฉ๋๊ณ ์๋์ง ํ์ธํ๋ ค๋ฉด ๋ธ๋ผ์ฐ์ ํธํ์ฑ ๋ฐ ์ฅ์น ๊ธฐ๋ฅ์ ํ์ธํ์ญ์์ค.
์์ ์ ์ค๋ ๋
๋ฉ์ธ ์ค๋ ๋๊ฐ ์ฐจ๋จ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ ์ํํ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ค๋์ค ์ธ์ฝ๋ฉ ์์ ์ ์์ ์ ์ค๋ ๋๋ก ์คํ๋ก๋ํฉ๋๋ค. ์ด๋ ๋ณต์กํ ์ค๋์ค ์ฒ๋ฆฌ ๋ฐ ์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํนํ ์ค์ํฉ๋๋ค.
์ค๋ฅ ์ฒ๋ฆฌ
์ค๋์ค ์ธ์ฝ๋ฉ ์ค์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ฅผ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด ๊ฐ๋ ฅํ ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ ๊ตฌํํฉ๋๋ค. ์ฌ์ฉ์์๊ฒ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด ๋๋ ์ ์ฉํ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ ๊ณตํฉ๋๋ค.
๊ฒฐ๋ก
WebCodecs API๋ ์ค๋์ค ์์ถ ํ์ง์ ์ ์ดํ๊ธฐ ์ํ ๊ฐ๋ ฅํ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. AudioEncoder์ ๊ธฐ๋ฅ์ ์ดํดํ๊ณ ์ฝ๋ฑ ๋ฐ ๋งค๊ฐ๋ณ์๋ฅผ ์ ์คํ๊ฒ ์ ํํ๊ณ ์ต์ ํ ๊ธฐ์ ์ ๊ตฌํํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ๊ธ๋ก๋ฒ ์ฒญ์ค์ ์ํ ๊ณ ํ์ง, ์ ์ง์ฐ ์ค๋์ค ๊ฒฝํ์ ๋ง๋ค ์ ์์ต๋๋ค. ์ ๊ทผ์ฑ์ ์ฐ์ ์ํ๊ณ ์ค๋์ค ์ ํ๋ฆฌ์ผ์ด์
์ ์ค๊ณํ ๋ ์ฌ์ฉ์์ ๋ค์ํ ์๊ตฌ ์ฌํญ์ ๊ณ ๋ คํ์ญ์์ค. WebCodecs๊ฐ ๊ณ์ ๋ฐ์ ํจ์ ๋ฐ๋ผ ์ต์ ๋ฐ์ ์ฌํญ๊ณผ ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํ ์ ๋ณด๋ฅผ ์ ์งํ๋ ๊ฒ์ด ์น์์ ๋ฐ์ด๋ ์ค๋์ค ๊ฒฝํ์ ์ ๊ณตํ๋ ๋ฐ ์ค์ํฉ๋๋ค. WebCodecs์ ํ์ ํ์ฉํ๊ณ ์น ์ค๋์ค์ ์ ์ฌ๋ ฅ์ ์ต๋ํ ํ์ฉํ์ญ์์ค.