世界を動かす技術を、日本語で。

Scrcpy v4.0

概要

scrcpy v4.0の主な変更点を解説。 SDL2からSDL3への移行や新機能追加。 ウィンドウのアスペクト比固定やカメラ制御機能の強化。 背景色や切断時のアイコン表示などUI改善。 多くのバグ修正とパフォーマンス向上。

scrcpy v4.0 新機能・変更点

  • SDL2からSDL3への移行 による保守性・新機能向上

    • SDL3 の新APIでウィンドウのアスペクト比固定が可能
    • 詳細は #6216 参照
  • フレックスディスプレイ(--flex-display/-x)対応

    • 仮想ディスプレイの 動的リサイズ が可能
    • 例:scrcpy --new-display=/192 -x --start-app=org.mozilla.firefox --keep-active --no-vd-system-decorations
    • ディスプレイサイズ/DPIの デフォルト値は1280x960/160
    • ビットレートやコーデック の調整で高品質維持
  • カメラのトーチ(ライト)とズーム制御

    • MOD+tで カメラトーチON、MOD+Shift+tでOFF
    • MOD+↑/↓で ズームイン/アウト
    • 起動時に --camera-torch でトーチON
    • --camera-zoom でズームレベル指定
    • --list-cameras で各カメラのズーム範囲確認
  • ウィンドウアスペクト比の固定

    • ウィンドウリサイズ時に 黒枠無しで比率維持
    • 従来動作希望の場合 --no-window-aspect-ratio-lock 指定
  • --keep-active による画面消灯防止

    • 定期的なユーザーアクティビティ信号 で消灯防止
    • システム設定の変更不要、接続状態問わず有効
  • 背景色のカスタマイズ

    • デフォルトはダークグレー に変更
    • --background-color で16進数カラー指定可能
    • 例:scrcpy --background-color=#234567
  • 切断時アイコン表示

    • 接続切断時に 2秒間アイコン表示 後ウィンドウ終了
    • クラッシュ誤認防止
  • Meta Quest対応

    • ファームウェア更新後の 画面フリッカー問題 を修正
    • 詳細は #5913 参照
  • OPUS無音時の高CPU使用率修正

    • FFmpeg側で修正、パフォーマンス改善
    • 詳細は #6715 参照
  • ショートカット追加

    • F11 でフルスクリーン切替(MOD+f同等)
    • MOD+q でscrcpy終了
  • その他の主な修正・強化

    • 物理・論理サイズ混同問題 の修正
    • rooted端末でのコピペ問題 の修正
    • colorspace変換バグ の修正
    • TCPデバイスのmDNS検出 対応
    • Windows端末でのUTF-8コードページ設定
    • adb 37.0.0/FFmpeg 8.1.1/SDL 3.4.8/dav1d 1.5.3 へのアップグレード

SDL3移行の意義

  • SDL3 への移行で 積極的なメンテナンスと将来性 確保
  • ウィンドウアスペクト比固定 など新機能の実現
  • SDLメンテナーチームへの感謝

フレックスディスプレイの詳細

  • --flex-display/-x でウィンドウリサイズに追従する仮想ディスプレイ
  • --new-display と組み合わせてアプリ起動やサイズDPI指定が可能
  • --keep-active との併用で画面消灯防止
  • 高ビットレート・高品質コーデック 指定推奨

カメラ制御機能の強化

  • トーチON/OFF、ズームイン/アウト がショートカットで即時操作
  • 起動オプション で初期状態を制御可能
  • ズーム範囲はカメラごとに異なる ため--list-camerasで確認

背景色・切断時アイコンの改善

  • 背景色カスタマイズ で見やすさ向上
  • 切断時アイコン で状態把握が容易に

主要バグ修正・技術的改善

  • Meta Quest対応、OPUS無音時CPU負荷低減
  • コピペ、色変換、デバイス検出など多岐に渡る細かな修正

