VisioForge

๋‰ด์Šค ๋ฐ ์ œํ’ˆ ์—…๋ฐ์ดํŠธ - 2021

2021๋…„์˜ ๋ชจ๋“  VisioForge ๋‰ด์Šค, ๋ฆด๋ฆฌ์Šค ๋ฐ ๊ณต์ง€ ์‚ฌํ•ญ

๋ฆด๋ฆฌ์Šค

VisioForge .Net SDK v15.1 ์ถœ์‹œ

.Net SDK ๋ฒ„์ „ 15.1์€ ํฌ๊ด„์ ์ธ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์ง€์›, ๊ธฐ๋ณธ Android ํ˜ธํ™˜์„ฑ ๋„์ž… ๋ฐ ์™„์ „ํžˆ ์žฌ์„ค๊ณ„๋œ GStreamer ๊ธฐ๋ฐ˜ ์—”์ง„ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ†ตํ•ด ํ˜์‹ ์ ์ธ ์ด์ •ํ‘œ๋ฅผ ์„ธ์› ์Šต๋‹ˆ๋‹ค. ์ด ํš๊ธฐ์ ์ธ ๋ฆด๋ฆฌ์Šค๋Š” VisioForge ๊ธฐ๋Šฅ์„ ๊ธฐ์กด Windows ํ”Œ๋žซํผ ์ด์ƒ์œผ๋กœ ํ™•์žฅํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๊ฐ€ Android ์žฅ์น˜์—์„œ ์›ํ™œํ•˜๊ฒŒ ์‹คํ–‰๋˜๋Š” ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด Android ์ง€์›์€ ๋ชจ๋ฐ”์ผ ๋น„๋””์˜ค ์ฒ˜๋ฆฌ, ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ ์บก์ฒ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ๋ฐฉ๋Œ€ํ•œ ๊ธฐํšŒ๋ฅผ ์—ด์–ด์ค๋‹ˆ๋‹ค. ํ•ต์‹ฌ ์•„ํ‚คํ…์ฒ˜๋Š” GStreamer๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ทผ๋ณธ์ ์œผ๋กœ ์žฌ๊ตฌ์ถ•๋˜์–ด ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ, ํ–ฅ์ƒ๋œ ์•ˆ์ •์„ฑ ๋ฐ ๊ด‘๋ฒ”์œ„ํ•œ ์ฝ”๋ฑ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์—”์ง„ ์žฌ์„ค๊ณ„๋Š” ๊ฐ•๋ ฅํ•œ GStreamer ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋ฉด์„œ ์ง€์›๋˜๋Š” ๋ชจ๋“  ํ”Œ๋žซํผ์—์„œ ์ผ๊ด€๋œ ๋™์ž‘์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ๊ฐœ์„  ์‚ฌํ•ญ์œผ๋กœ๋Š” ํ–ฅ์ƒ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ๋” ๋‚˜์€ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๋ฐ ๋ชจ๋ฐ”์ผ ์žฅ์น˜์— ์ตœ์ ํ™”๋œ ์„ฑ๋Šฅ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์•„ํ‚คํ…์ฒ˜๋Š” API ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•œ ๋ฒˆ ์ž‘์„ฑํ•˜๋ฉด ์ตœ์†Œํ•œ์˜ ํ”Œ๋žซํผ๋ณ„ ์กฐ์ •์œผ๋กœ ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์— ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฆด๋ฆฌ์Šค๋Š” ํ˜„๋Œ€์ ์ธ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ VisioForge์˜ ์•ฝ์†์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ฐ์Šคํฌํ†ฑ ๋ฐ ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ ์ผ๊ด€๋˜๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
๋ณ€๊ฒฝ ๋กœ๊ทธ ํ™•์ธ
๋ฆด๋ฆฌ์Šค

VisioForge .Net SDK v15.0 ์ถœ์‹œ

