diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c index a2287a66dc533b..d6ba35013871cb 100644 --- a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c +++ b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c @@ -1051,6 +1051,11 @@ static int ffmpeg_mux_init_context(struct ffmpeg_mux *ffm) ffm->output->oformat->audio_codec = AV_CODEC_ID_NONE; #endif +#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(60, 0, 100) + /* Allow FLAC/OPUS in MP4 */ + ffm->output->strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL; +#endif + if (!init_streams(ffm)) { free_avformat(ffm); return FFM_ERROR; diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-mux.c b/plugins/obs-ffmpeg/obs-ffmpeg-mux.c index b821ada05d8081..1a3ce9cb402c60 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-mux.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-mux.c @@ -313,7 +313,9 @@ static void build_command_line(struct ffmpeg_muxer *stream, struct dstr *cmd, add_video_encoder_params(stream, cmd, vencoder); if (num_tracks) { - dstr_cat(cmd, "aac "); + const char *codec = obs_encoder_get_codec(aencoders[0]); + dstr_cat(cmd, codec); + dstr_cat(cmd, " "); for (int i = 0; i < num_tracks; i++) { add_audio_encoder_params(cmd, aencoders[i]);