์–ธ๋ ˆ์ด๋“œ ํ™ˆ์„œ๋ฒ„ ๊ตฌ์ถ• ๊ฐ€์ด๋“œ Part.5 #์ถ”์ฒœ ์„œ๋น„์Šค ๋ฐ ์„ค์น˜
๐ŸฅผOther Projects/๐Ÿ Home Server

์–ธ๋ ˆ์ด๋“œ ํ™ˆ์„œ๋ฒ„ ๊ตฌ์ถ• ๊ฐ€์ด๋“œ Part.5 #์ถ”์ฒœ ์„œ๋น„์Šค ๋ฐ ์„ค์น˜

์„œ๋ก 

์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๋“ค์„ ์˜ฌ๋ ค๋ณด๊ฒ ๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€ ์™”์œผ๋ฉด ์ด๋ฏธ ๊ธฐ์ดˆ๋Š” ๋๋‚œ ์…ˆ์ด๋‹ˆ ๋ณธ์ธ์ด ํ•„์š”ํ•œ ์„œ๋น„์Šค, ์›ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ๋œ๋‹ค.

์ด ๊ธ€๋ถ€ํ„ฐ๋Š” ์˜ต์…˜์ด๋‹ค.

๋ณด๋‹ค ๋‹ค์–‘ํ•œ ์ปจํ…Œ์ด๋„ˆ์˜ ์„ค์น˜/์„ค์ •๋ฒ•์€ ๋ณ„๋„์˜ ๊ธ€๋กœ ์ž‘์„ฑํ• ํ…Œ๋‹ˆ ์ปจํ…Œ์ด๋„ˆ ์„ค์น˜๋ฒ•์˜ ๋ณต์Šต์ด๋ผ๊ณ  ๋ณด๋ฉด ๋˜๊ฒ ๋‹ค.

 

ํ•„์ž๋Š” ์ด ๊ธ€์—์„œ ๋‘๊ฐ€์ง€ ์„œ๋น„์Šค๋ฅผ ์†Œ๊ฐœํ•œ๋‹ค.

1. code-server

์˜จ๋ผ์ธ์—์„œ vscode๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํŽธ์ง‘๋ถ€ํ„ฐ ์‹ค์ œ๋กœ ๋””๋ฒ„๊น…, ์‹คํ–‰๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

2. jellyfin

๋ฏธ๋””์–ด์„œ๋ฒ„๋กœ ๋‚˜๋งŒ์˜ ๋„ทํ”Œ๋ฆญ์Šค๋ฅผ ๋งŒ๋“ ๋‹ค๊ณ  ๋ณด๋ฉด๋œ๋‹ค.

 

์ด์ œ ์•„๋ž˜ ๊ธ€์„ ๋”ฐ๋ผํ•˜๋ฉด์„œ ์„œ๋น„์Šค๋ฅผ ์˜ฌ๋ ค๋ณด์ž

 

๋ณธ๋ก 

code-server

์ปจํ…Œ์ด๋„ˆ ์„ค์น˜

๋จผ์ € APPS ํƒญ์—์„œ code-server๋ฅผ ๊ฒ€์ƒ‰ํ•ด linuxserver์˜ ์ด๋ฏธ์ง€๋ฅผ ์„ค์น˜ํ•œ๋‹ค.

 

์„ค์น˜๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ƒ์„ธ ์ •๋ณด๋ฅผ ์„ค์ •ํ•  ์ˆ˜์žˆ๋‹ค.

๋จผ์ € network Type์„ ์ƒˆ๋กœ ๋งŒ๋“  ๋„คํŠธ์›Œํฌ๋กœ ๋ฐ”๊พผ๋‹ค. (ํ•„์ž์˜๊ฒฝ์šฐ customnet)

์›นUI์—์„œ ์‚ฌ์šฉํ•  ํฌํŠธ๋Š” ์ถ”ํ›„ ํ”„๋ก์‹œ์„œ๋ฒ„์—์„œ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์–ตํ•ด๋‘”๋‹ค.

PASSWORD๋Š” vs code์— ์ ‘์†ํ• ๋•Œ ์‚ฌ์šฉํ•  ๋น„๋ฐ€๋ฒˆํ˜ธ ์ด๊ณ 

