직접 만든 소프트웨어, 두 가지 개발 기록 구현 구조와 적용 범위, 확인한 기능과 남은 한계를 함께 기록합니다. MediaMTX 스트리밍 제어 서버Docker Compose 구성과 파일·라이브·멀티캐스트 송출 RTSP CCTV 관제·분석 프로그램관제 그룹, 영역·출입선, 이벤트 이력을 연결하는 구조 소프트웨어개발156 RTSP는 언제 쓰면 좋을까? CCTV 영상 수집의 장점과 한계 CCTV를 연결할 때 rtsp://로 시작하는 주소를 자주 만나게 됩니다. 그런데 이 주소를 PC 플레이어에 넣으면 영상이 나오고, 웹페이지의 동영상 칸에 넣으면 재생되지 않는 경우가 있습니다. RTSP를 이해하려면 카메라에서 영상을 가져오는 구간과 사용자에게 보여 주는 구간을 나누어 보는 것이 좋습니다.이번 글은 스트리밍 프로토콜 활용 연재의 첫 편입니다. 카메라 영상을 수집할 때 RTSP가 유용한 이유, TCP·UDP 전송 선택의 차이, 브라우저 서비스로 확장할 때 추가로 필요한 요소를 살펴봅니다.1. RTSP와 RTP는 맡은 일이 다릅니다RTSP는 Real-Time Streaming Protocol의 약자입니다. 스트리밍 세션을 설정하고 재생을 요청하는 제어 역할을 맡으며, 실제 미디어는 흔히 RT.. 2026. 9. 9. Docker 로그 확인과 용량 관리: compose logs부터 로그 로테이션까지 서비스에 오류가 생겼을 때 로그를 열면 너무 많은 내용이 쏟아지고, 정작 필요한 시간의 기록은 찾기 어려울 수 있습니다. 반대로 로그가 계속 쌓여 서버 디스크를 차지하는 문제도 있습니다. 로그를 읽는 방법과 얼마나 보관할지는 함께 정해야 합니다.이번 글에서는 Docker Compose에서 서비스와 시간 범위를 좁혀 로그를 확인하는 방법, 로그 드라이버의 역할, json-file 로테이션 예시를 살펴봅니다. 헬스체크와 시작 순서 글에서 확인한 오류를 더 자세히 추적할 때 이어서 사용할 수 있는 내용입니다.1. Docker logs는 어떤 로그를 보여줄까?일반적으로 Docker가 수집하는 로그는 컨테이너 프로세스의 표준 출력(stdout)과 표준 오류(stderr)에서 나옵니다. json-file 드라이버는.. 2026. 9. 8. Docker Compose .env와 env_file 차이: 환경변수가 적용되지 않을 때 확인할 것 .env 파일에 값을 적었는데 컨테이너 안에서는 보이지 않거나, 파일을 수정했는데 프로그램이 계속 이전 설정을 사용하는 경우가 있습니다. 파일 이름보다 중요한 것은 그 값이 “Compose 설정을 만드는 데 쓰이는지”, “컨테이너의 환경변수로 전달되는지”입니다.앞서 헬스체크와 시작 순서 글에서 변수로 DB 설정을 표현했습니다. 이번에는 민감한 정보 없이 APP_MODE, LOG_LEVEL 같은 가상 설정으로 값이 전달되는 경로를 살펴봅니다.1. .env에 적으면 자동으로 컨테이너에 들어갈까?기본 .env 파일은 Compose 파일의 변수 치환에 사용할 값을 제공하는 역할을 합니다. 예를 들어 image: "myapp:${TAG}"의 TAG 부분을 채우는 데 쓸 수 있습니다. .env에 있는 모든 항목이 .. 2026. 9. 8. Docker 컨테이너끼리 연결이 안 될 때: localhost·서비스 이름·포트 이해하기 PC 브라우저에서는 웹페이지가 열리는데, 다른 Docker 컨테이너에서 같은 주소를 호출하면 연결이 거부될 때가 있습니다. 이때 먼저 확인할 것은 “요청을 보내는 프로그램이 어디에서 실행되는가”입니다. 호스트의 브라우저와 컨테이너 안의 프로그램은 localhost를 서로 다른 대상으로 해석합니다.이번 글은 Docker 헬스체크와 시작 순서의 후속편입니다. 단일 Docker 호스트에서 Compose의 기본 bridge 네트워크를 사용하는 상황을 기준으로, 주소와 포트의 역할을 정리합니다. host 네트워크나 여러 서버에 걸친 네트워크는 설명 범위에서 제외합니다.1. localhost는 요청을 보내는 곳을 기준으로 봅니다호스트 PC에서 127.0.0.1에 접속하면 그 PC의 로컬 환경을 향합니다. 반면 일반.. 2026. 9. 8. Docker 컨테이너는 실행 중인데 서비스가 안 된다면? 헬스체크와 시작 순서 Docker 목록에서 컨테이너가 Up으로 표시되는데 웹페이지는 오류를 낼 때가 있습니다. 프로그램이 실행 중이라는 사실과 요청을 처리할 준비가 끝났다는 사실은 다릅니다. 데이터베이스가 초기화되는 동안 웹 프로그램이 먼저 접속을 시도하는 경우가 대표적인 예입니다.앞선 Docker 저장 공간과 데이터 유지 글이 재생성 후 데이터를 다뤘다면, 이번에는 서비스가 시작되는 순서와 준비 상태를 살펴봅니다. Docker Compose의 depends_on과 healthcheck가 각각 무엇을 해결하는지 구분해 보겠습니다.1. 실행 중·정상 판정·사용 가능은 다릅니다확인 수준알 수 있는 것추가로 확인할 것컨테이너 실행 중주 프로세스가 살아 있음초기화 완료와 요청 처리헬스체크 통과설정한 검사에 성공함검사가 필요한 기능을.. 2026. 9. 7. CCTV 관제 화면에 로그인하면 영상도 보호될까? 접근 권한의 구조 관제 페이지에 로그인 화면이 있으면 CCTV 영상도 자동으로 보호될까요? 확인해야 할 것은 페이지 진입뿐 아니라 실제 영상 요청이 어디에서 허용되는가입니다. 웹 화면과 미디어 서버가 별도로 동작한다면 각각의 접근 경로를 살펴봐야 합니다.이 글은 CCTV 웹 연결 구조의 후속편입니다. 로그인한 사용자가 어떤 카메라를 실시간으로 보고, 어떤 녹화를 다시 볼 수 있는지 설계하는 방법을 가상 매장 사례로 설명합니다.1. 로그인과 권한 확인이 답하는 질문인증은 “누구인가”를 확인하고, 인가는 “이 요청을 허용할 것인가”를 판단합니다. 로그인에 성공한 직원이라도 모든 카메라와 모든 관리 기능을 사용할 이유는 없습니다. 이 구분은 OWASP 접근 권한 안내에서도 설명하는 기본 원칙입니다.예를 들어 A매장 직원과 B매.. 2026. 9. 7. 이전 1 ··· 22 23 24 25 26 다음