scrcpy/doc/recording.md
Romain Vimont a2c8910006 Rename --no-mirror to --no-playback
This option impacts video and audio _playback_. For example, if we use
V4L2, the device is still "mirrored" (via V4L2), even if playback is
disabled. Therefore, "playback" is more approriate than "mirror".

The initial option --no-display option was renamed to --no-mirror by
commit 6928acdeac, but this has never been
released, so it is ok to rename it one more time.

Refs #3978 <https://github.com/Genymobile/scrcpy/pull/3978#issuecomment-1549420103>
PR #4033 <https://github.com/Genymobile/scrcpy/pull/4033>
2023-05-27 09:55:38 +02:00

1.2 KiB

Recording

To record video and audio streams while mirroring:

scrcpy --record=file.mp4
scrcpy -r file.mkv

To record only the video:

scrcpy --no-audio --record=file.mp4

To record only the audio:

scrcpy --no-video --record=file.opus
scrcpy --no-video --audio-codec=aac --record-file=file.aac
# .m4a/.mp4 and .mka/.mkv are also supported for both opus and aac

To disable playback while recording:

scrcpy --no-playback --record=file.mp4
scrcpy -Nr file.mkv
# interrupt recording with Ctrl+C

Timestamps are captured on the device, so packet delay variation does not impact the recorded file, which is always clean (only if you use --record of course, not if you capture your scrcpy window and audio output on the computer).

The video and audio streams are encoded on the device, but are muxed on the client side. Two formats (containers) are supported:

  • Matroska (.mkv)
  • MP4 (.mp4)

The container is automatically selected based on the filename.

It is also possible to explicitly select a container (in that case the filename needs not end with .mkv or .mp4):

scrcpy --record=file --record-format=mkv