SUDO_PASSWORD๋Š” vscode์—์„œ ํŒจํ‚ค์ง€ ์„ค์น˜๋“ฑ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ์‚ฌ์šฉํ•˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ์ด๋‹ค. ๋ณ€๊ฒฝํ•˜์ž.

PROXY_DOMAIN๋„ ํ”„๋ก์‹œ ์„œ๋ฒ„์—์„œ ์—ฐ๊ฒฐํ•  ๋„๋ฉ”์ธ์œผ๋กœ ๋ฏธ๋ฆฌ ์„ค์ •ํ•ด์ค€๋‹ค.

ํ•„์ž๋Š” code๋ฅผ ๋ถ™์—ฌ code.newraid.cf๋กœ ์„ค์ •ํ–ˆ๋‹ค.

 

์œ„ ์„ค์ •์„ ๋งˆ์น˜๊ณ  ์‹คํ–‰ํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋ฐ›๊ณ  ์ผœ์ง€๊ณ  ์žˆ๋Š”์ค‘์ผ๊ฒƒ์ด๋‹ค.

์ด๋•Œ ์šฐ๋ฆฌ๋Š” ๋„๋ฉ”์ธ์„ ๋งŒ๋“ค๊ณ  ์—ฐ๊ฒฐํ•˜๋Š” ์ž‘์—…์„ ํ•ด์ฃผ์ž.

 

๋„๋ฉ”์ธ ์ถ”๊ฐ€, ์—ฐ๊ฒฐ

cloudflare์— ์ ‘์†ํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์ด ์ƒˆ๋กœ์šด ๋„๋ฉ”์ธ์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

 

ํด๋ผ์šฐ๋“œ ํ”Œ๋ ˆ์–ด์—์„œ ์ถ”๊ฐ€ํ•œ ๋„๋ฉ”์ธ์„ NPM(Nginx Proxy Manager)์—์„œ ์„œ๋น„์Šค์™€ ์—ฐ๊ฒฐํ•ด์•ผํ•œ๋‹ค.

NPM์— ์ ‘์†ํ•˜์—ฌ ์ด์ „ ๊ฒŒ์‹œ๊ธ€๊ณผ ๊ฐ™์ด ๋‚ด์šฉ์„ ์ฑ„์›Œ์ค€๋‹ค.

์ด๋•Œ ํฌํŠธ๋ฅผ ์œ„์—์„œ ๊ธฐ์–ตํ•ด๋‘” code server์˜ ํฌํŠธ๋กœ ์ž…๋ ฅํ•ด์•ผํ•œ๋‹ค.

SSL์ธ์ฆ์„œ๊นŒ์ง€ ๋ฐœ๊ธ‰๋ฐ›๊ณ  HSTS์„ค์ •์„ ๊ฑธ์–ด๋‘๋ฉด ๋์ด๋‹ค.

 

code.newraid.cf๋กœ ์ ‘๊ทผํ•˜๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ์ ‘๊ทผ์ด ๋˜๋Š”๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๋‚˜๋ฉด ์ต์ˆ™ํ•œ ๊ทธ vs code UI๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค.

์—ฌ๊ธฐ์„œ ๋ฌด๊ถ๋ฌด์ง„ํ•œ ์ž‘์—…์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๊ธฐ๋ณธ ์ดˆ๊ธฐ์„ค์ •

๋จผ์ € ํ•œ๊ตญ์–ด๊ฐ€ ํŽธํ•œ ๋…์ž๋“ค์€ ํ™•์žฅ ๊ธฐ๋Šฅ์„ ์—ด์–ด ํ•œ๊ตญ์–ด ํ™•์žฅํŒฉ์„ ์„ค์น˜ํ•œ๋‹ค. ์ƒˆ๋กœ๊ณ ์นจ ํ›„์—” ํ•œ๊ตญ์–ด๋กœ ๋‚˜์˜ฌ๊ฒƒ์ด๋‹ค.

