본문 바로가기

전체 글66

WebRTC + livekit 본 내용은 AI에 내용을 일부 인용하여 작성되었습니다. 실시간 영상·음성·데이터를 다루는 기술은문서로 보면 쉬운데, 실제로 구축해보면 생각보다 복잡하다.이번 글은 내가 WebRTC를 처음 공부했던 시점부터,LiveKit을 선택한 이유,서버(WebRTC) 참여자가 필요했던 상황,그리고 Docker + Caddy 기반 인프라까지 구축하며 배운 내용을기술적으로 단정하면서도 부드러운 회고 흐름으로 정리한 종합 가이드다.1. WebRTC는 “직접 연결” 기술이었다단순한 코드보다 실제 환경이 훨씬 중요했다WebRTC는 이렇게 정의된다.브라우저·앱·로봇 같은 기기가 서버를 거치지 않고 서로 직접(Media/Data) 통신하는 기술기본 구조는 매우 간단해 보인다.Peer A Peer B하지만 실전에서는 다음 문제.. 2025. 11. 16.
livekit_docker 본 내용은 AI에 내용을 일부 인용하여 작성되었습니다.이전 글 : https://70658277.tistory.com/67 WebRTC는 브라우저·모바일·로봇처럼 다양한 기기가 서로 실시간으로 영상·음성·데이터를 직접 주고받도록 만드는 기술이다.하지만 실제 서비스에서는 NAT, TLS, TURN, 포트 문제 등 여러 요소를 함께 다뤄야 한다.이 때문에 WebRTC 서버를 운영하는 일은 쉽게 보이지만 실제로는 생각보다 까다롭다.LiveKit은 이 복잡함을 모두 해결한 오픈소스 WebRTC 플랫폼이다.이 글에서는 LiveKit을 Docker + Caddy(L4/TLS) 기반으로 손쉽게 설치하는 방법을 다룬다.그리고 “왜 이런 구조가 필요한지”를 처음 하는 사람도 이해하기 쉽도록 풀어서 설명한다.1. WebR.. 2025. 11. 16.
livekit-server-sdk? livekit/rtc-nod sdk! 본 내용은 AI에 내용을 일부 인용하여 작성되었습니다.이전 글 : https://70658277.tistory.com/66 실시간 시스템을 만들다 보면,브라우저나 모바일이 아닌 서버가 직접 방(Room)에 들어가야 하는 상황이 존재한다.예를 들면 다음과 같다.로봇 카메라 영상을 서버에서 받아 AI 분석 후 다시 사용자에게 보여주기RTSP·CCTV 영상을 WebRTC로 변환하여 송출하기서버가 “봇 참여자”로 접속해 자동 안내 메시지를 보내기녹화 또는 스트림 변환 작업을 서버에서 처리하기이런 기능을 구현하려면브라우저처럼 WebRTC를 할 수 있는 ‘서버용 WebRTC 엔진’이 필요하다.그리고 바로 그 역할을 하는 기술이 LiveKit RTC Node SDK(@livekit/rtc-node) 이다.1. 서버가.. 2025. 11. 16.
livekit(Webrtc Framework) 본 내용은 AI에 내용을 일부 인용하여 작성되었습니다.이전 글 : https://70658277.tistory.com/65 WebRTC 자체로도 Peer끼리 연결할 수 있지만,실제 서비스에서는 TURN, 신호 처리, 확장성, 녹화, 권한 관리, 대규모 다중 접속 등해결해야 하는 요소가 많다.이때 필요한 해결책이 바로 LiveKit이다.LiveKit은 WebRTC 기반 실시간 오디오·비디오·데이터 전송을“서비스 수준”으로 올려주는 오픈소스 플랫폼이다.1. LiveKit이란 무엇인가?LiveKit은 WebRTC를 대규모 서비스에서 안정적으로 운영하도록 도와주는 오픈소스 SFU 플랫폼이다.SFU는 Selective Forwarding Unit의 약자로,“필요한 스트림만 골라 전달하는 똑똑한 중계 서버”라고 .. 2025. 11. 16.
Web RTC? 본 내용은 AI에 내용을 일부 인용하여 작성되었습니다.1. WebRTC란 무엇일까?WebRTC는 브라우저나 모바일, 로봇 같은 기기들이 서로 실시간으로 영상·음성·데이터를 직접 주고받도록 도와주는 기술이다.별도 프로그램 설치 없이도 웹만 열면 화상 통화나 실시간 제어가 되는 이유가 바로 이것이다.쉽게 말하면, WebRTC는 서로 바로 연결되도록 만들어주는 기술이다.중간 서버를 거치지 않아 빠르고, 비용도 적게 든다.마치 두 사람이 전화기로 직접 통화하는 느낌이다.이 방식은 말이 오가는 길이 짧아지므로 자연스럽게 빠르고 안정적이다.그래서 WebRTC는 화상회의, 실시간 채팅, 로봇 관제처럼 빠른 반응이 필요한 서비스에서 많이 쓰인다.2. Peer란 무엇일까?WebRTC에서 Peer는 서로 연결되는 두 기기.. 2025. 11. 16.
goorm CodingTest 큰 팩토리얼 ------ 문제 ------ ------ 풀이 ------import java.io.*; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); int n = Integer.parseInt(input); long result = factorial(n)%1.000.000.007; System.out.println(result); } private static long factorial(int n) { long result=1; for(int i = 1.. 2024. 9. 8.
goorm CodingTest (A+B(2)) 기록 -------- 문제 ------- -------- 해당 문제에 대한 풀이 ------- import java.io.*; import java.text.*; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); String[]inputArr = input.split(" "); double a = Double.parseDouble(inputArr[0]); double b = Double.parseDouble(inputArr[1]); double res.. 2024. 9. 8.
Camunda 수동적 배포 관리 @Service("DeploymentService") public class DeploymentServiceImpl extends AppContextManager implements DeploymentService { private static final Logger logger = LoggerFactory.getLogger(DeploymentServiceImpl.class); private final RuntimeService runtimeService; private final HistoryService historyService; private final RepositoryService repositoryService; @Autowired public DeploymentServiceImpl(Runt.. 2024. 1. 1.
Camunda 7.x xml 설정 Camunda 7.x xml 설정 Configuration 우선 기본 환경은 Spring web FrameWork로 5.2.8 release 버전이며 Camunda는 7.18버전의 lib를 사용하고 있다. 해당 xml은 dispatcher-sevlet.xml을 통해 ContextLoader로 호출하여 서버가 가동될 때 빈 정보를 생성하고 Camunda엔진의 설정정보를 저장하기 위한 xml파일이다. 각 Property정보들에 대한 설명이다. Properties properties 설명 Defaule value process-engine-name 프로세스 엔진의 이름 카문다 기본값 databaseSchemaUpdate 자동 스키마 업데이트를 적용해야 하는 경우 [true, false, create, crea.. 2024. 1. 1.