scrcpy/README.ko.md
2020-01-19 16:04:20 +01:00

16 KiB
Raw Blame History

scrcpy (v1.11)

This document will be updated frequently along with the original Readme file 이 문서는 원어 리드미 파일의 업데이트에 따라 종종 업데이트 될 것입니다

이 어플리케이션은 UBS ( 혹은 TCP/IP ) 로 연결된 Android 디바이스를 화면에 보여주고 관리하는 것을 제공합니다. GNU/Linux, WindowsmacOS 상에서 작동합니다. (아래 설명에서 디바이스는 안드로이드 핸드폰을 의미합니다.)

screenshot

주요 기능은 다음과 같습니다.

  • 가벼움 (기본적이며 디바이스의 화면만을 보여줌)
  • 뛰어난 성능 (30~60fps)
  • 높은 품질 (1920×1080 이상의 해상도)
  • 빠른 반응 속도 (35~70ms)
  • 짧은 부팅 시간 (첫 사진을 보여주는데 최대 1초 소요됨)
  • 장치 설치와는 무관함 (디바이스에 설치하지 않아도 됨)

요구사항

안드로이드 장치는 최소 API 21 (Android 5.0) 을 필요로 합니다.

디바이스에 adb debugging이 가능한지 확인하십시오.

어떤 디바이스에서는, 키보드와 마우스를 사용하기 위해서 추가 옵션 이 필요하기도 합니다.

앱 설치하기

Linux (리눅스)

리눅스 상에서는 보통 어플을 직접 설치 해야합니다. 어렵지 않으므로 걱정하지 않아도 됩니다.

Snap 패키지가 가능합니다 : scrcpy.

Arch Linux에서, AUR 패키지가 가능합니다 : scrcpy.

Gentoo에서 ,Ebuild 가 가능합니다 : scrcpy/.

Windows (윈도우)

윈도우 상에서, 간단하게 설치하기 위해 종속성이 있는 사전 구축된 아카이브가 제공됩니다 (adb 포함) : 해당 파일은 Readme원본 링크를 통해서 다운로드가 가능합니다.

어플을 직접 설치 할 수도 있습니다.

macOS (맥 OS)

이 어플리케이션은 아래 사항을 따라 설치한다면 Homebrew 에서도 사용 가능합니다 :

brew install scrcpy

PATH 로부터 접근 가능한 adb 가 필요합니다. 아직 설치하지 않았다면 다음을 따라 설치해야 합니다 :

brew cask install android-platform-tools

어플을 직접 설치 할 수도 있습니다.

실행

안드로이드 디바이스를 연결하고 실행하십시오:

scrcpy

다음과 같이 명령창 옵션 기능도 제공합니다.

scrcpy --help

기능

캡쳐 환경 설정

###사이즈 재정의

가끔씩 성능을 향상시키기위해 안드로이드 디바이스를 낮은 해상도에서 미러링하는 것이 유용할 때도 있습니다.

너비와 높이를 제한하기 위해 특정 값으로 지정할 수 있습니다 (e.g. 1024) :

scrcpy --max-size 1024
scrcpy -m 1024  # 축약 버전

이 외의 크기도 디바이스의 가로 세로 비율이 유지된 상태에서 계산됩니다. 이러한 방식으로 디바이스 상에서 1920×1080 는 모니터 상에서1024×576로 미러링될 것 입니다.

bit-rate 변경

기본 bit-rate 는 8 Mbps입니다. 비디오 bit-rate 를 변경하기 위해선 다음과 같이 입력하십시오 (e.g. 2 Mbps로 변경):

scrcpy --bit-rate 2M
scrcpy -b 2M  # 축약 버전

###프레임 비율 제한

안드로이드 버전 10이상의 디바이스에서는, 다음의 명령어로 캡쳐 화면의 프레임 비율을 제한할 수 있습니다:

scrcpy --max-fps 15

Crop (잘라내기)

디바이스 화면은 화면의 일부만 미러링하기 위해 잘라질 것입니다.

예를 들어, Oculus Go 의 한 쪽 눈만 미러링할 때 유용합니다 :

scrcpy --crop 1224:1440:0:0   # 1224x1440 at offset (0,0)
scrcpy -c 1224:1440:0:0       # 축약 버전

만약 --max-size 도 지정하는 경우, 잘라낸 다음에 재정의된 크기가 적용될 것입니다.

화면 녹화

미러링하는 동안 화면 녹화를 할 수 있습니다 :

scrcpy --record file.mp4
scrcpy -r file.mkv

녹화하는 동안 미러링을 멈출 수 있습니다 :

scrcpy --no-display --record file.mp4
scrcpy -Nr file.mkv
# Ctrl+C 로 녹화를 중단할 수 있습니다.
# 윈도우 상에서 Ctrl+C 는 정상정으로 종료되지 않을 수 있으므로, 디바이스 연결을 해제하십시오.

