scrcpy 4.0 - เครื่องมือมิเรอร์หน้าจอ Android
(github.com/Genymobile)- เพิ่ม flex display ทำให้สามารถปรับขนาดจอเสมือนแบบไดนามิกให้พอดีกับขนาดหน้าต่างไคลเอนต์ได้ด้วย
--flex-displayหรือ-x - ย้ายจาก SDL2 ไปเป็น SDL3 เพื่อใช้ประโยชน์จากการบำรุงรักษาที่ต่อเนื่อง การแก้บั๊ก และการรองรับจากอัปสตรีม พร้อมเปิดทางให้ใช้ฟีเจอร์ใหม่อย่างการล็อกอัตราส่วนภาพเมื่อปรับขนาดหน้าต่าง
- สามารถควบคุม ไฟฉายและการซูม จากแหล่งกล้องได้แบบไดนามิก และใช้
--camera-torch,--camera-zoom,--list-camerasเพื่อตั้งค่าเมื่อเริ่มต้นและตรวจสอบช่วงการซูมที่รองรับได้ - เปลี่ยนให้คงอัตราส่วนภาพของเนื้อหาไว้เมื่อปรับขนาดหน้าต่าง เพื่อหลีกเลี่ยงขอบดำ โดยสามารถกลับไปใช้พฤติกรรมเดิมได้ด้วย
--no-window-aspect-ratio-lock - เพิ่ม
--keep-activeเพื่อป้องกันไม่ให้หน้าจอดับเพราะเข้าสู่สถานะไม่ทำงานแม้ไม่มีอุปกรณ์เชื่อมต่อ โดยไม่ต้องเปลี่ยนค่าการตั้งค่าระดับระบบ - สีพื้นหลังเริ่มต้นเปลี่ยนจากสีดำล้วนเป็น สีเทาเข้ม และสามารถกำหนดสีแบบเลขฐานสิบหก 3 หลักหรือ 6 หลักได้ด้วย
--background-color - หากอุปกรณ์ตัดการเชื่อมต่อระหว่างการมิเรอร์ จะไม่ปิดหน้าต่างทันที แต่จะแสดง ไอคอนการตัดการเชื่อมต่อ เป็นเวลา 2 วินาที เพื่อลดความสับสนที่ทำให้ดูเหมือน scrcpy แครช
- มีการใช้วิธีเลี่ยงปัญหาหน้าจอกะพริบที่เกิดขึ้นหลังอัปเกรดเฟิร์มแวร์ Meta Quest ทำให้การมิเรอร์ Meta Quest กลับมาใช้งานได้อีกครั้ง
- FFmpeg ได้แก้ปัญหาที่การรีแซมเพิลความเงียบซึ่งถอดรหัสจากสตรีมเสียง OPUS ช้าลงประมาณ 40 เท่าและทำให้การใช้ CPU สูง
- เพิ่มคีย์ลัด
F11สำหรับสลับโหมดเต็มหน้าจอ และMOD+qสำหรับปิด scrcpy - บน Windows มีการปรับปรุงการตั้งค่า console code page เป็น UTF-8, รองรับ serial ของอุปกรณ์ที่มีช่องว่าง, การตรวจจับอุปกรณ์ TCP ที่ mDNS ให้มา และการคงหน้าต่างเทอร์มินัล Windows ไว้เมื่อเกิดข้อผิดพลาด
- อัปเกรด
platform-tools (adb)เป็น 37.0.0, FFmpeg เป็น 8.1.1, SDL เป็น 3.4.8 และ dav1d เป็น 1.5.3
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
เพิ่งย้ายบ้านมาไม่นาน แต่ผู้ให้บริการโครงสร้างพื้นฐานของ ISP แบบไม่แสวงหากำไรที่ใช้อยู่ทำให้การติดตั้ง สายไฟเบอร์ ใหม่ล่าช้าไปสองเดือน
ระหว่างนั้นเพื่อนบ้านที่อยู่ถัดออกไปฝั่งตรงข้ามถนนช่วยแชร์ WiFi ให้ และวิธีที่ดีที่สุดในการได้ความเร็วที่เสถียรคือเอามือถือใส่ถุงสลัดแล้วแขวนไว้สูง ๆ ตรงหน้าต่าง จากนั้นแชร์การเชื่อมต่อเข้าคอมพิวเตอร์ผ่าน USB
หาวิธีเปิด USB tethering อัตโนมัติก่อนเสียบสาย USB ไม่เจอ เลยต้องเสียบสาย เปิดการแชร์ แล้วค่อยเอามือถือใส่ถุงและจัดตำแหน่ง และถ้าสายหลุดกลางคันก็ต้องเริ่มใหม่ทั้งหมด
กว่าจะรู้ว่าดิสโทรของตัวเองมี แพ็กเกจ scrcpy ก็ช้าไปหน่อย แต่พอรู้แล้วก็สามารถเปิด tethering จากคอมพิวเตอร์ได้อย่างสบาย
จะไปถามเพื่อนบ้านข้าง ๆ เลยก็ได้ แต่บังเอิญว่าตอนเช้าวันนี้สายของตัวเองก็มีกำหนดจะเข้าพอดี
scrcpy ยอดเยี่ยมจริง ๆ เมื่อก่อนเคยใช้พิมพ์ข้อความยาว ๆ ด้วย และตอนนี้กลับมาทำแบบนั้นได้อีก ก็คงจะได้ใช้อีกแน่
บน Android รุ่นใหม่ ๆ ณ จุดนี้หน้าจอจะขึ้นเป็นสีดำ น่าจะเพราะเหตุผลด้านความปลอดภัย เลยเหมือนต้องปลดล็อกแบบไม่มองหน้าจอ
น่าจะกลายเป็นตัวเต็งของดองเกิลที่แพงที่สุดที่ผมเคยใช้
ถ้าใครบน Android ยังไม่เคยใช้ scrcpy นี่คือ โปรเจกต์ที่น่าทึ่งจริง ๆ
ไม่ค่อยมีบ่อยนักที่จะลองเครื่องมือใหม่แล้วรู้สึกทึ่งจากใจ แต่ scrcpy ทำได้
มันมีสวิตช์ดี ๆ เยอะมากที่ทำให้มันทำได้แทบทุกอย่างตามต้องการ จนคุ้มค่าที่จะอ่านวิธีใช้งาน
ในแง่ประสิทธิภาพมันนำหน้าตัวเลือก emulator อื่น ๆ อย่างชัดเจน
แม้แต่ผู้ใช้ที่ไม่ค่อยถนัดเทคโนโลยีก็น่าจะชอบมากเมื่อเห็นว่ามันลื่นไหลและใช้งานง่ายแค่ไหน
การที่สร้าง virtual display ได้อย่างยืดหยุ่น ด้วย
--flex-displayหรือ-xและยังปรับขนาดแบบไดนามิกให้เข้ากับขนาดหน้าต่างไคลเอนต์ได้ เป็นอะไรที่น่าทึ่งมากผมใช้บน Galaxy Z Flip 5 ด้วย
scrcpy --new-display=1920x1080/284ผมติดตั้งโมดูล disable-flag-secure บนมือถือที่รูตแล้ว แต่ภาพหน้าจอจาก
adbก็ยังออกมาดำอยู่ดีแต่การอัดวิดีโอผ่าน scrcpy กลับใช้ได้ดี เลยเห็นด้วยเต็มที่ว่ามันน่าทึ่งจริง
เป็นซอฟต์แวร์ที่ยอดเยี่ยมมาก เพิ่งมารู้จักตอน หน้าจอ OLED พัง ไม่นานนี้เอง
พอได้มือถือเครื่องใหม่มา สิ่งแรกที่ผมทำคือ เปิด ADB และตั้งให้เชื่อถือ ADB key ของพีซีแบบถาวร เพื่อให้ใช้วิธีนี้ได้ตอนหน้าจอพัง
การเชื่อถือแบบ “ถาวร” สำคัญมาก ต้องปิด “การเพิกถอนคีย์อัตโนมัติ” บนมือถือ ไม่งั้นมันจะหายไป
ช่วงหลายปีที่ผ่านมา ผมทำมือถือ Android หล่นจนหน้าจอพังใช้ไม่ได้หลายครั้ง วิธีนี้ช่วยลดความยุ่งยากไปได้มาก
เท่าที่ผมรู้ ถ้ายังไม่ได้เปิด debugging ไว้ก่อน และคอมพิวเตอร์เครื่องนั้นยังไม่ได้รับความเชื่อถือสำหรับ debugging การควบคุมมือถือที่หน้าจอตายแล้วแทบจะเป็นไปไม่ได้เลย
ตอนนั้นหน้าจอมือถือพัง และผมต้องใช้ แอปยืนยันตัวตน 5 ตัว ที่อยู่ในเครื่องเพื่อเช็กอินเข้างานและเข้าถึงสิ่งที่ต้องใช้สำหรับการทำงานจากระยะไกล
สุดท้ายผมก็คลำทางไปถึงการตั้งค่าความสว่างหน้าจอแบบไม่เห็นอะไรเลย แล้วเร่งความสว่างขึ้นสุด ซึ่งทำให้หน้าจอใช้งานได้เหมือนปกติไปจนถึงตอนเปลี่ยนเครื่อง
บทเรียนจากเรื่องนี้คืออย่าสร้าง single point of failure ที่ใหญ่ขนาดนั้นแบบที่ผมเคยทำ
ถ้าใช้ https://github.com/wsvn53/scrcpy-mobile ก็สามารถควบคุมมือถือ Android จากอุปกรณ์ iOS ได้
ผมต้องอ่านตั้งสามรอบกว่าจะรู้ว่านี่ somehow ไม่ใช่รีลีสของ
strcpyเป็นเครื่องมือที่ยอดเยี่ยม แต่สุดท้ายผมก็เลิกใช้ไป
บนมือถือ Samsung ของผมใช้ gesture-based navigation และทุกครั้งที่ใช้ scrcpy ระบบนำทางจะค้าง ต้องรีสตาร์ตมือถือถึงจะกลับมาใช้งานได้
มี issue เปิดไว้แล้ว แต่ผู้พัฒนายัง reproduces ไม่ได้ ดังนั้นก่อนมันจะถูกแก้ก็ใช้งานต่อได้ยาก และอย่างน้อยสำหรับผมมันรบกวนเกินไป
สงสัยจริงจังว่าทุกคนใช้มันทำอะไรกันบ้าง
กระบวนการนี้กินเวลาไปหลายวันและต้องมีมือถือรุ่นใกล้เคียงกันอีกเครื่องที่ยังใช้งานได้ไว้ทดสอบ แต่สุดท้ายก็สำเร็จและกู้ข้อมูลทั้งหมดในมือถือออกมาได้
ข้อบ่นเดียวเกี่ยวกับ scrcpy มีแค่นิดเดียวคือ ใน iPhone mirroring กด
tabแล้วมันจะเลื่อนไปยังช่องกรอกข้อมูลในแอปให้อัตโนมัติ แต่ scrcpy ยังไม่ทำแบบนั้นน่าสนใจ ผมกลับกันเลย คืออยากใช้ ไคลเอนต์ตัวเดียว กับทุกอย่าง เลยเริ่มทำ RDP server สำหรับ Android ขึ้นมา
มันค่อนข้างยาก แต่ตอนนี้ก็พอใช้งานได้ในระดับหนึ่งแล้ว
เห็นด้วยกับคนอื่น ๆ scrcpy ยอดเยี่ยมมากและใช้งานก็ง่ายจริง ๆ