diff --git a/core/modules/media/src/Plugin/media/Source/LocalVideo.php b/core/modules/media/src/Plugin/media/Source/LocalVideo.php
new file mode 100644
index 0000000000..0f5e95278c
--- /dev/null
+++ b/core/modules/media/src/Plugin/media/Source/LocalVideo.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace Drupal\media\Plugin\media\Source;
+
+use Drupal\media\MediaTypeInterface;
+
+/**
+ * Video entity media source.
+ *
+ * @see \Drupal\file\FileInterface
+ *
+ * @MediaSource(
+ *   id = "local_video",
+ *   label = @Translation("Video (local)"),
+ *   description = @Translation("Use local videos for reusable media."),
+ *   allowed_field_types = {"file"},
+ *   default_thumbnail_filename = "generic.png"
+ * )
+ */
+class LocalVideo extends File {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function createSourceField(MediaTypeInterface $type) {
+    return parent::createSourceField($type)->set('settings', ['file_extensions' => 'mp4 webm']);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getDisplayOptions(MediaTypeInterface $type, $display_context) {
+    if ($display_context == 'view') {
+      return [
+        'type' => 'file_video',
+      ];
+    }
+    return [];
+  }
+
+}