"skipped frames" 은 모니터 화면에 보여지지 않았지만 녹화되었습니다 ( 성능 문제로 인해 ). 프레임은 디바이스 상에서 타임 스탬프 ( 어느 시점에 데이터가 존재했다는 사실을 증명하기 위해 특정 위치에 시각을 표시 ) 되었으므로, packet delay variation 은 녹화된 파일에 영향을 끼치지 않습니다.

연결

무선연결

Scrcpy 장치와 정보를 주고받기 위해 adb 를 사용합니다. adb 는 TCIP/IP 를 통해 디바이스와 연결 할 수 있습니다 :

  1. 컴퓨터와 디바이스를 동일한 Wi-Fi 에 연결합니다.
  2. 디바이스의 IP address 를 확인합니다 (설정 → 내 기기 → 상태 / 혹은 인터넷에 '내 IP'검색 시 확인 가능합니다. ).
  3. TCP/IP 를 통해 디바이스에서 adb 를 사용할 수 있게 합니다: adb tcpip 5555.
  4. 디바이스 연결을 해제합니다.
  5. adb 를 통해 디바이스에 연결을 합니다: adb connect DEVICE_IP:5555 (DEVICE_IP 대신).
  6. scrcpy 실행합니다.

다음은 bit-rate 와 해상도를 줄이는데 유용합니다 :

scrcpy --bit-rate 2M --max-size 800
scrcpy -b2M -m800  # 축약 버전

여러 디바이스 사용 가능

만약에 여러 디바이스들이 adb devices 목록에 표시되었다면, serial 을 명시해야합니다:

scrcpy --serial 0123456789abcdef
scrcpy -s 0123456789abcdef  # 축약 버전

scrcpy 로 여러 디바이스를 연결해 사용할 수 있습니다.

SSH tunnel

떨어져 있는 디바이스와 연결하기 위해서는, 로컬 adb client와 떨어져 있는 adb 서버를 연결해야 합니다. (디바이스와 클라이언트가 동일한 버전의 adb protocol을 사용할 경우에 제공됩니다.):

adb kill-server    # 5037의 로컬 local adb server를 중단
ssh -CN -L5037:localhost:5037 -R27183:localhost:27183 your_remote_computer
# 실행 유지

다른 터미널에서는 :

scrcpy

무선 연결과 동일하게, 화질을 줄이는 것이 나을 수 있습니다:

scrcpy -b2M -m800 --max-fps 15

Window에서의 배치

맞춤형 window 제목

기본적으로, window의 이름은 디바이스의 모델명 입니다. 다음의 명령어를 통해 변경하세요.

scrcpy --window-title 'My device'

배치와 크기

초기 window창의 배치와 크기는 다음과 같이 설정할 수 있습니다:

scrcpy --window-x 100 --window-y 100 --window-width 800 --window-height 600

경계 없애기

윈도우 장식(경계선 등)을 다음과 같이 제거할 수 있습니다:

scrcpy --window-borderless

항상 모든 윈도우 위에 실행창 고정

이 어플리케이션의 윈도우 창은 다음의 명령어로 다른 window 위에 디스플레이 할 수 있습니다:

scrcpy --always-on-top
scrcpy -T  # 축약 버전

전체 화면

이 어플리케이션은 전체화면으로 바로 시작할 수 있습니다.

scrcpy --fullscreen
scrcpy -f  # short version

전체 화면은 Ctrl+f키로 끄거나 켤 수 있습니다.

다른 미러링 옵션

읽기 전용(Read-only)

권한을 제한하기 위해서는 (디바이스와 관련된 모든 것: 입력 키, 마우스 이벤트 , 파일의 드래그 앤 드랍(drag&drop)):

scrcpy --no-control
scrcpy -n

화면 끄기

미러링을 실행하는 와중에 디바이스의 화면을 끌 수 있게 하기 위해서는 다음의 커맨드 라인 옵션을(command line option) 입력하세요:

scrcpy --turn-screen-off
scrcpy -S

혹은 Ctrl+o을 눌러 언제든지 디바이스의 화면을 끌 수 있습니다.

다시 화면을 켜기 위해서는POWER (혹은 Ctrl+p)를 누르세요.

유효기간이 지난 프레임 제공 (Render expired frames)

디폴트로, 대기시간을 최소화하기 위해 scrcpy 는 항상 마지막으로 디코딩된 프레임을 제공합니다 과거의 프레임은 하나씩 삭제합니다.

모든 프레임을 강제로 렌더링하기 위해서는 (대기 시간이 증가될 수 있습니다) 다음의 명령어를 사용하세요:

scrcpy --render-expired-frames

화면에 터치 나타내기

발표를 할 때, 물리적인 기기에 한 물리적 터치를 나타내는 것이 유용할 수 있습니다.

안드로이드 운영체제는 이런 기능을 _Developers options_에서 제공합니다.

Scrcpy 는 이런 기능을 시작할 때와 종료할 때 옵션으로 제공합니다.

