Add recording to opus file
Use the FFmpeg opus muxer to record an opus file. PR #3978 <https://github.com/Genymobile/scrcpy/pull/3978>
This commit is contained in:
parent
d6bcde565f
commit
7321db6f28
3 changed files with 15 additions and 1 deletions
|
@ -1493,6 +1493,9 @@ get_record_format(const char *name) {
|
|||
if (!strcmp(name, "mka")) {
|
||||
return SC_RECORD_FORMAT_MKA;
|
||||
}
|
||||
if (!strcmp(name, "opus")) {
|
||||
return SC_RECORD_FORMAT_OPUS;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1986,6 +1989,13 @@ parse_args_with_getopt(struct scrcpy_cli_args *args, int argc, char *argv[],
|
|||
LOGE("Audio container does not support video stream");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (opts->record_format == SC_RECORD_FORMAT_OPUS
|
||||
&& opts->audio_codec != SC_CODEC_OPUS) {
|
||||
LOGE("Recording to OPUS file requires an OPUS audio stream "
|
||||
"(try with --audio-codec=opus)");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (opts->audio_codec == SC_CODEC_RAW) {
|
||||
|
|
|
@ -23,12 +23,14 @@ enum sc_record_format {
|
|||
SC_RECORD_FORMAT_MKV,
|
||||
SC_RECORD_FORMAT_M4A,
|
||||
SC_RECORD_FORMAT_MKA,
|
||||
SC_RECORD_FORMAT_OPUS,
|
||||
};
|
||||
|
||||
static inline bool
|
||||
sc_record_format_is_audio_only(enum sc_record_format fmt) {
|
||||
return fmt == SC_RECORD_FORMAT_M4A
|
||||
|| fmt == SC_RECORD_FORMAT_MKA;
|
||||
|| fmt == SC_RECORD_FORMAT_MKA
|
||||
|| fmt == SC_RECORD_FORMAT_OPUS;
|
||||
}
|
||||
|
||||
enum sc_codec {
|
||||
|
|
|
@ -66,6 +66,8 @@ sc_recorder_get_format_name(enum sc_record_format format) {
|
|||
case SC_RECORD_FORMAT_MKV:
|
||||
case SC_RECORD_FORMAT_MKA:
|
||||
return "matroska";
|
||||
case SC_RECORD_FORMAT_OPUS:
|
||||
return "opus";
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue