본문으로 건너뛰기
피드

scrcpy 4.0 공개, SDL3 전환하고 가상 디스플레이·카메라 제어 확장

open-source 약 7분
vote
0
댓글
북마크

안드로이드 화면 미러링 도구 scrcpy가 4.0으로 올라가면서 SDL2에서 SDL3로 전환했다. 이번 릴리스는 동적 크기 조절이 가능한 flex display, 카메라 플래시와 줌 제어, 창 비율 고정, 연결 끊김 표시, Meta Quest 깜빡임 수정 등 실제 사용감 개선이 많다. FFmpeg, adb, SDL 같은 핵심 의존성도 함께 업데이트됐다.

  • 1

    scrcpy 4.0은 SDL3로 마이그레이션해 창 비율 고정 같은 새 기능을 확보함

  • 2

    가상 디스플레이를 클라이언트 창 크기에 맞춰 동적으로 조절하는 flex display가 추가됨

  • 3

    카메라 소스 사용 시 플래시와 줌을 단축키나 옵션으로 제어할 수 있음

  • 4

    OPUS 무음 디코딩 때 CPU가 과하게 쓰이던 버그를 FFmpeg 쪽에서 수정함

  • scrcpy 4.0의 큰 축은 SDL2에서 SDL3로 갈아탄 것임

    • SDL3는 현재 유지보수와 버그 수정이 활발하고, scrcpy가 앞으로 기대기 좋은 기반이 됨
    • 덕분에 창 크기를 조절할 때 콘텐츠 비율을 유지하는 기능도 자연스럽게 들어옴
    • 예전처럼 창은 마음대로 늘어나고 남는 부분에 검은 테두리가 생기는 방식은 --no-window-aspect-ratio-lock으로 되돌릴 수 있음
  • 가상 디스플레이 쪽은 꽤 실용적으로 좋아짐

    • --flex-display 또는 -x를 쓰면 새 가상 디스플레이가 클라이언트 창 크기에 맞춰 동적으로 리사이즈됨
    • 예시 명령은 scrcpy --new-display=/192 -x --start-app=org.mozilla.firefox --keep-active --no-vd-system-decorations 형태
    • 큰 창에서도 화질을 유지하려면 --video-codec=h265 -b16M처럼 코덱과 비트레이트를 조정하는 사용법도 제시됨

💡

> 안드로이드 앱을 데스크톱 창 크기에 맞춰 테스트하는 사람이라면 --flex-display가 이번 릴리스에서 제일 먼저 볼 기능임. 창 크기 변화에 맞춰 가상 디스플레이 자체가 따라 움직이는 게 핵심임.

  • 카메라 미러링도 이제 손맛이 붙음

    • MOD+t로 카메라 플래시를 켜고, MOD+Shift+t로 끌 수 있음
    • MOD+↑, MOD+↓로 줌 인·아웃도 가능함
    • 시작할 때부터 켜려면 --camera-torch, 줌 배율을 지정하려면 --camera-zoom=1.5 같은 옵션을 쓰면 됨
    • 카메라별 지원 줌 범위는 --list-cameras에서 확인하고, 범위를 벗어나면 자동으로 보정됨
  • --keep-active는 은근히 중요한 옵션임

    • 기기가 비활성 상태로 판단돼 화면이 꺼지는 걸 막기 위해 주기적으로 사용자 활동 신호를 보냄
    • --stay-awake--screen-off-timeout처럼 전역 설정을 바꾸지 않음
    • 충전 중이 아니어도 동작하는 게 차이점임
  • 연결이 끊겼을 때 바로 창이 닫히던 동작도 바뀜

    • 예전에는 미러링 중 연결이 끊기면 창이 즉시 닫혀서 scrcpy가 크래시난 것처럼 보일 수 있었음
    • 이제는 연결 끊김 아이콘을 2초 동안 보여준 뒤 닫음
    • 작은 변화지만 현장에서 디버깅할 때 “앱이 죽었나, 케이블이 빠졌나”를 구분하는 데 도움이 됨
  • 성능 버그 중에서는 OPUS 무음 처리 이슈가 재밌음

    • OPUS 오디오 스트림에서 디코딩된 무음이 정확한 0이 아니라 아주 작은 비정규 숫자라서 리샘플링이 약 40배 느려졌다고 함
    • 그래서 조용한 오디오를 재생할 때 오히려 CPU를 더 많이 쓰는 이상한 상황이 생김
    • 이 문제는 FFmpeg 쪽에서 직접 수정됨

중요