コミュニティ・公式情報

  • BlueSky: @scrcpy.bsky.social
  • Twitter: @scrcpy_app
  • Reddit: r/scrcpy

Hackerたちの意見

すごいソフトウェアだね。最近、OLED画面が壊れたときに見つけたんだ。

画面が壊れた状態で動かすことができた? たぶん、電話がすでにデバッグを有効にしていて、機械が信頼されたデバッグ用の機械として追加されていないと、壊れた画面の電話を操作するのは無理だと思うけど?

これがあれば、2年前の精神的苦痛をかなり軽減できたかも。電話の画面が壊れて、リモートの仕事に必要な5つの認証アプリがあったから、どうしてもそれにアクセスしないといけなかったんだ。結局、画面の明るさを盲目的にナビゲートして最大にして、画面が正常に動くようになってから交換できた。教訓は、俺みたいに一つの大きな失敗のポイントを持たないことだね。

テクノロジーに詳しくない人でも、これがどれだけスムーズに簡単に動くかに驚くと思う。 > 「仮想ディスプレイは --flex-display(または -x)を使ってフレックスに作成できるようになった。つまり、クライアントウィンドウと一緒に動的にサイズを変更できるってこと。すごいね。」

scrcpyはすごいソフトウェアだよ。他の人は気づいてないかもしれないけど、サポートされていないデバイスでもDexが使えることがあるんだ。俺はGalaxy Z Flip 5でscrcpy --new-display=1920x1080/284を使って動かすことができたよ。

みんなの意見に賛成。Scrcpyは素晴らしくて、使いやすいよね。

https://github.com/wsvn53/scrcpy-mobile これを使えば、iOSデバイスからAndroid電話を操作できるよ。

最近引っ越したんだけど、使ってる非営利のISPのインフラ提供者が新しい光回線を設置するのに2ヶ月の遅延を課してるんだ。その間に、WiFiを共有してくれる近所の人たちに出会った。ちょっと遠くに住んでるんだけど、安定した接続を得るために、サラダバッグを使って窓の上に電話を吊るして、USB経由でコンピュータに接続を共有するのが一番良い方法だった。USBケーブルを差す前に自動的にUSB接続共有を有効にする方法は見つけられなかったし(解決策も探さなかったけど)、ケーブルを差して共有を有効にしてから電話をバッグに入れて位置を調整する必要があった。ケーブルが外れないように気をつけながらね。自分のディストリビューションにscrcpyパッケージがあることを知ったのは遅すぎた。これでコンピュータから便利に共有を有効にできるんだ。そういえば、近所の人に聞いてみた方が良かったかも。今朝、自分の回線を引く予定なんだ。scrcpyは素晴らしいよ。以前はこれを使って長いテキストを書いてたけど、また使えるようになったから、また始めるかも。最近のAndroidのバージョンでは、画面が黒い状態で盲目的にロックを解除する必要があるみたいで、セキュリティのためだと思う。

すごいツールだけど、使うのをやめなきゃいけなかった。サムスンのスマホでジェスチャーベースのナビゲーションを使ってるんだけど、scrcpyを使うたびにナビが動かなくなっちゃって、また動かすには電話を再起動しないといけないんだ。チケットは開いてるけど、開発者はその問題を再現できてないみたい。残念だけど、それが直るまで使い続けるのは無理だね。私にとっては不便すぎる。

その問題のリンクを貼ってください。

美しく書かれたCコードだね。すごく読みやすくて理解しやすい。

いいね。私は逆に、Android用のRDPサーバーを書き始めたよ。すべてのクライアントを一つにまとめたくてね。大変だったけど、今はなんとか使えるレベルになったよ。

これがstrcpyのリリースじゃないって気づくまで、3回も読まなきゃいけなかった。

ずっとAndroidをWindows PCの「良い」マイクとして使うことに集中してた。scrcpyは候補の一つだったけど、十分な低遅延でうまく動かせなかったんだ。もし試してみようと思うなら、オーディオインターフェースと安いXLRマイクを買った方がいいよ。