์ด์ œ ์–ผ์ถ” ์„ค์น˜๋Š” ๋งˆ๋ฌด๋ฆฌ ๋๋Š”๋ฐ, ๋ง›๋ณด๊ธฐ๋กœ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ์‹คํ–‰์„ ํ•ด๋ณด๊ฒ ๋‹ค.

 

- Python

๋งŒ์•ฝ python์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด vscode๋‚ด ํ„ฐ๋ฏธ๋„์—์„œ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์„ค์น˜ํ•  ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ,

์ด๊ฒฝ์šฐ ํ„ฐ๋ฏธ๋„ ๋‚ด๋ถ€์—์„œ ๋ญ”๊ฐ€ ์„ค์น˜, ์‚ญ์ œ๋ฅผ ํ•˜๋Š”๊ฒฝ์šฐ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์žฌ๋ถ€ํŒ…ํ•˜๋ฉด ์‚ฌ๋ผ์ง€๊ฒŒ๋œ๋‹ค.

๋„๊ณ  ํ‚ฌ๋•Œ๋งˆ๋‹ค ๋‹ค์‹œ ์„ค์น˜ํ•ด์•ผ๋˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ linuxserver์—์„œ ์ œ๊ณตํ•˜๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ๋ชจ๋“œ๋ฅผ ์„ค์ •ํ•ด์ฃผ๋Š”๊ฒƒ์ด ๋” ๋ฐ”๋žŒ์งํ•˜๋‹ค.

 

์•„๋ž˜์™€๊ฐ™์ด ์ปจํ…Œ์ด๋„ˆ ์„ค์ •์—์„œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

์ด๋Ÿฌ๋ฉด ๋„์ปค๊ฐ€ ์ƒˆ๋กœ ์‹คํ–‰๋˜๋ฉด์„œ ํŒŒ์ด์ฌ์„ ์ž๋™์œผ๋กœ ์„ค์น˜ํ•œ๋‹ค.

linuxserver/mods:code-server-python3

 

๋ณด๋‹ค ํŽธํ•˜๊ฒŒ ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ ์œ„ํ•ด ํ™•์žฅ ์„ค์ •์—์„œ ์ฃผํ”ผํ„ฐ๋ฅผ ์„ค์น˜ํ•œ๋‹ค.

 

์ธํ„ฐํ”„๋ฆฐํ„ฐ๋ฅผ ์„ค์น˜๋œ ํŒŒ์ด์ฌ์œผ๋กœ ์„ ํƒํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ž˜ ์‹คํ–‰๋˜๋Š”๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

- C

ํ˜น์‹œ๋‚˜ C๋ฅผ ๋Œ๋ ค๋ณด๊ณ ์‹ถ๋‹ค๋ฉด ๊ทธ๊ฒƒ๋˜ํ•œ ๊ฐ€๋Šฅํ•˜๋‹ค.

๋จผ์ € ํ™•์žฅ์—์„œ C runner๋ฅผ ์„ค์น˜ํ•œ๋‹ค.

 

ํ•˜์ง€๋งŒ ์ด๋•Œ C ํŒŒ์ผ์—์„œ ๋ฐ‘์— ์ƒ๊ธฐ๋Š” ์‹คํ–‰๊ณผ ๋””๋ฒ„๊น…๋ฒ„ํŠผ์€ ๋™์ž‘ํ•˜์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.

๋”ฐ๋ผ์„œ ์‹คํ–‰๊ณผ ์ปดํŒŒ์ผ์€ ctrl+alt+b ๋กœ ์ปดํŒŒ์ผ, ctrl+alt+r๋กœ ์‹คํ–‰ํ•œ๋‹ค.

์š”์ ์€ lldb๊น”๊ณ  jsonํŒŒ์ผ์—์„œ ๋ฐ”๊พธ๋ฉด๋œ๋‹ค. ์ž์„ธํ•œ ํ•ด๋ฒ•์€ vscode ์†์„ฑ ์„ค์น˜๋ฒ• ๊ฒŒ์‹œ๊ธ€์—์„œ....

 

๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ์ž˜ ๋Œ์•„๊ฐ„๋‹ค.

 

 

Jellyfin

