반갑습니다! 남무맘무입니다.
오늘은 지난 기본편에 이어서 scrcpy 프로그램을 좀 더 다양하게 활용할 수 있는 방법에 대해 소개해드리고자 합니다.
만약 지난 기본편을 보지 못하셨다면 '여기'로 들어가셔서 꼭!! 기본편을 보고 오시기 바랍니다. (이어지는 내용입니다!)
그럼, 시작해볼까요?
※ 목차를 보시고 필요한 부분만 활용하시기 바랍니다.
[연결] 1. USB 연결 말고, wifi로 연결하고 싶어요!
[연결] 2. 기기 여러 대를 하나의 PC에 연결하고 싶어요! & USB 연결도 필요하고, wifi 연결도 필요한데 어떻게 설정하나요?
[옵션] 3. scrcpy 프로그램에서 사용할 수 있는 옵션은 어떤 게 있나요?
[기타] 4. scrcpy로 소리는 전송할 수 없나요??
[실행] 5. 옵션, wifi, USB 연결.. 더 쉽게 연결할 수 있는 방법은 없나요?
[연결] 1. USB 연결 말고, wifi로 연결하고 싶어요!
사용하시는 환경에 따라 USB로 연결할 수 없는 상황이실 수도 있을 겁니다. 그럴 때에는 wifi로 연결할 수 있는데요, 꼼꼼하게 작성했으니 차근차근 따라와보시기 바랍니다.
※ 주의사항
- 최초 WIFI 설정은 USB로 연결된 상태에서 진행됩니다. (최초 설정이 완료된 이후에는 상관 없습니다)
- PC와 안드로이드 기기가 동일한 무선 네트워크에 연결되어 있어야 합니다.
- PC 또는 안드로이드 기기의 WIFI 연결 상황에 따라 USB 연결 방식에 비해 다소 지연 현상이 생기거나, 끊김이 발생할 수 있습니다. (이 부분의 경우 직접 테스트 해 보셔야 합니다.)
> PC에서
① cmd를 실행해주세요. (cmd는 윈도우 10 기준 검색 - cmd - 실행할 수도 있고, 윈도우 키 + R키를 눌러 실행창을 띄운 후 거기에 cmd를 입력해줄 수도 있습니다.)
② cd 명령어를 통해 scrcpy 실행파일이 있는 폴더로 접근합니다. (이 과정 때문에 제가 앞선 글에서 "드라이브의 '최상위 경로'에 압축을 푸는 것이 좋다"고 말씀드린 겁니다.)
<TIP> cmd cd 명령어 구문 설명 ① cd .. => 해당 폴더의 상위 경로로 이동합니다. ② cd + 폴더명 => 해당 드라이브 바로 하위에 위치한 폴더로 이동합니다. 이 2가지만 알고 계셔도 충분할 것 같습니다만 더 궁금하시다면 구글에 'cmd cd 명령어 사용법'이라고 검색해보시기 바랍니다. |
> 스마트폰에서
③ 앞선 '기본' 글에서 했던 것처럼 스마트폰과 PC를 USB로 연결해주세요. (제가 연결을 해제해달라고 하기 전까지 계속 유지하셔야 합니다.)
④ 아래 사진과 같이 wifi 설정에 들어가셔서 해당 기기와 wifi 공유기가 연결된 'IP 주소'를 확인하신 후, 잘 기억해두세요.
> (다시) PC에서
⑤ 아까 열어놓은 cmd에 아래와 같이 명령어를 순서대로 쳐줍니다.
⑤-1. 포트 열기
[명령어] adb tcpip 9000
[cmd 반응] restarting in TCP mode port: 9000
=> 이 명령어를 친 순간 USB 연결이 잠시 풀렸다가 다시 연결될 겁니다. / 이제 USB 연결을 해제하셔도 됩니다.
⑤-2. 기기와 연결하기
[명령어] adb connect 192.168.0.7:9000
[cmd 반응] connected to 192.168.0.7:9000
=> 위와 같이 cmd에 메시지가 출력되었다면 성공입니다.
⑤-3. scrcpy 실행
[명령어] scrcpy
[cmd 반응] ~~ => 프로그램 실행
위와 같은 과정을 잘 따라오셨다면 축하드립니다! 무선 연결에 성공하셨습니다 :) 그렇다면 다음에 연결할 때에도 이런 과정을 다시 거쳐야 할까요? 그렇진 않습니다. 그와 관련해 좀 더 편하게 실행하는 방법을 아래 '5번'에서 설명해드렸으니 확인하셔서 설정하시기 바랍니다.
[연결] 2. 기기 여러 대를 하나의 PC에 연결하고 싶어요! & USB 연결도 필요하고, wifi 연결도 필요한데 어떻게 설정하나요?
이번에는 1번에서 좀 더 심화하여 USB 연결도 필요하고, wifi 연결도 필요하신 분들을 위한 설명입니다.
① cmd를 실행하셔서 아래 사진과 같이 scrcpy 실행파일이 들어있는 폴더로 접속한 상태로 만들어주세요. (1-②번 과정과 동일)
② 해당 cmd 창에 'adb devices'라는 명령어를 입력하시고, Enter키를 눌러주세요.
②-1. 하나의 PC에 무선 연결과 유선 연결을 모두 한 경우
[명령어] adb devices
[cmd 반응] List of devices attached
ABCDEFGHIJK device
192.xxx.x.x:9000 device
②-2. 하나의 PC에 여러 스마트폰을 유선 연결한 적이 있거나, 혹은 한 번에 여러 스마트폰을 유선 연결한 경우
[명령어] adb devices
[cmd 반응] List of devices attached
123456789AB device
123456789CD device
=> 무선 연결과 유선 연결을 여러 대 모두 한 경우 위 2가지 경우가 섞여 있겠죠??
=> 참고 : '123456789AB '과 같이 숫자와 문자가 섞여있는 이 조합을 '시리얼넘버'라고 합니다. 기기마다 고유한 시리얼넘버를 가지고 있기 때문에 scrcpy로 여러 대 연결할 수가 있는 것이죠.
③ 이제 마찬가지로 scrcpy를 입력해주셔서 미러링을 진행해주시면 되는데요, 이때 반드시 아래와 같은 형태로 명령어를 입력해주셔야 합니다!
<TIP> 여러 대 기기를 연결할 때 (유선 연결) scrcpy -s 시리얼넘버 OR (무선 연결) scrcpy -s IP주소:포트 |
매번 이 과정을 거치기에는 번거로운 점이 많습니다. 각각의 시리얼넘버를 미리 설정해둔 후 필요할 때마다 실행하게 할 수도 있는데요, 그 방법은 아래 '5번'에서 소개해드렸으니 확인해보시기 바랍니다.
[옵션] 3. scrcpy 프로그램에서 사용할 수 있는 옵션은 어떤 게 있나요?
scrcpy 프로그램에서 사용하실 수 있는 옵션은 굉장히 다양한 것들이 있습니다.
해당 옵션들을 아시기 전에, 옵션을 사용하시는 법을 먼저 아실 필요가 있습니다.
<TIP> 옵션을 사용하는 방법 scrcpy ~~~~~ => '~' 표에 옵션을 넣어주시면 됩니다. ex) 위 2번과 같이 '여러 대 기기를 연결할 때'에는 scrcpy -s 옵션을 넣어주는 것처럼 말이죠! |
이제 옵션을 소개해드리겠습니다.
※ 사용자가 입력해야 하는 란에는 굵게 한 후 밑줄 처리를 했습니다.
[0] 송출 화면 조정
- 해상도 조정 : 화면의 해상도를 조정해주는 기능입니다. 만약 자신이 1280 * 720 해상도로 컴퓨터의 화면에 송출하고 싶다면 '1280'을 아래 값으로 넣어주시면 됩니다. (비율은 강제 고정입니다)
[입력] 긴 버전 : scrcpy --max-size 숫자 / ex) scrcpy --max-size 1280 // 짧은 버전 : scrcpy -m 숫자 / ex) scrcpy -m 1280
- 비트레이트 조정 : 비트레이트를 조정할 수 있는 기능입니다. (기본적으로는 8Mbps라고 합니다)
Q. 비트레이트가 뭔가요? / A. '시간과 빛이 만나는 곳'이라는 블로그 (여기)를 참고하시기 바랍니다. 잘 정리해두신 글이네요.
[입력] 긴 버전 : scrcpy --bit-rate 숫자+문자 / ex) scrcpy --bit-rate 2M // 짧은 버전 : scrcpy -b 숫자+문자 / ex) scrcpy -b 2M
- 프레임레이트 조정 : 프레임레이트를 제한할 수 있는 기능입니다. (공식적으로는 안드로이드 10에서만 지원하지만, 이전 버전에서도 작동한다고 합니다.)
Q. 프레임레이트가 뭔가요? / A. '시간과 빛이 만나는 곳'이라는 블로그 (여기)를 참고하시기 바랍니다. 잘 정리해두신 글이네요. (위와 동일)
[입력] scrcpy --max-fps 숫자 / ex) scrcpy --max-fps 15
[1] 창 설정
- 창 제목 : 기본적으로 창의 제목은 해당 기기의 모델명입니다. 그러나 그 창 제목을 바꾸고 싶으실 때에는 아래 명령어를 사용하시면 됩니다.
[입력] scrcpy --window-title 원하는 창 제목 / ex) scrcpy --window-title My device
[결과] 아래 이미지 참고
- 위치 & 크기 : 아래 명령어를 통해 창의 위치와 크기를 지정해 줄 수 있습니다. 다만, 명령어를 사용한다고 하더라도 크기가 고정되는 것은 아닙니다.
(1) 위치 지정
[입력] scrcpy --window-x x 좌표 값 --window-y y 좌표 값 / ex) scrcpy --window-x 100 --window-y 100
(2) 크기 지정
[입력] scrcpy --window-width 창 너비 --window-height 창 높이 / ex) --window-width 800 --window-height 600
[결과] 직접 해보시기 바랍니다... (별로 필요 없는 기능)
- 창 윗 부분 안 보이게 설정 : 아래 사진을 보시면 압니다.
[입력] scrcpy --window-borderless
[결과] 아래 이미지 참고
- 창 항상 최상단 설정 : scrcpy 창을 어떤 창이 오든 항상 최상단에 오도록 설정하는 옵션입니다.
[입력] scrcpy --always-on-top
[결과] 아래 이미지 참고
- 전체화면 모드 : scrcpy 프로그램을 자동으로 전체화면으로 실행하는 옵션입니다.
[입력] 긴 버전 : scrcpy --fullscreen / 짧은 버전 : scrcpy -f
[결과] 아래 이미지 참고
- 회전 : 창의 회전을 고정시키는 기능입니다.
[입력] scrcpy --rotation 숫자 / ex) scrcpy --rotation 1
[결과] 직접 해보세요.. (기기 회전과 관계 없이 지정된 값에 따라 창이 고정됩니다)
※ 숫자 안내
0 : 회전 없음 (기기 회전에 따라 함께 회전)
1 : 시계 반대방향 90도 회전2 : 180도 회전
3 : 시계 방향 90도 회전
[2] 기타 미러링 옵션들
※ 여기서부터는 대체로 직접 해보셔야 하는 것들이 많아 별도로 결과를 안내해드리지 않는다는 점을 양해 바랍니다.
- 제어 불가 설정 : scrcpy는 기본적으로 PC에서 안드로이드 기기 제어가 가능합니다. 그러나 이 옵션을 사용하면 모든 기기 제어 (단축키, 마우스 제어, 파일 전송 등)가 불가능하며, scrcpy는 단순히 화면을 띄워주는 역할만 하게 됩니다.
[입력] 긴 버전 : scrcpy --no-control / 짧은 버전 : scrcpy -n
- 화면 : 여러 대의 모니터가 있다면 scrcpy 프로그램이 띄워질 모니터 설정이 가능합니다.
[입력] scrcpy --display 모니터 번호
- 절전모드 전환 방지 : 장치가 절전 모드로 진입하는 것을 막는 옵션으로 보입니다. scrcpy 프로그램이 종료되면 원래의 절전 모드 설정으로 복원된다고 합니다. (github 설명은 그렇게 나와있는데, 안 써봐서 모르겠습니다)
[입력] 긴 버전 : scrcpy --stay-awake / 짧은 버전 : scrcpy -w
- 기기 화면 끄기 : scrcpy로 미러링이 이뤄지고 있는 동안 기기의 화면을 꺼버리는 옵션입니다. (그런데 저는 이 옵션을 사용했을 때 브라우저에서 사이트에 접속되지 않는 이슈가 발생해 그냥 화면을 켜놓은 채로 미러링을 사용하고 있습니다.)
[입력] 긴 버전 : scrcpy --turn-screen-off / 짧은 버전 : scrcpy -S (대문자입니다!! 소문자 아님)
- 이전 프레임 강제 렌더링 : scrcpy는 latency (지연 시간?) 최소화를 위해 항상 마지막으로 decoding된 프레임을 사용할 수 있도록 렌더링을 진행하고, 이전 프레임을 자동으로 삭제한다고 합니다. 이 옵션은 지연 시간을 늘려 모든 프레임을 강제로 렌더링 할 때 사용할 수 있는 것 같습니다. (라고 나와있기는 하나 어떤 옵션인지 정확하게는 잘 모르겠습니다.)
[입력] scrcpy --render-expired-frames
- 터치 보여주기 : 이 옵션은 개발자 옵션에서도 이미 제공하고 있는 기능이긴 합니다만 scrcpy에서도 '물리적인' 터치를 작은 아이콘으로 보여준다고 합니다. (테스트 결과 S펜같은 스타일러스 펜에 대한 터치는 표시하지 않는 것 같습니다.)
[입력] 긴 버전 : scrcpy --show-touches / 짧은 버전 : scrcpy -t
- PC 화면 보호기 비활성화 : 이 옵션을 사용하면 PC가 화면 보호기로 전환되는 것을 막을 수 있습니다.
[입력] scrcpy --disable-screensaver
[3] 기기 제어 관련 설정
※ 개발자 github에 있는 내용 중 필요하다고 생각되는 내용을 선별하여 제공합니다.
- 마우스 우클릭 & 휠 클릭 트리거 해제 : 기본적으로 마우스 우클릭은 뒤로가기 (또는 화면 켜기), 휠 클릭은 홈 버튼으로 지정되어 있습니다. 이 트리거를 해제하려면 아래 옵션을 사용하시면 됩니다.
[입력] scrcpy --forward-all-clicks
[4] 파일 전송
- 경로 지정 전송 : 기기에 파일 (APK 파일 제외, APK 파일은 드래그 & 드롭으로 전송시 자동으로 설치가 진행됩니다)을 전송하려고 할 때 기기의 경로를 지정해준다면 컴퓨터의 파일을 전송할 수 있다고 합니다.
[입력] scrcpy --push-target 기기 경로 / ex) scrcpy --push-target /sdcard/foo/bar/
[기타] 4. scrcpy로 소리는 전송할 수 없나요??
아쉽지만 scrcpy로 소리는 전송할 수 없습니다. 대신 독자께서 안드로이드 10 이상 버전을 탑재한 기기를 사용하고 계신다면 'sndcpy'를 통해 소리를 전송하실 수 있습니다. 개발자의 github 페이지 (github.com/rom1v/sndcpy)를 참고하시기 바랍니다. (그 이하 버전인 경우 AUX 케이블 혹은 블루투스로 전송할 수는 있습니다만.. 그리 품질이 좋진 않습니다. 자세한 내용은 구글링!)
[실행] 5. 옵션, wifi, USB 연결.. 더 쉽게 연결할 수 있는 방법은 없나요?
물론 있습니다! 단. 앞선 준비 과정들 (USB 연결, wifi 연결 등)을 모두 다 마치신 후에 가능한 이야기겠죠??
지금부터 설명해드리겠습니다.
> 준비 과정
① 자신이 사용할 옵션을 위 3번을 확인하신 후 미리 선택해둡니다.
② 이를 한 번에 입력해둡니다.
ex) 해상도 1280 * 800 설정, 비트레이트 2Mbps 설정, 프레임레이트 15fps 제한 시
scrcpy -m 1280 -b 2M --max-fps 15 => 이런 형태로 한 번에 입력해두기
③ 연결 방식을 고릅니다. (2가지 다 하시려면 2가지 모두 설정해두시면 됩니다)
※ 기기가 한 대라면 -s 옵션을 사용하실 필요는 없습니다만 2대 이상, 혹은 1대라도 유무선 연결을 병행할 경우 필히 '-s' 옵션을 사용하셔야 합니다.
③-1. 유선 연결 : [입력] scrcpy -s 일련번호
③-2. 무선 연결 : [입력] scrcpy -s IP 주소:포트
④ ②번과 ③번 내용을 합칩니다. => ④번이 우리가 최종적으로 설정할 값이라고 생각해두시면 됩니다.
ex) 2번 옵션 + 무선 연결
scrcpy -m 1280 -b 2M --max-fps 15 -s IP주소:포트
> 입력 과정
① 메모장을 여신 후, 위 준비 과정의 ④번 내용을 복사+붙여넣기 해주세요.
② 여러분의 scrcpy 실행파일이 있는 폴더에 '이름.bat' 형태로 저장해주세요. (아래 사진 참조)
③ 해당 실행파일을 실행하시면 정상적으로 미러링이 진행된다는 점을 알 수 있습니다. (만약 바탕화면에 바로가기를 만들고 싶으시다면 해당 bat 파일 마우스 우클릭 - 보내기 - 바탕화면에 바로가기 만들기 하시면 됩니다!)
지금까지 scrcpy를 통해 화면을 미러링하는 방법에 대해 살펴보았습니다.
또 다른 포스팅에서 뵙겠습니다 :)
★ 이런 글도 읽어보세요!
2023.03.31 - [IT & Internet/Web] - 보컬&반주 추출 AI 서비스, LALAL AI
2020/12/27 - [IT & Internet/IT 활용법] - 전화번호 없이 구글 계정 생성하는 법 (gmail, play store X)
2020/09/26 - [IT & Internet/IT 활용법] - 2020 NEW 모바일 유튜브앱 프리징, 멈추는 현상 해결하는 방법