scrcpy --show-touches
scrcpy -t

화면에 물리적인 터치만 나타나는 것에 유의하세요 (손가락을 디바이스에 대는 행위).

입력 제어

복사-붙여넣기

컴퓨터와 디바이스 양방향으로 클립보드를 복사하는 것이 가능합니다:

  • Ctrl+c 디바이스의 클립보드를 컴퓨터로 복사합니다;
  • Ctrl+Shift+v 컴퓨터의 클립보드를 디바이스로 복사합니다;
  • Ctrl+v 컴퓨터의 클립보드를 text event 로써 붙여넣습니다 ( 그러나, ASCII 코드가 아닌 경우 실행되지 않습니다 )

텍스트 삽입 우선 순위

텍스트를 입력할 때 생성되는 두 가지의 events 가 있습니다:

  • key events, 키가 눌려있는 지에 대한 신호;
  • text events, 텍스트가 입력되었는지에 대한 신호.

기본적으로, 글자들은 key event 를 이용해 입력되기 때문에, 키보드는 게임에서처럼 처리합니다 ( 보통 WASD 키에 대해서 ).

그러나 이는 issues 를 발생시킵니다. 이와 관련된 문제를 접할 경우, 아래와 같이 피할 수 있습니다:

scrcpy --prefer-text

( 그러나 이는 게임에서의 처리를 중단할 수 있습니다 )

파일 드랍

APK 실행하기

APK를 실행하기 위해서는, APK file(파일명이.apk로 끝나는 파일)을 드래그하고 scrcpy window에 드랍하세요 (drag and drop)

시각적인 피드백은 없고,log 하나가 콘솔에 출력될 것입니다.

디바이스에 파일 push하기

디바이스의/sdcard/에 파일을 push하기 위해서는, APK파일이 아닌 파일을_scrcpy_ window에 드래그하고 드랍하세요.(drag and drop).

시각적인 피드백은 없고,log 하나가 콘솔에 출력될 것입니다.

해당 디렉토리는 시작할 때 변경이 가능합니다:

scrcpy --push-target /sdcard/foo/bar/

오디오의 전달

_scrcpy_는 오디오를 직접 전달해주지 않습니다. USBaudio (Linux-only)를 사용하세요.

추가적으로 issue #14를 참고하세요.

단축키

실행내용 단축키 단축키 (macOS)
전체화면 모드로 전환 Ctrl+f Cmd+f
window를 1:1비율로 전환하기(픽셀 맞춤) Ctrl+g Cmd+g
검은 공백 제거 위한 window 크기 조정 Ctrl+x | Double-click¹ Cmd+x | Double-click¹
HOME 클릭 Ctrl+h | Middle-click Ctrl+h | Middle-click
BACK 클릭 Ctrl+b | Right-click² Cmd+b | Right-click²
APP_SWITCH 클릭 Ctrl+s Cmd+s
MENU 클릭 Ctrl+m Ctrl+m
VOLUME_UP 클릭 Ctrl+ (up) Cmd+ (up)
VOLUME_DOWN 클릭 Ctrl+ (down) Cmd+ (down)
POWER 클릭 Ctrl+p Cmd+p
전원 켜기 Right-click² Right-click²
미러링 중 디바이스 화면 끄기 Ctrl+o Cmd+o
알림 패널 늘리기 Ctrl+n Cmd+n
알림 패널 닫기 Ctrl+Shift+n Cmd+Shift+n
디바이스의 clipboard 컴퓨터로 복사하기 Ctrl+c Cmd+c
컴퓨터의 clipboard 디바이스에 붙여넣기 Ctrl+v Cmd+v
Copy computer clipboard to device Ctrl+Shift+v Cmd+Shift+v
Enable/disable FPS counter (on stdout) Ctrl+i Cmd+i

¹검은 공백을 제거하기 위해서는 그 부분을 더블 클릭하세요 _²화면이 꺼진 상태에서 우클릭 시 다시 켜지며, 그 외의 상태에서는 뒤로 돌아갑니다.

맞춤 경로 (custom path)

특정한 adb binary를 사용하기 위해서는, 그것의 경로를 환경변수로 설정하세요. ADB:

ADB=/path/to/adb scrcpy

scrcpy-server.jar파일의 경로에 오버라이드 하기 위해서는, 그것의 경로를 SCRCPY_SERVER_PATH에 저장하세요.

scrcpy 인 이유?

한 동료가 gnirehtet와 같이 발음하기 어려운 이름을 찾을 수 있는지 도발했습니다.

strcpystring을 copy하고; scrcpyscreen을 copy합니다.

빌드하는 방법?

BUILD을 참고하세요.

흔한 issue

FAQ을 참고하세요.

개발자들

developers page를 참고하세요.

라이선스

Copyright (C) 2018 Genymobile
Copyright (C) 2018-2020 Romain Vimont

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

관련 글 (articles)