.Net SDK ๋ฒ„์ „ 15.0์€ ํฌ๊ด„์ ์ธ API ์žฌ์„ค๊ณ„์™€ Core ๊ธฐ๋Šฅ๊ณผ VideoView ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ „๋žต์  ๋ถ„๋ฆฌ๋ฅผ ํ†ตํ•ด ์ฃผ์š” ์•„ํ‚คํ…์ฒ˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋„์ž…ํ•˜์—ฌ ํ–ฅํ›„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๊ธฐ๋ฐ˜์„ ๋งˆ๋ จํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ฃผ์š” ๋ฆด๋ฆฌ์Šค๋Š” ํ•ต์‹ฌ ์ฒ˜๋ฆฌ ๋กœ์ง๊ณผ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ๋” ๋ช…ํ™•ํ•œ ๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ VisioForge ์•„ํ‚คํ…์ฒ˜์˜ ์ค‘์š”ํ•œ ์ง„ํ™”๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. Core/VideoView ๋ถ„๋ฆฌ๋Š” ๋” ์œ ์—ฐํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜์™€ ํ–ฅ์ƒ๋œ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. API ์žฌ์„ค๊ณ„๋Š” ๋” ์ง๊ด€์ ์ธ ๋ฉ”์„œ๋“œ ์ด๋ฆ„, ์ผ๊ด€๋œ ๋งค๊ฐœ๋ณ€์ˆ˜ ํŒจํ„ด ๋ฐ ํ–ฅ์ƒ๋œ IntelliSense ์ง€์›์„ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ํ•„์ˆ˜ ๊ธฐ๋Šฅ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๋” ๋ช…ํ™•ํ•˜๊ณ  ์œ ์ง€ ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์‹ ์ค‘ํ•˜๊ฒŒ ๊ณ„ํš๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•ต์‹ฌ ์—”์ง„ ์ „๋ฐ˜์˜ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋Š” ํ–ฅ์ƒ๋œ ์ฒ˜๋ฆฌ ์†๋„์™€ ๊ฐ์†Œ๋œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“ˆ์‹ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ํ•„์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋งŒ ํฌํ•จํ•  ์ˆ˜ ์žˆ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์ง€๊ณ  ์ข…์†์„ฑ์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€์ด๋“œ์™€ ํฌ๊ด„์ ์ธ ๋ฌธ์„œ๋Š” ์ƒˆ๋กœ์šด API ๊ตฌ์กฐ๋กœ์˜ ์ „ํ™˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋ณธ ์—…๋ฐ์ดํŠธ๋Š” ์ฝ”๋“œ ๋ช…ํ™•์„ฑ๊ณผ ์œ ์ง€ ๊ด€๋ฆฌ ์šฉ์ด์„ฑ ์ธก๋ฉด์—์„œ ์ฆ‰๊ฐ์ ์ธ ์ด์ ์„ ์ œ๊ณตํ•˜๋ฉด์„œ ํ–ฅํ›„ ๊ฐœ์„  ์‚ฌํ•ญ์„ ์œ„ํ•ด SDK๋ฅผ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค.
๋ณ€๊ฒฝ ๋กœ๊ทธ ํ™•์ธ
๋ฆด๋ฆฌ์Šค

VisioForge .Net SDK v14.3 ์ถœ์‹œ

.Net SDK ๋ฒ„์ „ 14.3์€ .Net 6์— ๋Œ€ํ•œ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ์ง€์›, CUDA ์ข…์†์„ฑ์˜ ์ „๋žต์  ์ œ๊ฑฐ ๋ฐ ํ–ฅ์ƒ๋œ IP ์นด๋ฉ”๋ผ ํ†ตํ•ฉ์„ ์œ„ํ•œ ํฌ๊ด„์ ์ธ ONVIF ์—”์ง„ ๊ฐœ์„ ์„ ํ†ตํ•ด .NET ๊ฐœ๋ฐœ์˜ ๋ฏธ๋ž˜๋ฅผ ์ˆ˜์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฏธ๋ž˜ ์ง€ํ–ฅ์ ์ธ ๋ฆด๋ฆฌ์Šค์—๋Š” Microsoft์˜ .Net 6 ๋ฏธ๋ฆฌ ๋ณด๊ธฐ์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›์ด ํฌํ•จ๋˜์–ด ์žˆ์–ด VisioForge ๊ณ ๊ฐ์€ ์ตœ์‹  .NET ์„ฑ๋Šฅ ๊ฐœ์„  ์‚ฌํ•ญ ๋ฐ ์–ธ์–ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ์ฆ‰์‹œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ์ง€์›์€ Microsoft์˜ ๊ฐœ๋ฐœ ๋กœ๋“œ๋งต์„ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋ ค๋Š” VisioForge์˜ ์•ฝ์†์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. CUDA ์ข…์†์„ฑ์˜ ์ „๋žต์  ์ œ๊ฑฐ๋Š” ๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ณ  GPU ๊ฐ€์†์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณต์žก์„ฑ์„ ์ค„์ž…๋‹ˆ๋‹ค. ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ตœ์ ํ™”๋œ CPU ๊ธฐ๋ฐ˜ ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ž ์žฌ์ ์ธ ๋“œ๋ผ์ด๋ฒ„ ์ถฉ๋Œ ๋ฐ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ONVIF ์—”์ง„ ๊ฐœ์„  ์‚ฌํ•ญ์€ ๋” ๋‚˜์€ ์žฅ์น˜ ๊ฒ€์ƒ‰, ํ–ฅ์ƒ๋œ ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๋ฐ ํ™•์žฅ๋œ ๊ธฐ๋Šฅ ์ง€์›์„ ํฌํ•จํ•˜์—ฌ ์ตœ์‹  IP ์นด๋ฉ”๋ผ์™€์˜ ํ–ฅ์ƒ๋œ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ๋œ ONVIF ๊ตฌํ˜„์€ ๊ฐ์‹œ ๋ฐ ๋ณด์•ˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ๋” ์•ˆ์ •์ ์ธ ์—ฐ๊ฒฐ๊ณผ ๋” ๋‚˜์€ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๊ฐœ์„  ์‚ฌํ•ญ์œผ๋กœ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”, ํ–ฅ์ƒ๋œ ๋กœ๊น… ๊ธฐ๋Šฅ ๋ฐ ๋” ๋‚˜์€ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ˜ธํ™˜์„ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ๋ฆด๋ฆฌ์Šค์—๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”ผ๋“œ๋ฐฑ ๋ฐ ์‹ค์ œ ์‚ฌ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋‹ค์–‘ํ•œ ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ์•ˆ์ •์„ฑ ํ–ฅ์ƒ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋ณ€๊ฒฝ ๋กœ๊ทธ ํ™•์ธ
๋ฆด๋ฆฌ์Šค

