Skip to content

scrcpy v1.10

Compare
Choose a tag to compare
@rom1v rom1v released this 04 Aug 20:08
· 2165 commits to master since this release
v1.10

To receive a notification on new releases, click on Watch > Releases only on the top.


scrcpy v1.10

Changes since v1.9:

  • Reduce latency by 1 frame (#646)
  • Record asynchronously
  • Use Cmd instead of Ctrl for shortcuts on macOS when possible (#642)
  • Add option to set a custom window title (#120, #614)
  • Add option to change the push target (#659)
  • Make --turn-screen-off work for Android Q devices (#586, #587)
  • Prevent to turn screen off if no control (#608)
  • Upgrade FFmpeg to 4.1.4 in Windows releases
  • Upgrade platform-tools to 29.0.2 (adb) in Windows releases
  • Upgrade SDL to 2.0.10 in Windows releases

Highlights

Reduced latency

One major goal of scrcpy is to mirror Android devices with minimal latency.

However, the way the H.264 video stream was parsed by FFmpeg introduced a latency of one frame. As a consequence, a frame was not sent to the decoder before the next one was (partially) received.

In this release, this part has been rewritten so that a frame is decoded as soon as it is received, by taking advantage of the knowledge of packet boundaries on the device side.

As detailed in #646, this effectively reduces the latency by one frame. For example, in 800x448 (-m 800), the end-to-end latency can be as low as one frame (for a video at 30 fps, about ~35ms):

448x800_30fps_lowlatency

Asynchronous recording

Recording the video stream (with scrcpy --record file.mkv) while mirroring consists in muxing, on the computer side, the H.264 packets in an MKV or MP4 container (without reencoding).

For simplicity, this muxing was done by the thread receiving the stream and feeding the decoder. In practice, it worked well enough, but whenever writing the file took too much time (during a blocking I/O call), this delayed the decoding of the following frames.

For maximum performance even when recording is enabled, the recorder now uses a dedicated thread.

macOS shortcuts

Mac users reported that Cmd was more natural than Ctrl for scrcpy shortcuts. Many shortcuts have been changed: see shortcuts.