본문으로 건너뛰기
피드

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

위키피디아에도 빅테크식 반노조 플레이북이 들어왔다

위키미디어 재단이 5월 열흘 사이 MediaWiki 장기 핵심 개발자를 해고하고, 자원봉사 편집자 요청을 처리하던 Community Tech 팀을 해산했다는 비판 글이다. 해고된 인력 상당수가 노조 조직 활동과 연결돼 있었고, 위키피디아 편집자들은 연대 파업까지 거론하고 있다. 재단은 2억9660만 달러의 준비금과 빠르게 성장하는 AI 대상 API 매출을 갖고 있어, 이 사안이 단순 비용 절감으로 보기 어렵다는 게 글의 핵심이다.

open-source

캘리포니아, 연령 확인법에서 리눅스 빼려는 수정안 추진

캘리포니아가 운영체제에 사용자 나이 확인을 요구하는 법안에서 대부분의 오픈소스 운영체제를 제외하는 수정안을 추진 중이다. 데비안, 페도라, 우분투, 아치, 리눅스 민트 같은 배포판은 빠질 가능성이 커졌지만, 스팀OS처럼 독점 앱 생태계와 연결된 플랫폼은 여전히 애매한 상태다.

open-source

마이크로소프트, 45년 전 86-DOS 소스코드를 오픈소스로 공개

마이크로소프트가 86-DOS 1.00 출시 45주년에 맞춰 지금까지 발견된 것 중 가장 오래된 DOS 소스코드를 공개했어. 팀 패터슨의 차고에 있던 도트 매트릭스 출력물을 스캔하고 옮겨 적어, 원본 바이너리와 바이트 단위로 동일하게 다시 컴파일되는 수준까지 복원한 게 포인트야.

open-source

밤부 랩, AGPLv3 위반 논란으로 오픈소스 커뮤니티와 충돌

3D 프린터 제조사 밤부 랩이 AGPLv3 라이선스 위반 논란에 휘말렸고, Software Freedom Conservancy가 두 건의 위반 사례를 확인했다는 내용이야. Louis Rossmann과 Gamers Nexus는 관련 개발자의 법적 방어를 위해 2만달러를 기부했고, 갈등의 핵심은 오픈소스 기반 생태계를 클라우드와 DRM으로 점점 닫아가려는 움직임이야.

open-source

플리퍼, 리눅스 기반 확장형 기기 '플리퍼 원' 공개

플리퍼가 기존 플리퍼 제로를 대체하는 후속작이 아니라, 리눅스 기반 네트워킹·확장형 기기인 플리퍼 원을 공개했어. RK3576 8코어 ARM 칩, 와이파이 6E, 듀얼 이더넷, NVMe, HDMI 4K 120Hz까지 넣으면서 장난감 같은 해킹 도구에서 훨씬 범용적인 리눅스 장비 쪽으로 방향을 넓히는 그림이야.