NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    기타 안드로이드폰 미러링 ADB SCRCPY 명령어 모음 및 최적화 방법

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 폰보드나 안드로이드폰을 PC에 USB 또는 와이파이로 연결해서 사용하려면 SCRCPY를 사용할 수 있습니다. 엔지엠 매크로의 [ 안드로이드폰 연결 ] 액션을 이용하면 컴퓨터에 연결된 핸드폰에서 매크로를 제작 및 실행할 수 있습니다. 아래는 SCRCPY를 제어하기 위한 명령에 대해 설명하고 있습니다. 매크로 제작에 참고하시면 좋을거 같네요^^

     

    SCRCPY의 창 제목 설정

    scrcpy --window-title='NGMsoftware'

     

    위치 및 크기 설정

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

     

    창 제목 제거 (SCRCPY 상단의 제목 영역을 표시하지 않음)

    scrcpy --window-borderless

     

    창 최상위 고정

    scrcpy --always-on-top

     

    전체 화면으로 실행

    scrcpy --fullscreen
    scrcpy -f   # short version

     

    화면보호기 비활성

    scrcpy --disable-screensaver

     

    안드로이드폰 선택

    scrcpy --serial=0123456789abcdef
    scrcpy -s 0123456789abcdef   # short version
    
    # the serial is the ip:port if connected over TCP/IP (same behavior as adb)
    scrcpy --serial=192.168.1.1:5555

     

    USB로 연결된 안드로이드폰 선택

    scrcpy --select-usb
    scrcpy -d   # short version

     

    TCP/IP로 연결된 안드로이드폰 선택

    scrcpy --select-tcpip
    scrcpy -e   # short version

     

    TCP/IP에서 수신 대기중인 안드로이드폰 선택

    scrcpy --tcpip=192.168.1.1:5555
    scrcpy --tcpip=192.168.1.1        # default port is 5555

     

    TCP/IP 무선 연결

    scrcpy는 adb와 안드로이드폰이 통신하는데 사용되며 TCP/IP를 통해 안드로이드폰에 연결할 수 있습니다 . 안드로이드폰은 컴퓨터와 동일한 네트워크에 연결되어 있어야 합니다. --tcpip옵션을 사용하면 연결을 자동으로 구성할 수 있습니다.

    scrcpy --tcpip=192.168.1.1       # default port is 5555
    scrcpy --tcpip=192.168.1.1:5555

     

    안드로이드폰에서 adb TCP/IP 모드가 비활성화된 경우 (또는 IP 주소를 모르는 경우) USB를 통해 기기를 연결한 후 다음을 실행합니다.

    scrcpy --tcpip   # without arguments

     

    안드로이드폰 IP 주소와 adb 포트를 자동으로 찾고 필요한 경우 TCP/IP 모드를 활성화한 다음 시작하기 전에 안드로이드폰에 연결합니다. 만약, 수동으로 연결하려면 아래와 같이 TCP/IP를 활성화 할 수 있습니다.

    1. 장치를 컴퓨터의 USB 포트에 연결합니다.
    2. 장치를 컴퓨터와 동일한 Wi-Fi 네트워크에 연결합니다.
    3. 설정 > 전화 정보 > 상태에서 또는 다음 명령을 실행하여 장치 IP 주소를 가져옵니다.
    adb shell ip route | awk '{print $9}'
    1. adb장치에서 TCP/IP를 통해 활성화: adb tcpip 5555
    2. 장치를 분리하세요.
    3. 장치에 연결: adb connect DEVICE_IP:5555 ( DEVICE_IP 찾은 장치 IP 주소로 교체)
    4. scrcpy 실행하세요.
    5. adb disconnect되면 다시 실행하세요.

    ※ Android 11부터 무선 디버깅 옵션을 사용 하면 장치를 컴퓨터에 물리적으로 직접 연결하지 않아도 됩니다.

     

    [ AutoAdb ]를 사용하면 새 안드로이드폰이 연결될 때마다 임의의 명령을 실행할 수 있습니다. 안드로이드폰이 연결될 때 자동으로 scrcpy를 실행할 수 있습니다.

    autoadb scrcpy -s '{}'

     

    안드로이드폰에서 여러 디스플레이를 사용할 수 있는 경우 미러링할 디스플레이 순서를 정할 수 있습니다.

    scrcpy --display=1

     

    실행중인 아이디 목록 확인

    scrcpy --list-displays

     

    안드로이드폰 잠자기 모드 해제

    scrcpy --stay-awake
    scrcpy -w

     

    화면 끄기

    scrcpy --turn-screen-off
    scrcpy -S   # short version

     

    잠자기 모드와 화면 끄기 설정

    scrcpy --turn-screen-off --stay-awake
    scrcpy -Sw   # short version

     

    터치 표시 기능을 실행하세요. 매크로를 제작할 때 어느 부분을 클릭하고 있는지 확인하는 것은 중요합니다. 일반적으로 안드로이드폰의 해상도와 미러링(SCRCPY)의 해상도가 다르기 때문에 마우스 클릭 또는 안드로이드폰의 터치 위치가 달라질 수 있습니다. 터치 위치를 확인 후 엔지엠 매크로에서 배율을 조정해야 합니다.

    scrcpy --show-touches
    scrcpy -t   # short version

     

    종료할 때 안드로이드폰의 화면을 끄려면 아래 명령을 사용하세요.

    scrcpy --power-off-on-close

     

    연결할 때 전원을 켜지 않으려면 아래 명령을 사용하세요.

    scrcpy --no-power-on

     

    텍스트 입력 기본 설정

    기본적으로 문자는 키 이벤트를 사용하여 주입되므로 키보드가 게임에서 예상대로 작동합니다. (일반적으로 WASD 키의 경우) 그러나, 이로 인해 문제가 발생할 수 있습니다 . 이러한 문제가 발생하면 다음과 같이 방지할 수 있습니다.

    scrcpy --prefer-text

     

    위와 같은 옵션을 사용하면 게임에서 방향키는 동작할지 모르나, 키보드 입력에 문제가 발생할 수 있습니다. 원시키 이벤트를 사용하려면 아래와 같이 실행합니다.

    scrcpy --raw-key-events

     

    기본적으로 키를 누르고 있으면 반복되는 키 이벤트가 생성됩니다. 이로 인해 일부 게임에서는 이러한 이벤트가 쓸모없는 성능 문제를 발생할 수 있습니다. 반복되는 키 이벤트를 전달하지 않으려면 아래와 같이 사용할 수 있습니다.

    scrcpy --no-key-repeat

     

    오른쪽 클릭은 BACK(또는 전원 켜기)을 트리거하고, 가운데 클릭은 HOME을 트리거합니다. 이러한 바로 가기를 비활성화하고 대신 장치에 클릭을 전달하려면 다음을 수행하세요.

    scrcpy --forward-all-clicks

     

    기본적으로 scrcpy는 Android 기기 해상도에서 미러링을 시도합니다. 성능을 높이려면 더 낮은 해상도에서 미러링하는 것이 유용할 수 있습니다. 사이즈는 안드로이드폰 종횡비가 유지되도록 자동 계산됩니다. 이렇게 하면 1920×1080의 장치가 1024×576에서 미러링됩니다. 인코딩이 실패하면 scrcpy는 자동으로 더 낮은 정의로 다시 시도합니다.

    scrcpy --max-size=1024
    scrcpy -m 1024   # short version

     

    캡처 프레임 속도는 다음과 같이 제한할 수 있습니다.

    scrcpy --max-fps=15

     

    실제 캡처 프레임 속도는 콘솔에서 확인할 수 있습니다.

    scrcpy --print-fps

     

    미러링 방향을 고정하려면 아래와 같이 설정할 수 있습니다.

    scrcpy --lock-video-orientation     # initial (current) orientation
    scrcpy --lock-video-orientation=0   # natural orientation
    scrcpy --lock-video-orientation=1   # 90° counterclockwise
    scrcpy --lock-video-orientation=2   # 180°
    scrcpy --lock-video-orientation=3   # 90° clockwise

     

    초기 창 방향을 설정할수도 있습니다.

    scrcpy --rotation=0   # no rotation
    scrcpy --rotation=1   # 90 degrees counterclockwise
    scrcpy --rotation=2   # 180 degrees
    scrcpy --rotation=3   # 90 degrees clockwise

     

    일부 기기에서 SCRCPY가 사용 종료되거나 크래시가 발생할 수 있습니다. 이 경우에는 다른 인코더를 사용하면 해결되는 경우가 있습니다. 먼저 사용 가능한 인코더를 확인하기 위해 아래 명령을 실행합니다. 기기(Device)에 따라서 인코더 종류가 다릅니다.

    scrcpy --encoder _

    RcK3kYm.png

     

     

    위의 인코더 목록에서 하나를 선택해서 실행할 수 있습니다. 에러가 발생하지 않고 정상적으로 잘 작동되는 인코더를 선택하여 해당 기기를 미러링하세요.

    scrcpy --encoder OMX.google.h264.encoder

     

    ADB와 SCRCPY를 이용해서 멀티 다클라를 사용할 때 안정적으로 셋팅하려면 아래 내용들을 변경하면서 테스트해봐야 합니다. 우선, 퍼포먼스 및 메모리 사용을 줄이기 위해서 해상도와 사이즈를 줄이고, 비트레이트와 프레임 속도를 조정하세요. 마지막으로 인코더를 변경해보면서 문제가 발생하지 않는지 테스트 해봐야 합니다. 기기마다 최적화된 설정들이 있으니 정보 공유하면 좋을듯 합니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.