From e637feba51c2eac6de27ebb318a2f7a1aa54a62d Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Tue, 14 Nov 2023 09:08:24 +0100 Subject: [PATCH] Update muxers documentation Recording now supports formats other than mp4 and mkv. --- app/data/bash-completion/scrcpy | 2 +- app/data/zsh-completion/_scrcpy | 2 +- app/scrcpy.1 | 4 ++-- app/src/cli.c | 4 ++-- doc/recording.md | 9 +++++---- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/app/data/bash-completion/scrcpy b/app/data/bash-completion/scrcpy index eaed88b7..08ca29db 100644 --- a/app/data/bash-completion/scrcpy +++ b/app/data/bash-completion/scrcpy @@ -125,7 +125,7 @@ _scrcpy() { return ;; --record-format) - COMPREPLY=($(compgen -W 'mkv mp4' -- "$cur")) + COMPREPLY=($(compgen -W 'mp4 mkv m4a mka opus aac' -- "$cur")) return ;; --render-driver) diff --git a/app/data/zsh-completion/_scrcpy b/app/data/zsh-completion/_scrcpy index 4b1e5868..31706224 100644 --- a/app/data/zsh-completion/_scrcpy +++ b/app/data/zsh-completion/_scrcpy @@ -65,7 +65,7 @@ arguments=( '--push-target=[Set the target directory for pushing files to the device by drag and drop]' {-r,--record=}'[Record screen to file]:record file:_files' '--raw-key-events[Inject key events for all input keys, and ignore text events]' - '--record-format=[Force recording format]:format:(mp4 mkv)' + '--record-format=[Force recording format]:format:(mp4 mkv m4a mka opus aac)' '--render-driver=[Request SDL to use the given render driver]:driver name:(direct3d opengl opengles2 opengles metal software)' '--require-audio=[Make scrcpy fail if audio is enabled but does not work]' '--rotation=[Set the initial display rotation]:rotation values:(0 1 2 3)' diff --git a/app/scrcpy.1 b/app/scrcpy.1 index 2901d014..e72cf617 100644 --- a/app/scrcpy.1 +++ b/app/scrcpy.1 @@ -347,7 +347,7 @@ Record screen to The format is determined by the .B \-\-record\-format -option if set, or by the file extension (.mp4 or .mkv). +option if set, or by the file extension. .TP .B \-\-raw\-key\-events @@ -355,7 +355,7 @@ Inject key events for all input keys, and ignore text events. .TP .BI "\-\-record\-format " format -Force recording format (either mp4 or mkv). +Force recording format (mp4, mkv, m4a, mka, opus or aac). .TP .BI "\-\-render\-driver " name diff --git a/app/src/cli.c b/app/src/cli.c index 462465fa..078ce315 100644 --- a/app/src/cli.c +++ b/app/src/cli.c @@ -583,7 +583,7 @@ static const struct sc_option options[] = { .argdesc = "file.mp4", .text = "Record screen to file.\n" "The format is determined by the --record-format option if " - "set, or by the file extension (.mp4 or .mkv).", + "set, or by the file extension.", }, { .longopt_id = OPT_RAW_KEY_EVENTS, @@ -594,7 +594,7 @@ static const struct sc_option options[] = { .longopt_id = OPT_RECORD_FORMAT, .longopt = "record-format", .argdesc = "format", - .text = "Force recording format (either mp4 or mkv).", + .text = "Force recording format (mp4, mkv, m4a, mka, opus or aac).", }, { .longopt_id = OPT_RENDER_DRIVER, diff --git a/doc/recording.md b/doc/recording.md index 76a7efd6..d844b368 100644 --- a/doc/recording.md +++ b/doc/recording.md @@ -31,14 +31,15 @@ course, not if you capture your scrcpy window and audio output on the computer). ## Format 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`) +client side. Several formats (containers) are supported: + - MP4 (`.mp4`, `.m4a`, `.aac`) + - Matroska (`.mkv`, `.mka`) + - OPUS (`.opus`) 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`): +needs not end with a known extension): ``` scrcpy --record=file --record-format=mkv