์•„๋งˆ ๋งŽ์€ ๋…์ž๋ถ„๋“ค๊ป˜ ์œ ์šฉํ•œ ์„œ๋น„์Šค๊ฐ€ ์•„๋‹๊นŒ ์‹ถ๋‹ค.

๋น„์Šทํ•˜๊ฒŒ ํ”Œ๋ ‰์Šค, emby๋“ฑ์ด ์žˆ์ง€๋งŒ ๊ฐœ์ธ์ ์œผ๋ก  ๋ฌด๋ฃŒ์ด๋ฉด์„œ ๊ธฐ๋Šฅ์ด ๋งŽ์€ ์ ค๋ฆฌํ•€์„ ์ถ”์ฒœํ•œ๋‹ค.

์„œ๋น„์Šค ์„ค์น˜๋Š” ์ด์ œ ์ข€ ์ต์ˆ™ํ•ด ์กŒ์œผ๋ฆฌ๋ผ ์ƒ๊ฐํ•œ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ์„ค์น˜

 

์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์ „ ์„ค์ •ํ•ด์•ผ ๋  ๋ถ€๋ถ„์ด ์กด์žฌํ•œ๋‹ค.

๋ฐ”๋กœ ์„œ๋ฒ„์— ์ €์žฅ๋œ ๋“œ๋ผ๋งˆ์™€ ์˜ํ™”์˜ ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.

๋˜ ํ”„๋ก์‹œ๋กœ ๋„๋ฉ”์ธ์„ ๋ฌผ๋ฆฌ๋Š”๊ฒฝ์šฐ ๋„๋ฉ”์ธ๋„ ๊ฐ™์ด ์ž…๋ ฅํ•ด์ฃผ๋ฉด ์ข‹๋‹ค.

์—ฌ๊ธฐ์„  ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ๊ณผ์ •์€ ์ƒ๋žตํ•˜๊ฒ ๋‹ค.

 

์ดˆ๊ธฐ ์„ค์ •

์„ค์น˜ ํ›„ ์›นUI์— ์ ‘๊ทผํ•˜๊ฒŒ ๋˜๋ฉด ์ดˆ๊ธฐ ์„ค์ •์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.

ํ•œ๊ตญ์–ด๋กœ ๋ณ€๊ฒฝ ํ›„ ์ง„ํ–‰ํ•˜์ž.

 

์ด์ œ ๋ฏธ๋””์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ๋ฏธ๋””์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ผ์ข…์˜ ๊ทธ๋ฃน์ด๋‹ค.

๋ณธ์ธ์€ ํ•œ๊ตญ์˜ํ™”, ๋งˆ๋ธ”, ์• ๋‹ˆ๋ฉ”์ด์…˜ ์˜ํ™”, ๋“œ๋ผ๋งˆ ๋“ฑ๋“ฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ๋†“์•˜๋‹ค.

๊ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ณ„๋กœ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ์†Œ์žฅํ•˜๊ณ  ์žˆ๋Š” ์˜ํ™”์™€ ๋“œ๋ผ๋งˆ๋ฅผ ๋ฏธ๋ฆฌ ํด๋”๋กœ ๊ตฌ๋ถ„ํ•ด ๋†“๋Š”๊ฒƒ์ด ์ข‹๋‹ค.

 

์ƒˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์ž. ํ•„์ž๋Š” ์˜ํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ด๋ณด๊ฒ ๋‹ค.

์ด๋ฆ„์„ Movies๋กœ ์„ค์ •ํ•˜๊ณ  Folders์˜ +๋ฅผ ๋ˆŒ๋Ÿฌ ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ์„ค์ •์—์„œ ์ถ”๊ฐ€ํ•ด๋‘” moviesํด๋”๋กœ ์ง€์ •ํ•˜๊ฒ ๋‹ค.

์•„๋ž˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์ •์—์„œ ์ง€์—ญ๊ณผ ์–ธ์–ด๋ฅผ ํ•œ๊ตญ, ํ•œ๊ตญ์–ด๋กœ ์„ค์ •ํ•ด์ค€๋‹ค.

 

์ดํ›„ ์ง„ํ–‰์„ ์™„๋ฃŒํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ๋ฉ”์ธํ™”๋ฉด์— ์˜ํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

