mirror of https://github.com/Genymobile/scrcpy
84 lines
1.8 KiB
Markdown
84 lines
1.8 KiB
Markdown
# Recording
|
|
|
|
To record video and audio streams while mirroring:
|
|
|
|
```bash
|
|
scrcpy --record=file.mp4
|
|
scrcpy -r file.mkv
|
|
```
|
|
|
|
To record only the video:
|
|
|
|
```bash
|
|
scrcpy --no-audio --record=file.mp4
|
|
```
|
|
|
|
To record only the audio:
|
|
|
|
```bash
|
|
scrcpy --no-video --record=file.opus
|
|
scrcpy --no-video --audio-codec=aac --record=file.aac
|
|
scrcpy --no-video --audio-codec=flac --record=file.flac
|
|
scrcpy --no-video --audio-codec=raw --record=file.wav
|
|
# .m4a/.mp4 and .mka/.mkv are also supported for opus, aac and flac
|
|
```
|
|
|
|
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).
|
|
|
|
[packet delay variation]: https://en.wikipedia.org/wiki/Packet_delay_variation
|
|
|
|
|
|
## Format
|
|
|
|
The video and audio streams are encoded on the device, but are muxed on the
|
|
client side. Several formats (containers) are supported:
|
|
- MP4 (`.mp4`, `.m4a`, `.aac`)
|
|
- Matroska (`.mkv`, `.mka`)
|
|
- OPUS (`.opus`)
|
|
- FLAC (`.flac`)
|
|
- WAV (`.wav`)
|
|
|
|
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 a known extension):
|
|
|
|
```
|
|
scrcpy --record=file --record-format=mkv
|
|
```
|
|
|
|
|
|
## No playback
|
|
|
|
To disable playback while recording:
|
|
|
|
```bash
|
|
scrcpy --no-playback --record=file.mp4
|
|
scrcpy -Nr file.mkv
|
|
# interrupt recording with Ctrl+C
|
|
```
|
|
|
|
It is also possible to disable video and audio playback separately:
|
|
|
|
```bash
|
|
# Record both video and audio, but only play video
|
|
scrcpy --record=file.mkv --no-audio-playback
|
|
```
|
|
|
|
## Time limit
|
|
|
|
To limit the recording time:
|
|
|
|
```bash
|
|
scrcpy --record=file.mkv --time-limit=20 # in seconds
|
|
```
|
|
|
|
The `--time-limit` option is not limited to recording, it also impacts simple
|
|
mirroring:
|
|
|
|
```
|
|
scrcpy --time-limit=20
|
|
```
|