본문 바로가기

전체 글

(145)
socket.io 1. Socket.IO 구조 개요Socket.IO는 두 개의 계층으로 구성됩니다:Engine.IO: 저수준의 연결을 담당 (전송 방식, 연결 수립 및 해제 감지 등)Socket.IO: 고수준의 API를 제공 (방(Room), 네임스페이스, 자동 재연결 등)이러한 구조는 신뢰성과 유연성을 확보하는 데 필수적입니다. 구분 의미 예시저수준 (Low-level)하드웨어나 네트워크와 더 가까운 기술, 세부 제어와 복잡도가 있음TCP 연결, WebSocket 프레임 처리, HTTP 전송 방식 관리고수준 (High-level)사용자가 쉽게 접근하고 사용할 수 있도록 추상화된 API나 기능socket.emit("msg"), 자동 재연결, Room, Namespace 기능2. 전송 방식(Transports)Socket...
웹 브라우저와 스트리밍 프로토콜: RTSP vs RTMP, 그리고 RTMP 구조 웹 스트리밍 프로젝트를 진행하면서 RTMP 프로토콜 사용할려고 찾아보니 웹에서 지원하지 않는 프로토콜이라고 합니다갑자기 의문점이 들었습니다. 브라우저가 지원하는 프로토콜이 무엇인지,그리고 대표적인 미디어 스트리밍 프로토콜인 RTSP, RTMP의 차이와 구조가 궁금해질 때가 많습니다.이 글에서는 실제 프로젝트 경험을 바탕으로,웹 브라우저가 지원하는 주요 프로토콜과 RTSP/RTMP의 차이,그리고 RTMP의 내부 구조까지 한 번에 정리해봅니다. 1. 웹 브라우저가 지원하는 프로토콜은 무엇일까?웹 브라우저는 브라우저가 네이티브로 지원하며, 표준화 기구(W3C/IETF 등)에서 관리하는 것들입니다. 여기서 말하는 "지원"이란, 브라우저 엔진 자체가 직접 통신을 관리할 수 있다는 뜻입니다.주요 브라우저 표준..
실시간 스트리밍 서비스 프로젝트 RTMP 서버 기반 실시간 스트리밍 시스템 구축기실시간 방송, 어떻게 구현할까요? 요즘 라이브 스트리밍은 유튜브나 트위치만의 전유물이 아니잖아요? 팀 내부 프로젝트나 소규모 방송 플랫폼에서도 충분히 활용할 수 있어요. 그래서 이번에 우리가 만든 시스템은 복잡한 WebRTC 없이, 상대적으로 구성이 단순하면서도 확장성이 좋은 RTMP → HLS 기반 스트리밍 서버입니다.목차전체 아키텍처 개요RTMP 서버 구성: NGINX로 방송 받기FFmpeg로 RTMP → HLS 변환하기NestJS에서 HLS 스트리밍 제공자주 묻는 질문 (FAQ)구현 후 느낀 점과 개선 방향핵심 기술 요약전체 아키텍처 개요전체 흐름은 다음과 같아요. 송출자가 RTMP로 방송을 전송 → NGINX RTMP 서버가 수신 → FFmpeg로 ..