์‹œ๊ฐ„์ด ์ง€๋‚˜ ๋ฏธ๋””์–ด ๊ฒ€์ƒ‰์ด ์™„๋ฃŒ๋˜๋ฉด ์ด๋ ‡๊ฒŒ ์ธ๋„ค์ผ๋„ ์ƒ๊ธฐ๊ณ  ์˜ํ™”์˜ ์ •๋ณด๋„ ์ž๋™์œผ๋กœ ๋ถˆ๋Ÿฌ์™€์ง„๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ์˜์ƒ์„ ํ‹€์–ด๋ณด๋ฉด CPU์‚ฌ์šฉ๋ฅ ์ด ์—„์ฒญ๋‚˜๊ฒŒ ๋†’์•„์ง€๋Š”๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์„ฑ๋Šฅ์ด ๋ถ€์กฑํ•  ๊ฒฝ์šฐ ์˜์ƒ์ด ๋Š๊ธฐ๋ฉด์„œ ๋ณด์ผ์ˆ˜๋„ ์žˆ๋‹ค.

์ด๋•Œ ํ•„์š”ํ•œ๊ฒƒ์ด ํ•˜๋“œ์›จ์–ด ๊ฐ€์† ํŠธ๋žœ์Šค์ฝ”๋”ฉ์ด๋‹ค.

 

ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์„ค์ •

๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ ํŠธ๋žœ์Šค์ฝ”๋”ฉ์ด๋ž€, ๊ธฐ์กด ํŒŒ์ผ์„ ๋””์ฝ”๋”ฉ ํ›„์—

์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ํฌ๊ธฐ์™€ ํฌ๋งท์œผ๋กœ ์˜์ƒ์„ ๋‹ค์‹œ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

 

์˜ˆ๋กœ.

๋‚ด๊ฐ€ ๊ฐ€์ง„ ํŒŒ์ผ์ด 4K HDR H.265์ธ๋ฐ ์‹คํ–‰ ํ™˜๊ฒฝ์ด FHD์— SDR H.264๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ

ํŒŒ์ผ์„ ์š”๊ตฌ์— ๋งž๊ฒŒ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…์ด ๋ฐ”๋กœ ํŠธ๋žœ์Šค์ฝ”๋”ฉ์ธ๊ฒƒ์ด๋‹ค.

 

์ด๋ฅผ ํ˜„์žฌ๋Š” CPU๋กœ ์†Œํ”„ํŠธ์›จ์–ด ํŠธ๋žœ์Šค์ฝ”๋”ฉ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ์žˆ์ง€๋งŒ ์ด๋Š” ์ „๊ธฐ๋„, CPU์ž์›๋„ ๋งค์šฐ ๋งŽ์ด ๋จน๋Š”๋‹ค.

์„œ๋ฒ„์— ๊ทธ๋ž˜ํ”ฝ์นด๋“œ๊ฐ€ ์žˆ๋Š”๊ฒฝ์šฐ ์ด๋ฅผ ํ•˜๋“œ์›จ์–ด ๊ฐ€์†์œผ๋กœ ๋น ๋ฅด๊ณ   ๊ฐ€๋ณ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜์žˆ๋‹ค.

 

์—”๋น„๋””์•„์˜ ๊ฒฝ์šฐ GT๊ทธ๋ž˜ํ”ฝ์นด๋“œ๋Š” ์•ˆ๋˜๊ณ  ๊ฐ ์ œ์กฐ์‚ฌ๋งˆ๋‹ค ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ ๋„ ๋‹ค๋ฅด๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๊ธธ ๋ฐ”๋ž€๋‹ค.

 

๋ณธ ๊ฒŒ์‹œ๊ธ€์—์„œ๋Š” ์—”๋น„๋””์•„ ๊ทธ๋ž˜ํ”ฝ๊ณผ ์ธํ…” ๋‚ด์žฅ๊ทธ๋ž˜ํ”ฝ์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.

 

 

์—”๋น„๋””์•„ ๊ทธ๋ž˜ํ”ฝ์นด๋“œ ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์„ค์ •

๋จผ์ € apps์—์„œ nvidia-driver๋ฅผ ์„ค์น˜ํ•œ๋‹ค.