> “무음이 비무음보다 CPU를 더 먹는다”는 버그는 단순 최적화 문제가 아니라 숫자 표현의 함정임. 실시간 미러링 도구에서는 이런 작은 오디오 처리 비용도 배터리와 발열로 바로 튄다.

  • Meta Quest 사용자에게도 반가운 수정이 있음

    • Quest 펌웨어 업데이트 이후 scrcpy 미러링에서 깜빡임이 발생했는데, 이번 릴리스에서 우회책이 들어감
    • 물리 크기와 논리 크기를 혼동하던 문제, 정사각형 디스플레이 회전, 가상 디스플레이 정렬 같은 화면 관련 버그도 같이 다듬어짐
  • 의존성도 최신 쪽으로 올라감

    • platform-tools, 즉 adb는 37.0.0으로 업데이트됨
    • FFmpeg는 8.1.1, SDL은 3.4.8, dav1d는 1.5.3으로 올라감
    • Windows 콘솔 코드 페이지를 UTF-8로 설정하고, 공백이 들어간 기기 시리얼 처리, mDNS로 제공되는 TCP 기기 탐지도 수정됨

기술 맥락

  • scrcpy가 SDL3로 옮긴 건 단순 라이브러리 버전업이 아니에요. 화면 미러링 도구는 창 크기, 입력 이벤트, 렌더링 타이밍이 전부 사용자 경험으로 이어지는데, SDL3가 제공하는 새 창 제어 API를 쓰면 이런 부분을 운영체제별로 덜 힘들게 맞출 수 있거든요.

  • flex display가 중요한 이유는 “보이는 창만 늘리는 것”과 “안드로이드 쪽 가상 디스플레이 크기 자체를 바꾸는 것”이 다르기 때문이에요. 후자는 앱이 실제로 다른 화면 크기에서 실행되는 것처럼 테스트할 수 있어서, 반응형 UI나 태블릿 레이아웃 확인에 더 쓸모가 있어요.

  • --keep-active도 방향이 좋아요. 전역 설정을 바꾸는 방식은 테스트 후 원복을 까먹기 쉽고, 기기 상태를 지저분하게 만들 수 있어요. 사용자 활동 신호를 주기적으로 보내는 방식은 scrcpy 세션 안에서만 문제를 해결하니까 도구답게 깔끔해요.

  • OPUS 무음 CPU 버그는 실시간 도구에서 하위 라이브러리 품질이 왜 중요한지 보여줘요. 화면 전송, 오디오 디코딩, 리샘플링, 렌더링이 동시에 돌기 때문에 한 단계에서 40배 느린 경로를 타면 전체 체감이 바로 흔들릴 수 있어요.

scrcpy는 개발자·QA·안드로이드 파워유저가 매일 쓰는 도구라 작은 UX 개선도 체감이 크다. 4.0은 화려한 신기능 하나보다 창 크기, 연결 종료, 무음 CPU 사용량처럼 ‘매일 거슬리던 부분’을 많이 다듬은 릴리스다.

댓글

댓글

댓글을 불러오는 중...

open-source

NIPA, 260명 규모 오픈소스 컨트리뷰션 아카데미 시작

정보통신산업진흥원이 2026 오픈소스 컨트리뷰션 아카데미 발대식을 열고 13주간의 프로젝트 활동을 시작했음. 국내 개발자들이 GitHub 기반 글로벌 협업 환경에서 코드, 문서, 버그 수정, 풀 리퀘스트를 직접 경험하게 하는 프로그램임.

open-source

그누보드7, 디딤과 손잡고 멀티클라우드 도입 문턱 낮춘다

에스아이알소프트가 클라우드 전문기업 디딤과 협력해 그누보드7 기반 웹서비스 구축·운영 환경을 넓히기로 했다. 커뮤니티, 쇼핑몰, 예약, 구독형 서비스 같은 실무 프로젝트에서 서버 구성과 운영 부담을 줄이는 게 핵심이다.

open-source

오픈소스 컨트리뷰션 아카데미 출범, 국내 개발자 260여 명 참여

정보통신산업진흥원이 2026 오픈소스 컨트리뷰션 아카데미 발대식을 열고 13주간의 활동을 시작했다. 11개 프로젝트팀의 멘토와 멘티 260여 명이 글로벌 오픈소스 프로젝트 기여를 목표로 코드 개발, 문서화, 오류 수정 등을 진행한다.

open-source

NIPA, 국내 개발자 260명 규모 오픈소스 컨트리뷰션 아카데미 시작

정보통신산업진흥원이 2026 오픈소스 컨트리뷰션 아카데미 발대식을 열고 국내 개발자의 글로벌 오픈소스 프로젝트 참여를 지원한다. 11개 프로젝트팀, 멘토·멘티 260여 명이 13주 동안 깃허브 기반 협업, 코드 리뷰, 문서화, 오류 수정 등을 실제로 경험한다.

open-source

Ghostty 엔진을 Emacs 안으로 끌고 온 터미널, Ghostel.el

Ghostel.el은 Ghostty의 libghostty-vt를 기반으로 Emacs 안에서 동작하는 터미널 에뮬레이터다. eat 스타일의 여러 입력 모드, 안정적인 복사 모드, line mode, 자동 password prompt 처리, compile-mode 유사 실행 버퍼, Kitty graphics 지원, 높은 throughput을 앞세워 eat/vterm과 차별화함.