PulseAudio๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์„œ๋ฒ„ PipeWire 0.3์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒŒ์‹œ ๋จ ์ค‘์š”ํ•œ ํ”„๋กœ์ ํŠธ ์ถœ์‹œ ํŒŒ์ดํ”„์™€์ด์–ด 0.3.0, PulseAudio๋ฅผ ๋Œ€์ฒดํ•  ์ฐจ์„ธ๋Œ€ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์„œ๋ฒ„๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. PipeWire๋Š” ๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ๊ธฐ๋Šฅ, ์ง€์—ฐ ์‹œ๊ฐ„์ด ์งง์€ ์˜ค๋””์˜ค ์ฒ˜๋ฆฌ, ์žฅ์น˜ ๋ฐ ์ŠคํŠธ๋ฆผ ์ˆ˜์ค€ ์•ก์„ธ์Šค ์ œ์–ด๋ฅผ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๋ณด์•ˆ ๋ชจ๋ธ์„ ํ†ตํ•ด PulseAudio์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” GNOME์—์„œ ์ง€์›๋˜๋ฉฐ ์ด๋ฏธ Fedora Linux์—์„œ Wayland ๊ธฐ๋ฐ˜ ํ™˜๊ฒฝ์˜ ํ™”๋ฉด ๋…นํ™” ๋ฐ ํ™”๋ฉด ๊ณต์œ ๋ฅผ ์œ„ํ•ด ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” C๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๋ฐฐํฌ์ž LGPLv2.1์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ๋ณ€๊ฒฝ PipeWire 0.3์—์„œ:

  • ์Šค๋ ˆ๋“œ ์ฒ˜๋ฆฌ ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์™„์ „ํžˆ ์žฌ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด JACK2์™€ ์„ฑ๋Šฅ์ด ๋น„์Šทํ•œ JACK ์‚ฌ์šด๋“œ ์„œ๋ฒ„์™€์˜ ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ ˆ์ด์–ด ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค.
  • ์žฌ์ž‘์—… ๋ฐ ์•ˆ์ • ์„ ์–ธ API. API์— ๋Œ€ํ•œ ๋ชจ๋“  ์ถ”๊ฐ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ์˜ ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ด๋ฃจ์–ด์งˆ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  • ์—ฌ๊ธฐ์—๋Š” PipeWire์˜ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ๋…ธ๋“œ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์ƒˆ ์ŠคํŠธ๋ฆผ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์„ธ์…˜ ๊ด€๋ฆฌ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ด€๋ฆฌ์ž๋Š” ๊ฐ„๋‹จํ•œ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ ์„ธํŠธ๋งŒ ์ œ๊ณตํ•˜๋ฉฐ ์•ž์œผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ณด๋‹ค ๊ธฐ๋Šฅ์ ์ด๊ณ  ์œ ์—ฐํ•œ ์˜ต์…˜์œผ๋กœ ํ™•์žฅ๋˜๊ฑฐ๋‚˜ ๋Œ€์ฒด๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์™€์ด์–ด๋ฐฐ๊ด€๊ณต.
  • ํฌํ•จ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” PulseAudio, JACK ๋ฐ ALSA์™€์˜ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณตํ•˜๋„๋ก ๊ฐœ์„ ๋˜์–ด PipeWire๋ฅผ ๋‹ค๋ฅธ ์˜ค๋””์˜ค ์‹œ์Šคํ…œ๊ณผ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋œ ๊ธฐ์กด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ALSA์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ฑฐ์˜ ์ค€๋น„๋˜์—ˆ์ง€๋งŒ JACK ๋ฐ PulseAudio์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๋Š” ์—ฌ์ „ํžˆ ์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. PipeWire๋Š” ์•„์ง PulseAudio ๋ฐ JACK์„ ์™„์ „ํžˆ ๋Œ€์ฒดํ•  ์ค€๋น„๊ฐ€ ๋˜์ง€ ์•Š์•˜์ง€๋งŒ ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • PipeWire์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ถ€ GStreamer ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. PipeWire๋ฅผ ์˜ค๋””์˜ค ์†Œ์Šค๋กœ ์‚ฌ์šฉํ•˜๋Š” Pipewiresrc ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๋Œ€๋ถ€๋ถ„์˜ ์ƒํ™ฉ์—์„œ ๋ฌธ์ œ ์—†์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. PipeWire๋ฅผ ํ†ตํ•œ ์˜ค๋””์˜ค ์ถœ๋ ฅ์„ ์œ„ํ•œ Pipewiresink ํ”Œ๋Ÿฌ๊ทธ์ธ์—๋Š” ์•„์ง ์•Œ๋ ค์ง„ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • PipeWire 0.3 ์ง€์› ํ†ตํ•ฉ GNOME ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœํ•œ Mutter ์ฐฝ ๊ด€๋ฆฌ์ž๋กœ.