๋‹จ ๋„์ปค์—์„œ ๊ทธ๋ž˜ํ”ฝ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก VFIO ๋ฐ”์ธ๋“œ๋Š” ๋˜์–ด์žˆ์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.

 

์„ค์ •์—์„œ ๊ทธ๋ž˜ํ”ฝ ๋“œ๋ผ์ด๋ฒ„์— ๋“ค์–ด๊ฐ€๋ฉด ํ˜„์žฌ ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ์˜ ID๊ฐ’์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด ๊ฐ’์„ ๋ณต์‚ฌํ•ด๋‘”๋‹ค.

 

์ดํ›„ ์ ค๋ฆฌํ•€์˜ ์„ค์ •์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ช…์€ NVIDIA_VISIBLE_DEVICES ๊ฐ’์€ ํ™•์ธํ•œ ID๊ฐ’์„ ๋ถ™์—ฌ ๋„ฃ๋Š”๋‹ค.

 

์šฐ์ธก ์ƒ๋‹จ์˜ basic view์˜ ์Šค์œ„์น˜๋ฅผ ๋ˆŒ๋Ÿฌ ๊ณ ๊ธ‰ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•œ๋‹ค.

Extra Parameters๋ถ€๋ถ„์— --runtime=nvidia๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

๋‹ค ๋˜์—ˆ๋‹ค๋ฉด apply

Nvidia Visible Devices
NVIDIA_VISIBLE_DEVICES
GPU-xxxxxx...

--runtime=nvidia

 

์ ค๋ฆฌํ•€์ด ์ •์ƒ ์‹คํ–‰๋˜์—ˆ๋‹ค๋ฉด ์„ค์ •์—์„œ playback ๋ฉ”๋‰ด๋กœ ๊ฐ„๋‹ค.

ํ˜„์žฌ๋Š” hardware acceleration์ด none์ผํ…๋ฐ

Nvidia NVENC๋ฅผ ์„ ํƒํ•œ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฉด ์—ฌ๋Ÿฌ ์ฝ”๋ฑ์— ๋Œ€ํ•œ ํŠธ๋žœ์Šค์ฝ”๋”ฉ ์„ค์ •์„ ํ•  ์ˆ˜ ์žˆ์„ํ…๋ฐ ์ด๋•Œ ๊ทธ๋ž˜ํ”ฝ์นด๋“œ์˜ ๋ชจ๋ธ๋งˆ๋‹ค ์ง€์›ํ•˜๋Š” ์ฝ”๋ฑ์ด ๋‹ฌ๋ผ์ง„๋‹ค.

์ œ์กฐ์‚ฌ ํ™ˆํŽ˜์ด์ง€๋‚˜ ์œ„ํ‚ค์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•„์ž์˜ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•˜๋Š” 1050์€ ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋ฑ์„ ์ง€์›ํ•œ๋‹ค.

์ž์„ธํžˆ๋ณด๋‹ˆ ์นฉ์ด ๋‘๊ฐ€์ง€๋กœ ๋‚˜๋‰˜์–ด ์žˆ๋Š”๋ฐ ํ•œ๋ฒˆ ํ™•์ธํ•ด๋ณด์ž.

๋ณด๋‹ค ์ƒ์„ธํ•œ ์ •๋ณด๋ฅผ ์•Œ๊ณ ์‹ถ์œผ๋ฉด ์–ธ๋ ˆ์ด๋“œ์˜ [Tools- system devices] ๋ฉ”๋‰ด์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ž˜๋„ ๋ถ€์กฑํ•˜๋ฉด ํ„ฐ๋ฏธ๋„์—์„œ ๋ช…๋ น์–ด ์น˜๊ณ  ๋ด๋„ ๋œ๋‹ค.

ํ•„์ž์˜ ๊ทธ๋ž˜ํ”ฝ์นฉ์…‹์€ GP107M์นฉ์„ ์‚ฌ์šฉํ•˜๋Š” 1050์ธ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ง€์›ํ•˜๋Š” ์ฝ”๋ฑ์— ๋งž์ถ”์–ด ํ•„์ž๋Š” ๋””์ฝ”๋”ฉ ์ฝ”๋ฑ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค์ •ํ–ˆ๋‹ค.

