command-tracker๋ ์คํธ๋ฆฌํธํ์ดํฐ๋ผ๋ 1๋1 ๊ฒฉํฌ ๊ฒ์ ์์์์ ํ๋ ์ด์ด์ ์ปค๋งจ๋ ์ ๋ ฅ์ ์๋ ์ถ์ถํด ์ฃผ๋ ์๋น์ค์ ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ปค๋งจ๋๊ฐ ์์์ ํฌํจ๋์ง ์์ ๊ฒฝ์ฐ, ๋ นํ๋ ์์์ ๋ณด๋ฉฐ ์๋์ผ๋ก ์ ๋ ฅ์ ์ถ์ ํด์ผ ํ๋ฉฐ, ์ด๋ ์ด๋ณด์์๊ฒ ๋์ ์ง์ ์ฅ๋ฒฝ์ด ๋ฉ๋๋ค.
์ด ์๋น์ค๋ RTMPose ๊ธฐ๋ฐ์ ๊ด์ ์ถ์ถ ๋ชจ๋ธ๊ณผ ํ์ฒ๋ฆฌ ๋ก์ง์ ํ์ฉํ์ฌ, ํ๋ ์ด์ด์ ๋์์ ๋ถ์ํ๊ณ ์ด๋ฅผ ์ปค๋งจ๋๋ก ๋ณํ, ์ต์ข ์ ์ผ๋ก ์๋ง ํํ๋ก ์์์ ์ฝ์ ํด ์ค๋๋ค. ์ด๋ก์จ ์ด๋ณด์๋ค๋ ์ํ๋ ์บ๋ฆญํฐ์ ์ปค๋งจ๋๋ฅผ ์์ฝ๊ฒ ํ์ธํด ๋ณผ ์ ์์ต๋๋ค.
RTM-Pose๋ ์ฌ๋์ ๊ด์ ์์น๋ฅผ ์ถ์ ํด์ฃผ๋ ์ต์ ์ธ์ฒด ํฌ์ฆ ์ถ์ AI ๋ชจ๋ธ์ ๋๋ค.
- ์ฌ์ฉ์๊ฐ ๋ถ์ํ ์ ํ๋ธ ์์ ์ฃผ์๋ฅผ ์ ๋ ฅํ๊ณ ์ปค๋งจ๋๋ฅผ ์ถ์ถํ ๋ถ๋ถ์ ์ปท ํธ์งํ ์ ์๋ ์น UI ์ ๊ณตํฉ๋๋ค.
- ์ฌ์ฉ์๊ฐ ์์์ ์ ์ถํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ์ด๋ฉ์ผ์ ์ ๋ ฅํ๋ ์ธํฐํ์ด์ค ์ ๊ณตํฉ๋๋ค.
- ์ฃผ์ ๊ธฐ๋ฅ
- ์ ํ๋ธ ์์ ๋งํฌ ์ ๋ ฅ UI
- ์ด๋ฉ์ผ ์ ๋ ฅ ๋ฐ ์ ์ถ
- ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ์ ์ ์ฅํ๊ณ , ์์ ์์ฒญ์ RabbitMQ๋ก ๋ฐ์กํ๊ฑฐ๋ ๊ฒฐ๊ณผ๋ฅผ ์์ ํ์ฌ ์ด๋ฉ์ผ๋ก ์ต์ข ์์์ ์ ์กํ๋ Express API ์๋ฒ์ ๋๋ค.
- ํด๋ผ์ด์ธํธ์ AI ์๋ฒ๋ฅผ ์ง์ ์ฐ๊ฒฐํ์ง ์๊ณ , ์ญํ ์ ๋ถ๋ดํ์ฌ ์ ์ง๋ณด์์ฑ๊ณผ ์์ ์ฑ์ ์ฆ๊ฐ. ์ด๋ฅผ ์ํ ์ค๊ณ ์๋ฒ ์ญํ ์ ํฉ๋๋ค.
- ์ฃผ์ ๊ธฐ๋ฅ
- Youtube ์์ ๋ค์ด๋ก๋ ์ฒ๋ฆฌ
- AI ์๋ฒ๋ก ์์ ์์ฒญ ๋ฉ์์ง๋ฅผ RabbitMQ์ ๋ฐํ
- ์ถ์ถ ์๋ฃ๋ ์ต์ข ์์์ URL์ ๋ฐ์ ์ด๋ฉ์ผ๋ก ์ ์ก
- RabbitMQ๋ก๋ถํฐ ์์ ํ ์์ ์์ฒญ์ ๊ธฐ๋ฐ์ผ๋ก, RTM-pose๋ก ๊ด์ ์ถ์ถ ๋ฐ ์ปค๋งจ๋ ์ธ์์ ์ํํ๋ Python ์๋ฒ์ ๋๋ค.
- ๊ณ ์ฑ๋ฅ ๋ชจ๋ธ์ ์คํํ๊ณ ๋น๋๊ธฐ ํ ๊ธฐ๋ฐ์ผ๋ก ๋ ๋ฆฝ๋ ์ฐ์ฐ ์๋ฒ๊ฐ ํ์ํ์ฌ ๋ณ๋๋ก ๋ถ๋ฆฌ๋ ์๋ฒ์ ๋๋ค.
- ์ฃผ์ ๊ธฐ๋ฅ
- RTM-pose๋ก ๊ด์ ์์น ์ถ์
- ๊ด์ ์์น ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ปค๋งจ๋ ์ถ์
- ์ถ์ ๊ฒฐ๊ณผ๋ฅผ ์๋ง์ ๋ด์ ์ต์ข ์์ URL์ ๋ฉ์์ง ํ๋ก ์ ์ก
์์ ์ ๊ด์ ์ถ์ ์ ํ๋ ์์ ์ ๊ต์ฅํ ์ค๋ ๊ฑธ๋ฆฌ๋ ์์ ์ ๋๋ค. ์น ์์ฒญ์ผ๋ก ์ฒ๋ฆฌํ ๋ ์์ฒญ๊ณผ ์๋ต์ด ๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ ๋ฟ๋ง ์๋๋ผ ์์ธก ์๋ฒ ๋ชจ๋ ์์ ์ฑ์ ์ ์ํฅ์ ๋ผ์น ์ ์์ต๋๋ค. ์์ ๋ถ์ ์์ ์ ๋ถ๋ฆฌํจ์ผ๋ก์จ, ์๋ฒ์ ์์ ์ฑ์ ํ๋ณดํ์ต๋๋ค.
AI ์๋ฒ๋ ๋จ์ํ ํ๋ฅผ ์๋นํ๊ณ , ๊ฒฐ๊ณผ๋ฌผ์ ์๋ต๋ง ํ๋ฉด ๋๊ธฐ ๋๋ฌธ์, ์น ํ๋ ์์ํฌ ์์ด ๋์ํ ์ ์์ต๋๋ค. ์ด์ ๋ฐ๋ผ AI ์๋ฒ๊ฐ ๊ฐ๋ฒผ์์ง๊ณ ๋ผ์ฐํ ์ฒ๋ฆฌ, HTTP ์ฒ๋ฆฌ ๋ฑ์ ํ์ง ์๊ณ ์์ ๋ถ์ ๊ฐ์ ์ฃผ ๋ก์ง์๋ง ์ง์คํ ์ ์์ต๋๋ค.
์ฌ์ฉ์๊ฐ ์
๋ ฅํ ์ ํ๋ธ ๋งํฌ์์ ์ํ๋ ๊ตฌ๊ฐ๋ง ์๋ผ ์ปค๋งจ๋ ์ถ์ ์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด ํ์ํ์ต๋๋ค. ์ ํ๋ธ ์์์ ๊ธธ์ด๋ ๋ค์ํ๊ณ , ์ ์ฒด ์์์ ์ฒ๋ฆฌํ๊ธฐ์๋ ์์ ๋ญ๋น๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ ์ปท ํธ์ง์ ํ์์์ต๋๋ค. ์ฒ์์๋ ffmpeg
๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ธ ์คํธ๋ฆผ์ ๊ทธ๋๋ก pipe ์ฒ๋ฆฌํ์๊ณ , ์ถ๋ ฅ ํ์ฅ์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ง์ด ์ฌ์ฉํ๋ .mp4
๋ฅผ ์ ํํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ฐฉ์์์๋ ์์์ด ์ ์ฅ๋์ง ์๊ฑฐ๋, ์ ์ฅ๋๋๋ผ๋ ์์์ด ๊นจ์ง๊ฑฐ๋ ๋์ฝ๋ฉ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๋ฌธ์ ๊ฐ ๋ฐ๋ณต๋์์ต๋๋ค.
์ด๊ธฐ์๋ ์คํธ๋ฆผ ์ฒ๋ฆฌ ๋ฐฉ์ ์์ฒด์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ํ๋จํ์ฌ, ์์ ๋๋ ํฐ๋ฆฌ์ ํ์ผ๋ก ์ ์ฅํ ํ ํธ์ง์ ์ํํด ๋ณด์์ต๋๋ค. ์ด ๋ฐฉ์์ ์์ ์ ์ผ๋ก ๋์ํ์ง๋ง, ์ฌ์ฉ์ ์์ฒญ๋ง๋ค ์๋ฒ์ ์์ ํ์ผ์ด ๋จ๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ์ด์ ๋ฌธ์ ์ ๊ทผ๋ณธ ์์ธ์ ์ฐพ๊ธฐ ์ํด ํ์ฅ์๋ฅผ ์กฐ์ฌํ์๊ณ , ์คํธ๋ฆฌ๋ฐ ํ๊ฒฝ์ ์ ํฉํ ํฌ๋งท์ธ .webm
์ ์กด์ฌ๋ฅผ ํ์ธํ์ต๋๋ค. ์คํ ๊ฒฐ๊ณผ .webm
ํ์ฅ์๋ฅผ ์ฌ์ฉํ ๋ pipe ์คํธ๋ฆฌ๋ฐ ๋ฐฉ์์์๋ ์์์ด ์์ ์ ์ผ๋ก ์ ์ฅ๋๊ณ ํธ์ง๋๋ ๊ฒ์ ํ์ธํ์๊ณ , ์ด๋ฅผ ์ต์ข
๊ตฌ์กฐ๋ก ์ฑํํ์์ต๋๋ค.
ํ์ฌ๋ Node.js ์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ์์ ์ ๊ณผ ์ข
๋ฃ ์ ์ ๊ธฐ๋ฐ์ผ๋ก ffmpeg
๋ช
๋ น์ด๋ฅผ ์คํํ๊ณ , .webm
ํฌ๋งท์ผ๋ก ์ถ๋ ฅ๋ ํธ์ง ์์ ํ์ผ์ Google Cloud Storage ๋ฒํท์ ์
๋ก๋ํ๊ณ ์์ต๋๋ค.
๊ฐ์ ํด์ผ ํ ์ ์ ์์ ํธ์ง์ ๋ํ ๋ฌธ์ ์ ๋๋ค. ํ์ฌ ์ปท ํธ์ง์๋ง ์์ญ ์ด๊ฐ ์์๋๋ฉฐ, ์ด์ ๋ฐ๋ผ ์ฌ์ฉ์์๊ฒ ์๋ต์ด ๋ฆ์ด์ง๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด์๋ ํด์๋๋ฅผ ๋ฎ์ถฐ์ผ ํ์ง๋ง, ํด์๋๋ฅผ ๋ฎ์ถ๋ ๊ฑด ์ฌ์ฉ์ ์ธก๋ฉด๊ณผ AI ์์ ๋ถ์ ์ฑ๋ฅ์ ์ ์ํฅ์ ๋ผ์น๊ธฐ ๋๋ฌธ์, ๋ค์๊ณผ ๊ฐ์ด ํด๊ฒฐํ ๊ณํ์ ๋๋ค. ์์ฒญ๊ณผ ๋์์ ์ฑ๊ณต ์๋ต์ ๋จผ์ ๋ฐํํ๊ณ , ์ดํ ๋ด๋ถ์ ์ผ๋ก ์ปท ํธ์ง๊ณผ ๋ถ์์ ์งํํ์ฌ UI์ ์ผ๋ก ํด๊ฒฐํ ์์ ์ ๋๋ค.
๊ฒ์ ์ ์บ๋ฆญํฐ์ ์ปค๋งจ๋๋ฅผ ์ถ์ ํ๊ธฐ ์ํด์๋, ๋จผ์ ํด๋น ์บ๋ฆญํฐ๊ฐ ์ด๋ค ์์ธ๋ฅผ ์ทจํ๊ณ ์๋์ง๋ฅผ AI๊ฐ ์ธ์ํ ์ ์์ด์ผ ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ AI ๋ชจ๋ธ์ ํ์ฉํ๊ธฐ ์ํด์๋, ํด๋น ๊ฐ์ฒด๊ฐ ์ฌ๋์ด๋ผ๋ ์ ์ ํ์ ๊ด์ ์ ์ถ์ ํ ์ ์์ด์ผ ํ์ต๋๋ค. ์ฆ, ๋ถ์ ๊ณผ์ ์ ๊ฐ์ฒด ์๋ณ โ ๊ด์ ์ถ์ โ ์ปค๋งจ๋ ๋ถ๋ฅ์ ํ๋ฆ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
ํ์ง๋ง ๋์์ด ์ค์ ์ธ๋ฌผ์ด ์๋ ๊ฒ์ ์บ๋ฆญํฐ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ฌ๋์ผ๋ก๋ ๋ถ๊ฐ๋ฅํ ๊ณผ์ฅ๋ ๋์์ ์ทจํ๊ฑฐ๋, ์ธํ ์์ฒด๊ฐ ์ผ๋ฐ์ ์ธ ์ฌ๋๊ณผ๋ ๋ฌ๋ผ์ ๊ด์ ์ถ์ ์ ํ๋๊ฐ ๋ฎ์์ง๋ ๊ฒฝ์ฐ๊ฐ ๋น๋ฒํ์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ด๊ธฐ์ ํ์๊ณผ ํจ๊ป ์ง์ ๋ผ๋ฒจ๋ง ๋ฐ ํ์ต์ ์ํํ๊ณ , ์ฝ 3,000์ฅ์ ํ์ต ๋ฐ์ดํฐ๋ฅผ ์์งํด ํ๋์ ์บ๋ฆญํฐ์ ๋ํด ๊ฐ์ฒด ์๋ณ์ด ๊ฐ๋ฅํ๋๋ก ํ์ต์์ผฐ์ต๋๋ค. ์ด ๋ฐฉ์์ ์ธํ์ด ๊ณ ์ ๋ ์ํ์์๋ ๋์ ์ ํ๋๋ฅผ ๋ณด์์ง๋ง, ์คํจ ๋ณ๊ฒฝ์ด๋ ๋ค๋ฅธ ์บ๋ฆญํฐ์ ๋ํด์๋ ์ธ์๋ฅ ์ด ์ ํ๋์๊ณ , ์ ์ฒด ๊ฒ์ ๋ค์์ฑ์ ๊ณ ๋ คํ ๋ ํ์ฅ์ฑ์ ํฐ ์ ์ฝ์ด ์์์ต๋๋ค.
๊ฒฐ๊ตญ ๋ฒ์ฉ์ฑ๊ณผ ์ ์ง๋ณด์๋ฅผ ๊ณ ๋ คํด, ์บ๋ฆญํฐ๋ฅผ ์ข์ธก/์ฐ์ธก์ผ๋ก ๋จ์ํ ๊ตฌ๋ถํ๋ ๊ตฌ์กฐ๋ก ์ ํํ์์ต๋๋ค. ๊ฒ์์ด 1:1 ๊ตฌ์กฐ์ด๊ธฐ ๋๋ฌธ์, ์ฌ์ฉ์๊ฐ ๋ถ์ ์์ฒญ ์ ์ข์ธก ์บ๋ฆญํฐ์ธ์ง, ์ฐ์ธก ์บ๋ฆญํฐ์ธ์ง ์ ํํ๋ฉด ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์ AI ๋ถ์์ด ์งํ๋ฉ๋๋ค.
๊ด์ ์ถ์ ์๋ RTMPose
๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ํด๋น ๋ชจ๋ธ์ ํ๋ ์ ๋จ์๋ก 2D ๊ด์ ์ขํ(x, y)๋ฅผ ์ถ๋ ฅํ๋ฉฐ, ์ถ์ถ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ํน์ ์ปค๋งจ๋๋ฅผ ํ๋จํ๋ ํ์ฒ๋ฆฌ ๋ก์ง์ ๊ตฌํํ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ํ์ ๋ป๋ ๋์์ ์ด๊นจโํ๊ฟ์นโ์๋ชฉ์ ๊ฐ๋๋ฅผ ๊ณ์ฐํ๊ณ , ํด๋น ๊ฐ๋๊ฐ ์ผ์ ๋ฒ์์ ๋ค์ด์ค๋ฉด ์กฐ๊ฑด๋ฌธ ๊ธฐ๋ฐ ๋ถ๊ธฐ ์ฒ๋ฆฌ๋ก ์ปค๋งจ๋๋ฅผ ํ๋ณํ๋ ๊ตฌ์กฐ์ ๋๋ค.
๋ค๋ง ๊ฐ์ ์ด ํ์ํ ๋ถ๋ถ๋ ์กด์ฌํฉ๋๋ค. ํ์ฌ๋ ์ข์ธก/์ฐ์ธก ์บ๋ฆญํฐ๋ฅผ ์ฌ์ฉ์๊ฐ ์๋์ผ๋ก ์ ํํด์ผ ํ๋ฉฐ, ํ๋ ์ด ๋์ค ์บ๋ฆญํฐ์ ์์น๊ฐ ๋ฐ๋ ๋๋ ๋์์ด ์ด๋ ต์ต๋๋ค. ๊ธฐ์ ์ ์ผ๋ก๋ ํ๋ ์ ๋จ์๋ก ์บ๋ฆญํฐ์ ์์น ๋ณํ๋ฅผ ์ถ์ ํ๊ฑฐ๋, ์ด์ ์ฒ๋ผ ๊ฐ์ฒด ๋ผ๋ฒจ๋ง์ ํตํ ID ๋งค์นญ ๋ก์ง์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์์ต๋๋ค. ํ์ง๋ง, ์ด ๋ฐฉ์์ ๊ฐ๋ฐ ์์์ด ํฌ๊ณ , ์ฒ๋ฆฌ ์๊ฐ๊ณผ ์ ํ๋๊ฐ ๋์ง ์๋ค๋ ์ ์์ ๋ชจ๋ ์ํ์ด ํฌ๊ธฐ ๋๋ฌธ์ ์ค์ ์๋น์ค์ ์ ์ฉํ๊ธฐ์๋ ๋ถ๋ด์ด ํฌ๋ค๊ณ ํ๋จ ํ์ต๋๋ค. ๋ฐ๋ผ์ ํ์ฌ๋ UI์์ ์ฌ์ฉ์๊ฐ ๋ช ํํ๊ฒ ์ข/์ฐ๋ฅผ ์ ํํ๋๋ก ํ๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์์ต๋๋ค.
๋ํ ์ปค๋งจ๋ ํ๋ณ์ ๊ฐ๋ ๊ธฐ๋ฐ ์กฐ๊ฑด๋ฌธ ๊ธฐ๋ฐ์ผ๋ก ์ฒ๋ฆฌ๋๋ฉฐ, ์บ๋ฆญํฐ๋ง๋ค 30๊ฐ ์ด์์ ๋์์ ์ง์ ์ ์ํด์ผ ํ๋ ๊ตฌ์กฐ์ ๋๋ค. ์ด ์์ญ์ ์๋ํํ๊ฑฐ๋ ํ ํ๋ฆฟํํ๊ธฐ ์ด๋ ค์ด ํน์ฑ์, ์บ๋ฆญํฐ๊ฐ ์ถ๊ฐ๋๊ฑฐ๋ ๋์์ด ๋ฐ๋ ๋๋ง๋ค ์ง์ ์ปค๋งจ๋ ๋ถ๊ธฐ ๋ก์ง์ ์ถ๊ฐํด ์ค์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ง๋ณด์ ๋น์ฉ์ ๊ณ์ ๋ฐ์ํ์ง๋ง, ๊ทธ๋งํผ ์ปค๋งจ๋ ๋์์ ํ๋ณ ๊ธฐ์ค์ ์ ๋ฐํ๊ฒ ์กฐ์ ํ ์ ์๋ ์ ์ฐ์ฑ๋ ํจ๊ป ํ๋ณดํ ์ ์์ต๋๋ค.
RTM-Pose๋ ์ฌ๋์ ๊ด์ ์์น๋ฅผ ์ถ์ ํด์ฃผ๋ ์ต์ ์ธ์ฒด ํฌ์ฆ ์ถ์ AI ๋ชจ๋ธ์ ๋๋ค.
์ปค๋งจ๋ ์ถ์ ์ด ์๋ฃ๋๋ฉด, ์บ๋ฆญํฐ์ ๋์๊ณผ ํจ๊ป ํด๋น ์ปค๋งจ๋๋ฅผ ์ฌ์ฉ์๋ ํ์ธํ ์ ์๋๋ก ์๋ง์ ์์ฑํ๊ณ , ์ด๋ฅผ ์์์ ์ฝ์ ํ๋ ๊ณผ์ ์ ๊ฑฐ์นฉ๋๋ค. ์ด๋ ์๋ง์ ํน์ ์๊ฐ ๊ตฌ๊ฐ์๋ง ํ์๋๋ ๋ฐฉ์์ด ์๋๋ผ, ์คํํ ์๋ง ๋ฐฉ์์ผ๋ก ๊ตฌํํ์ฌ ์ด์ ์๋ง ์์ ์๋ก์ด ์ปค๋งจ๋๊ฐ ๋์ ๋์ด ์์ด๋ ํํ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ 1:1 ๊ฒฉํฌ ๊ฒ์์ ์ฐ์ต ๋ชจ๋์์ ํํ ์ฌ์ฉ๋๋ ์ ๋ ฅ ์ปค๋งจ๋ ํ๊ธฐ ํํ๋ฅผ ๊ทธ๋๋ก ๋น๋ฆฐ ๊ฒ์ผ๋ก, ์ฌ์ฉ์์๊ฒ ์ต์ํ ํํ๋ก ์ปค๋งจ๋๋ฅผ ๋ณด์ฌ์ค ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
์๋ง ํฌ๋งท์ .ass
๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. ํํ ์ฌ์ฉ๋๋ .srt
์ ๋ฌ๋ฆฌ .ass
๋ ์ ๋ฐํ ์๋ง ์์น ์ ์ด ๋ฐ ์คํ์ผ๋ง์ด ๊ฐ๋ฅํ๋ฏ๋ก, ์คํํ ์๋ง์ฒ๋ผ ๋ณต์กํ ์๋ง ๊ตฌ์ฑ์ ์ ํฉํ๋ค๊ณ ํ๋จํ์ต๋๋ค. ์ต์ข
์ ์ผ๋ก๋ ffmpeg๋ฅผ ์ฌ์ฉํ์ฌ ์๋ง์ด ์ฝ์
๋ ์์์ ๋ ๋๋งํ๊ณ , ์์ฑ๋ ์์์ Google Cloud Storage ๋ฒํท์ ์
๋ก๋๋ฉ๋๋ค. ์ดํ ์ฌ์ฉ์์๊ฒ๋ signed URL์ ๋ฐ๊ธํ์ฌ, 24์๊ฐ ๋์ ์์ ๊ฒฐ๊ณผ๋ฌผ์ ํ์ธํ ์ ์๋๋ก ๊ตฌํํ์์ต๋๋ค.
ํ์ฌ ๊ตฌํ๋ ์คํํ ์๋ง ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์์๊ฒ ์ต์ํ ํํ๋ก ๋ณด์ฌ์ค ์ ์๋ค๊ณ ์๊ฐํ์ผ๋, ์ค์ ๋ก ํ์ธํด ๋ณธ ๊ฒฐ๊ณผ, ์ค์ ๊ฒ์ ๋ด ์ปค๋งจ๋ ์ ๋ ฅ UI์์ ์ฐจ์ด๋ก ์คํ๋ ค ๋ถํธํ๊ฒ ๋๊ปด์ง ์ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค. ์๋ง์ด ๋จ์ ํ ์คํธ ํํ๋ก ๋์ ๋์ด ์์ด๊ธฐ ๋๋ฌธ์ ๋ชฐ์ ๊ฐ์ด ๋จ์ด์ง๊ณ , ์ปค๋งจ๋ ํ๋ฆ๋ ๊น๋ํ๊ฒ ์ ๋ฌ๋์ง ์๋ ํ๊ณ๊ฐ ์์์ต๋๋ค. ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ์ผ๋ฐ์ ์ธ ์๋ง์ฒ๋ผ ํ์ ๊ตฌ๊ฐ์ ์ง์ ํ๊ณ , ํน์ ์๊ฐ ๋ฒ์์๋ง ์๋ง์ด ๋ฑ์ฅํ๊ณ ์ฌ๋ผ์ง๋ ๊ตฌ๊ฐํ ์๋ง ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝํ ๊ณํ์ ๋๋ค. ์ด๋ฅผ ํตํด ์๋ง์ด ์์ฐ์ค๋ฝ๊ฒ ๋ํ๋๋ฉฐ, ์ฌ์ฉ์ ๊ฒฝํ๋ ๋ณด๋ค ํฅ์๋ ๊ฒ์ผ๋ก ๊ธฐ๋ํ๊ณ ์์ต๋๋ค.
-
๊น ๋ธ๋์น ์ ๋ต
Github Flow ์ ๋ต์ ์ฑํํ์ต๋๋ค. Git Flow๋ develop, release, hotfix ๋ฑ ๋ธ๋์น๊ฐ ๋ง์์ ๊ด๋ฆฌ๊ฐ ๋ณต์กํ๊ณ ์์ ํ์์๋ ์คํ๋ ค ๋นํจ์จ์ ์ด๋ผ ์๊ฐํ์ต๋๋ค. ๋ฐ๋ฉด Github Flow๋ main ๋ธ๋์น๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ณํฉํ๊ธฐ ๋๋ฌธ์ ๋น ๋ฅธ ๊ฐ๋ฐ ์ฌ์ดํด์ ๊ฐ์ ธ๊ฐ ์ ์์ด ๊ฐ๋ฐ ๊ธฐ๊ฐ์ ํ๋ณดํ ์ ์๋ค๊ณ ์๊ฐํ์ฌ ์ ํฉํ๋ค๊ณ ํ๋จํ์ต๋๋ค.
-
PR ๊ท์น
PR ์์ฑ ์ ์ด์ ๋ฒํธ๋ฅผ ๋ฐ๋์ ํฌํจํ๊ณ ํ ํ๋ฆฟ์ ์ง์ผ ์์ฑํ์์ต๋๋ค. ๋ด์ฉ์๋ ๋ณ๊ฒฝ๋ ๋ด์ฉ๊ณผ ์ฝ๋ ๋ฆฌ๋ทฐ์ด๊ฐ ํ์ธํด์ผ ํ ๋ถ๋ถ์ ๊ฐ๋จํ ๋ช ์ํ์์ต๋๋ค. ๋ํ ํ์์ ์น์ธ์ด ๋ฐ๋์ ์์ด์ผ ๋ณํฉํ ์ ์๋๋ก ํ์ฌ ์ค์๋ก ์ธํ ๋ณํฉ์ ์๋ฐฉํ์์ต๋๋ค.
-
ํ์ ์ ์ ๊ฒฝ ์ผ๋ ๋ถ๋ถ
์ ๊ฐ ์๊ฐํ๋ ํ์ ์์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๊ด๊ณ๋ฅผ ์๋งํ๊ฒ ์ ์งํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ์ํด ๋ํํ ๋๋ ๊ฐ์ ์ ์ต๋ํ ๋ฐฐ์ ํ๋ ค๊ณ ํ๊ณ , ์ ๋ ๋ชจ๋ฅด๊ฒ ๊ฐ์ ์ด ์์ธ ๋งํฌ๊ฐ ๋์์ ๋๋ ๊ณง๋ฐ๋ก ์ฌ๊ณผ๋๋ ธ์ต๋๋ค. ์ฝ๋์์๋ ๋ณ์๋ช ์ด ๋ค์ ๊ธธ์ด์ง๋๋ผ๋ ํ์์ด ์ฝ๊ฒ ์ดํดํ ์ ์๋๋ก ๋ช ํํ๊ฒ ์์ฑํ๋ ค๊ณ ํ๊ณ , ์์ ์ด ํ์ํ ๊ฒฝ์ฐ์๋ ๋จผ์ ํ์์๊ฒ ๊ณต์ ํ๊ณ , ํ์ธ์ ๋ฐ์ ํ ์งํํ์ต๋๋ค. ์ค๋ช ์ด ํ์ํ ๊ฒฝ์ฐ์๋ ๊ด๋ จ ๋งํฌ๋ ์คํฌ๋ฆฐ์ท ๊ฐ์ ์ฐธ๊ณ ์๋ฃ๋ฅผ ํจ๊ป ๊ณต์ ํ์ฌ ์ํต์ด ๋ถํ์ํ๊ฒ ๊ธธ์ด์ง๋ ๊ฒ์ ๋ฐฉ์งํ์ต๋๋ค.
์งํ ๊ธฐ๊ฐ : 5์ฃผ
ํ์ : ์ฐจ์ค์ฐ, ์กฐ์ฑ๊ฒฝ (์ด 2๋ช )
- 1์ฃผ์ฐจ
- ์์ด๋์ด ์ ์
- POC ์งํ - ์บ๋ฆญํฐ์ ์ปค๋งจ๋๋ฅผ ์ถ์ ํ๊ธฐ ์ํ ๊ด์ ๋ฐ์ดํฐ ์ถ์ถ ์ฑ๋ฅ ํ์ธ
- 2์ฃผ์ฐจ
- POC ์งํ - ์บ๋ฆญํฐ์ ์ปค๋งจ๋๋ฅผ ์ถ์ ํ๊ธฐ ์ํ ๊ด์ ๋ฐ์ดํฐ ์ถ์ถ ์ฑ๋ฅ ํ์ธ
- ์นธ๋ฐ ์์ฑ
- ๊ธฐ์ ์คํ ์กฐ์ฌ
- 3์ฃผ์ฐจ
- ํ๋ก์ ํธ ํ๊ฒฝ ์ธํ
- ๊ณตํต ์ปดํฌ๋ํธ ๊ตฌํ
- ์์ ํธ์ง ๊ตฌํ
- ์์ ์ ๋ก๋ ๊ตฌํ
- ๊ฒฐ๊ณผ๋ฌผ ํ์ธ ๋งํฌ ๋ฉ์ผ ์ ์ก ๊ตฌํ
- 4์ฃผ์ฐจ
- ์์ ๋ถ์ํ์ฌ ๊ด์ ๋ฐ์ดํฐ ์ถ์ถ ๊ตฌํ
- Re-ID ์ฑ๋ฅ ํ ์คํธ
- ๋์ ํ์ต ๋ฐ์ดํฐ ์์ง ๋ฐ AI ๊ธฐ๋ฐ ์ปค๋งจ๋ ์ถ์ถ ํ ์คํธ
- ๊ด์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์ปค๋งจ๋ ์ถ์ถ ๊ตฌํ
- 5์ฃผ์ฐจ
- ๋ฐฐํฌ
์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํตํด ๋จ์ํ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ฒ์ ๋์ด, ์ค์ ์ฌ์ฉ์๊ฐ ์ด๋ค ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์๋์ง๋ฅผ ์ ์ํ๊ณ , ๊ทธ์ ๋ง๋ ํด๊ฒฐ์ฑ ์ ์ค๊ณํ๋ ๊ฒ์ด ์ผ๋ง๋ ์ค์ํ์ง ์ฒด๊ฐํ์ต๋๋ค. ๋จ์ํ ๋์ํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ์ ๊ทธ์น์ง ์๊ณ , ๊ฒฐ๊ณผ๋ฌผ์ด ์ฌ์ฉ์์๊ฒ ์ด๋ค ๊ฒฝํ์ ์ค ๊ฒ์ธ์ง๊น์ง ๊ณ ๋ฏผํ๊ฒ ๋ ๊ณ๊ธฐ์์ต๋๋ค.
์ปค๋งจ๋ ์ถ์ ์ ์ํด AI ๊ธฐ๋ฐ ๊ด์ ์ถ์ ๊ธฐ๋ฅ์ ๋์ ํ์ ๋, ์ฒ์์๋ ๋ผ๋ฒจ๋ง์ ํตํด ์บ๋ฆญํฐ๋ฅผ ์ง์ ํ์ต์ํค๋ ๋ฐฉ์์ ์๋ํ์ต๋๋ค. ํ์ง๋ง ์บ๋ฆญํฐ๊ฐ ๋ฐ๋ ๋๋ง๋ค ๋ผ๋ฒจ๋ง๊ณผ ํ์ต์ ๋ฐ๋ณตํด์ผ ํ๊ณ , ์ด์ ๋ฐ๋ผ ํ์ฅ์ฑ๊ณผ ์ ์ง๋ณด์์ ํฐ ํ๊ณ๊ฐ ์์์ต๋๋ค. ์ด์ ์บ๋ฆญํฐ๋ฅผ ์ข์ธก/์ฐ์ธก์ผ๋ก ๊ตฌ๋ถํ๋ ๊ตฌ์กฐ๋ก ์ ํํ๋ฉด์, ๊ธฐ์ ์ ์ธ ์ ๋ต๋ง์ด ์๋ ํ์ค์ ์ธ ์ํฉ์ ๋ง์ถ ๊ตฌ์กฐ์ ๋ณ๊ฒฝ์ด ๋ ํจ์จ์ ์ผ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ์ด ๊ฒฝํ์ ํตํด ์ด์๊ณผ ํ์ฅ์ฑ๊น์ง ๊ณ ๋ คํ ๋ฌธ์ ํด๊ฒฐ ๊ด์ ์ ๋ํ ์ ์์์ต๋๋ค.
์์ฌ์ ๋ ์ ์, AI๋ฅผ ์ด์ฉํ ์ปค๋งจ๋ ์ถ์ ์ ์ ํ๋์ ๋ํ ํ์ ์ด ๋ถ์กฑํ์ฌ POC ๋จ๊ณ์ ๋๋ฌด ๋ง์ ์๊ฐ์ ์๋ชจํ๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ์ค๊ณ๊ฐ ๋ฆ์ด์ก๊ณ , ๊ฐ๋ฐ ๊ธฐ๊ฐ์ด ์งง์์ง๋ฉด์ ์ฝ๋ ์ ๋ฆฌ๋ UX ์ ์ธ ์ธ๋ถ ์ฌํญ์ ์ถฉ๋ถํ ๋ค๋ฌ์ง ๋ชปํ ๋ถ๋ถ์ด ์์์ต๋๋ค.
๋ณด์ํ ์ ์ผ๋ก๋ ์ปค๋งจ๋ ์กฐ๊ฑด์ ๋์ฑ ์ ๊ตํ๊ฒ ์ ์ํ์ฌ ์ ํ๋๋ฅผ ๋์ด๋ ์์ ๊ณผ, ํ์ฌ ๋ค์ ์ด์ํ ์คํํ ์๋ง UI๋ฅผ ๊ตฌ๊ฐํ ์๋ง ๋ฐฉ์์ผ๋ก ๊ฐ์ ํ๋ ์์ ์ด ์์ต๋๋ค. ๋ํ ์์ ํธ์ง์ด ์๋ฃ๋ ๋๊น์ง ์ฌ์ฉ์๊ฐ ๊ธฐ๋ค๋ ค์ผ ํ๋ ๊ตฌ์กฐ๋, ์์ฒญ ํ ๋ด๋ถ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ณ ์๋ฃ๋๋ฉด ๊ฒฐ๊ณผ๋ง ์ ๋ฌํ๋ ๋ฐฉ์์ผ๋ก ์ ํํด UX๋ฅผ ๊ฐ์ ํ ํ์๊ฐ ์์ต๋๋ค.