PipeWire๋Š” ๋ชจ๋“  ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์ŠคํŠธ๋ฆผ์„ ์ฒ˜๋ฆฌํ•˜์—ฌ PulseAudio์˜ ๋ฒ”์œ„๋ฅผ ํ™•์žฅํ•˜๊ณ  ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ์„ ๋ฏน์‹ฑํ•˜๊ณ  ๋ฆฌ๋””๋ ‰์…˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ์ƒ๊ธฐ์‹œ์ผœ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. PipeWire๋Š” ๋น„๋””์˜ค ์บก์ฒ˜ ์žฅ์น˜, ์›น ์นด๋ฉ”๋ผ ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ™”๋ฉด ์ฝ˜ํ…์ธ ์™€ ๊ฐ™์€ ๋น„๋””์˜ค ์†Œ์Šค๋ฅผ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹๊ธฐ๋Šฅ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด PipeWire๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ์›น์บ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ•จ๊ป˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ Wayland ํ™˜๊ฒฝ์—์„œ ๋ณด์•ˆ ํ™”๋ฉด ์บก์ฒ˜ ๋ฐ ์›๊ฒฉ ํ™”๋ฉด ์•ก์„ธ์Šค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PipeWire๋Š” ์˜ค๋””์˜ค ์„œ๋ฒ„ ์—ญํ• ๋„ ํ•  ์ˆ˜ ์žˆ์–ด ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ๊ธฐ๋Šฅ์„ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PulseAudio ะธ ์žญ, PulseAudio๊ฐ€ ์ฃผ์žฅํ•  ์ˆ˜ ์—†๋Š” ์ „๋ฌธ ์˜ค๋””์˜ค ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ PipeWire๋Š” ์žฅ์น˜ ๋ฐ ์ŠคํŠธ๋ฆผ ์ˆ˜์ค€์—์„œ ์•ก์„ธ์Šค ์ œ์–ด๋ฅผ ํ—ˆ์šฉํ•˜๊ณ  ๊ฒฉ๋ฆฌ๋œ ์ปจํ…Œ์ด๋„ˆ ๊ฐ„์— ์˜ค๋””์˜ค ๋ฐ ๋น„๋””์˜ค๋ฅผ ๋ณด๋‹ค ์‰ฝ๊ฒŒ โ€‹โ€‹๋ผ์šฐํŒ…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ๊ธ‰ ๋ณด์•ˆ ๋ชจ๋ธ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ๋ชฉํ‘œ ์ค‘ ํ•˜๋‚˜๋Š” ๋…๋ฆฝํ˜• Flatpak ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ง€์›ํ•˜๊ณ  Wayland ๊ธฐ๋ฐ˜ ๊ทธ๋ž˜ํ”ฝ ์Šคํƒ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐํšŒ:

  • ์ตœ์†Œํ•œ์˜ ์ง€์—ฐ์œผ๋กœ ์˜ค๋””์˜ค์™€ ๋น„๋””์˜ค๋ฅผ ์บก์ฒ˜ํ•˜๊ณ  ์žฌ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • ์‹ค์‹œ๊ฐ„ ๋น„๋””์˜ค ๋ฐ ์˜ค๋””์˜ค ์ฒ˜๋ฆฌ ๋„๊ตฌ
  • ์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•œ ๊ณต์œ  ์•ก์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์ค‘ ํ”„๋กœ์„ธ์Šค ์•„ํ‚คํ…์ฒ˜
  • ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„ ๋ฐ ์›์ž ๊ทธ๋ž˜ํ”„ ์—…๋ฐ์ดํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ๋…ธ๋“œ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์ฒ˜๋ฆฌ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„ ๋‚ด๋ถ€์™€ ์™ธ๋ถ€ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ชจ๋‘์— ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํŒŒ์ผ ์„ค๋ช…์ž ์ „์†ก์„ ํ†ตํ•ด ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ์— ์•ก์„ธ์Šคํ•˜๊ณ  ๊ณต์œ  ๋ง ๋ฒ„ํผ๋ฅผ ํ†ตํ•ด ์˜ค๋””์˜ค์— ์•ก์„ธ์Šคํ•˜๊ธฐ ์œ„ํ•œ ํšจ์œจ์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋Šฅ๋ ฅ
  • ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ์˜ ํ†ตํ•ฉ์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•œ GStreamer์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฐ€์šฉ์„ฑ
  • ๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ ๋ฐ Flatpak ์ง€์›
  • ํ˜•์‹์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ง€์› SPA (๊ฐ„๋‹จํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ API) ๋ฐ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ;
  • ์‚ฌ์šฉ๋œ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ํ˜•์‹์„ ์กฐ์ •ํ•˜๊ณ  ๋ฒ„ํผ๋ฅผ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•œ ์œ ์—ฐํ•œ ์‹œ์Šคํ…œ.
  • ๋‹จ์ผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ค๋””์˜ค ๋ฐ ๋น„๋””์˜ค๋ฅผ ๋ผ์šฐํŒ…ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋””์˜ค ์„œ๋ฒ„, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋น„๋””์˜ค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ํ—ˆ๋ธŒ(์˜ˆ: gnome-shell ์Šคํฌ๋ฆฐ์บ์ŠคํŠธ API์šฉ) ๋ฐ ํ•˜๋“œ์›จ์–ด ๋น„๋””์˜ค ์บก์ฒ˜ ์žฅ์น˜์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋ฒ„์˜ ํ˜•ํƒœ๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€