๊ธฐ๋ณธ ์„ค์ •์—์„œ ์•ˆ๋งŒ์ ธ๋„ ๋ฌด๊ด€ํ•˜์ง€๋งŒ ๋ณด๋‹ค ์„ธ์„ธํ•˜๊ฒŒ ํŠœ๋‹ํ•˜๊ณ  ์‹ถ์œผ๋ฉด ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด๋œ๋‹ค.

 

์ด๋ ‡๊ฒŒ ์„ค์ •์„ ๋งˆ๋ฌด๋ฆฌ ํ•˜๊ณ  ์ €์žฅํ›„ ๋‹ค์‹œ ์˜์ƒ์„ ์žฌ์ƒํ•ด๋ณด๋ฉด

์™ˆ๋ผ~

CPU ์ ์œ ์œจ๋„ ๋งค์šฐ ์ฐฉํ•ด์ง€๊ณ  ํŠธ๋žœ์Šค์ฝ”๋”ฉ ํ”„๋ ˆ์ž„์ด ๋” ์˜ฌ๋ผ๊ฐ„๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜์žˆ๋‹ค.

NVENC๋ƒ VAAPI๋ƒ QSV๋ƒ์—๋”ฐ๋ผ ํšจ์œจ๊ณผ ํ™”์งˆ์†์ƒ์ด ๋‹ฌ๋ผ์ง€์ง€๋งŒ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋Œ€์ฒด๋กœ ์“ธ๋งŒํ•˜๋‹ค.

ํ™”์งˆ์€ ์†Œํ”„ํŠธ์›จ์–ด - QSV - NVENC - VAAPI์ˆœ์ด๋‹ค.

 

 

์ธํ…” ๋‚ด์žฅ๊ทธ๋ž˜ํ”ฝ

๊ทธ๋Ÿผ ์ธํ…” ๋‚ด์žฅ๊ทธ๋ž˜ํ”ฝ์€ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ข‹์„๊นŒ?

๋จผ์ € intel gpu top์„ ์„ค์น˜ํ•œ๋‹ค.

 

์ดํ›„ ์ ค๋ฆฌํ•€ ์„ค์ •์—์„œ extra parameter์— --device=/dev/dri:/dev/dri๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

์ ์šฉํ›„ ์ ค๋ฆฌํ•€ ์„ค์ •์—์„œ Intel - qsv๋กœ ์ง€์ •ํ•œ๋’ค ์œ„์™€ ๊ฐ™์ด ์ฝ”๋ฑ๋“ฑ์„ ์„ค์ •ํ•˜๊ณ  ๋‚˜๋ฉด ๋ฌธ์ œ์—†์ด ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๋งˆ๋ฌด๋ฆฌ

์ด์   ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์„ค์ •์„ ๋ฐ”๊พธ๋ฉฐ ์„œ๋น„์Šค๋ฅผ ๋ฐฐํฌํ•˜๋Š”๋ฐ ์ต์ˆ™ํ•ด์กŒ์„ ๊ฒƒ์ด๋‹ค.

์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋ณด๋ฉด ํฅ๋ฏธ๋กญ๊ณ  ์žฌ๋ฐŒ๋Š” ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋งŽ์œผ๋‹ˆ

๋‚˜๋งŒ์˜ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ์žฌ๋ฏธ๋ฅผ ์ฆ๊ธฐ๋Š” ์ผ๋งŒ ๋‚จ์•˜๋‹ค.

์ด๋Ÿฐ์ €๋Ÿฐ ์„œ๋น„์Šค๋ฅผ ์˜ฌ๋ฆฌ๋‹ค ๋ณด๋ฉด ์–ด๋ ต๊ณ  ๋ง‰ํžˆ๋Š” ๋ถ€๋ถ„๋„ ์žˆ๊ฒ ์ง€๋งŒ ๊ทธ๋งˆ์ €๋„ ์ฆ๊ฒ๊ฒŒ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€๊ธธ ๋ฐ”๋ž€๋‹ค.