diff --git a/configure b/configure
index 133448026601da4485a3a9b3266c0263274c2646..c3c4f8219170e4933f4b0ad8318d2932c9f65a9e 100755
--- a/configure
+++ b/configure
@@ -2193,6 +2193,7 @@ w64_demuxer_select="wav_demuxer"
 wav_demuxer_select="riffdec"
 wav_muxer_select="riffenc"
 webm_muxer_select="riffenc"
+webm_muxer_suggest="libopus_encoder libvorbis_encoder libvpx_vp8_encoder libvpx_vp9_encoder"
 wtv_demuxer_select="riffdec"
 xmv_demuxer_select="riffdec"
 xwma_demuxer_select="riffdec"
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index b1c0020edd41ce1d36f9921d21986486b1cb4ebd..498f479a77155f0ea65cb389598b366cf8d42b11 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -1790,8 +1790,8 @@ AVOutputFormat ff_webm_muxer = {
     .mime_type         = "video/webm",
     .extensions        = "webm",
     .priv_data_size    = sizeof(MatroskaMuxContext),
-    .audio_codec       = AV_CODEC_ID_VORBIS,
-    .video_codec       = AV_CODEC_ID_VP8,
+    .audio_codec       = CONFIG_LIBOPUS_ENCODER ? AV_CODEC_ID_OPUS : AV_CODEC_ID_VORBIS,
+    .video_codec       = CONFIG_LIBVPX_VP9_ENCODER? AV_CODEC_ID_VP9 : AV_CODEC_ID_VP8,
     .write_header      = mkv_write_header,
     .write_packet      = mkv_write_flush_packet,
     .write_trailer     = mkv_write_trailer,