diff --git src/wp-includes/theme.php src/wp-includes/theme.php
index baad12f..efd6692 100644
--- src/wp-includes/theme.php
+++ src/wp-includes/theme.php
@@ -1400,7 +1400,7 @@ function get_header_video_settings() {
  * @return bool True if a custom header is set. False if not.
  */
 function has_custom_header() {
-	if ( has_header_image() || ( is_front_page() && has_header_video() ) ) {
+	if ( has_header_image() || ( has_header_video() && is_header_video_active() ) ) {
 		return true;
 	}
 
@@ -1408,6 +1408,28 @@ function has_custom_header() {
 }
 
 /**
+ * Checks whether the custom header video is eligible to show on the current page.
+ *
+ * @since 4.7.0
+ *
+ * @return bool True if the custom header video should be shown. False if not.
+ */
+function is_header_video_active() {
+	if ( ! get_theme_support( 'custom-header', 'video' ) ) {
+		return false;
+	}
+
+	/**
+	 * Modify whether the custom header video is eleigble to show on the current page.
+	 *
+	 * @since 4.7.0
+	 *
+	 * @param bool $show_video Whether the custom header video should be shown. Defaults to true on the site's front page, false eleswhere.
+	 */
+	return apply_filters( 'is_header_video_active', is_front_page() );
+}
+
+/**
  * Retrieve the markup for a custom header.
  *
  * @since 4.7.0
@@ -1436,7 +1458,7 @@ function the_custom_header_markup() {
 	}
 	echo $custom_header;
 
-	if ( has_header_video() && is_front_page() ) {
+	if ( has_header_video() && is_header_video_active() ) {
 		wp_enqueue_script( 'wp-custom-header' );
 		wp_localize_script( 'wp-custom-header', '_wpCustomHeaderSettings', get_header_video_settings() );
 	}