VisioForge .Net SDK v14.2 ์ถœ์‹œ

.Net SDK ๋ฒ„์ „ 14.2๋Š” ํฌ๊ด„์ ์ธ Virtual Camera SDK ์ˆ˜์ • ๋ฐ ONVIFControl์— ๋Œ€ํ•œ async/await ํŒจํ„ด ๊ตฌํ˜„์„ ํ†ตํ•ด ์•ˆ์ •์„ฑ๊ณผ ํ˜„๋Œ€์ ์ธ ๊ฐœ๋ฐœ ๊ด€ํ–‰์— ์ค‘์ ์„ ๋‘์–ด ์‹ ๋ขฐ์„ฑ๊ณผ ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜์„ ๋ชจ๋‘ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. Virtual Camera SDK๋Š” ์ผ๋ฐ˜์ ์ธ ์ถฉ๋Œ ์‹œ๋‚˜๋ฆฌ์˜ค, ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐ ์ดˆ๊ธฐํ™” ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ˆ˜์ •์œผ๋กœ ์ƒ๋‹นํ•œ ์•ˆ์ •์„ฑ ๊ฐœ์„ ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์€ ํŠนํžˆ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ ํšŒ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ค‘์š”ํ•œ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๋” ์•ˆ์ •์ ์ธ ๊ฐ€์ƒ ์นด๋ฉ”๋ผ ์ž‘๋™์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ONVIFControl์— async/await ์ง€์›์„ ๋„์ž…ํ•œ ๊ฒƒ์€ IP ์นด๋ฉ”๋ผ์™€ ํ†ต์‹ ํ•  ๋•Œ ๋น„์ฐจ๋‹จ ์ž‘์—…์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์ฃผ์š” ํ˜„๋Œ€ํ™” ๋…ธ๋ ฅ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด ์•„ํ‚คํ…์ฒ˜ ๊ฐœ์„ ์€ ๋„คํŠธ์›Œํฌ ์ž‘์—… ์ค‘ UI ๋™๊ฒฐ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์—ฌ๋Ÿฌ ์นด๋ฉ”๋ผ ์—ฐ๊ฒฐ์„ ๊ด€๋ฆฌํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋” ๋‚˜์€ ํ™•์žฅ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. SDK ์ „๋ฐ˜์˜ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋Š” ์‘๋‹ต ์‹œ๊ฐ„์„ ๊ฐœ์„ ํ•˜๊ณ  ๋ฆฌ์†Œ์Šค ์†Œ๋น„๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค. ๋น„๋™๊ธฐ ๊ตฌํ˜„์„ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์—ฌ๋Ÿฌ ๋™์‹œ ์ž‘์—…์„ ๋” ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ˆ˜๋งŽ์€ IP ์นด๋ฉ”๋ผ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐ์‹œ ์‹œ์Šคํ…œ์— ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๊ฐœ์„  ์‚ฌํ•ญ์œผ๋กœ๋Š” ํ–ฅ์ƒ๋œ ์˜ค๋ฅ˜ ๋ณด๊ณ , ๋” ๋‚˜์€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฐ ๊ฐœ์„ ๋œ ๋””๋ฒ„๊น… ๊ธฐ๋Šฅ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ๋ฆด๋ฆฌ์Šค๋Š” ๋‹ค์–‘ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ณด๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€ ๋ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋Œ€ํ•œ ๋” ๋‚˜์€ ๋ฌธ์„œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
๋ณ€๊ฒฝ ๋กœ๊ทธ ํ™•์ธ

๋‹ค๋ฅธ ์—ฐ๋„ ์ฐพ์•„๋ณด๊ธฐ