Basic認証内の動画がAndroidで再生できない時の解決法とその問題点

Androidのスマホ
ウェブサイトのページ内に動画を貼り付けたい場合、HTML5ではとても簡単なコードで実現できる。
以下のようにvideoタグを使用するだけで良い。

<video src="動画ファイルへのパス"></video>

参考リンク:HTML5リファレンス

動画ファイルというのは画像ファイルのようにWebでの規格がイマイチ統一されていないため、「この形式にしておけばすべてのデバイスやブラウザで確実に再生できる」となりにくい面がある。
だから現在での第一の選択肢は「YouTubeにアップロードする」のが再生互換性の面では最も確実性が高いのではないでしょうか。

動画にパスワードをかけて公開したい場合

パスワードを知っている人だけに動画を公開したい場合、動画ファイル自体にパスワードをかけるのは現実的ではないため、動画を貼り付けるページにパスワードをかけることになる。

ウェブサイト上にパスワードをかける手法で最も一般的なものにBasic認証というものがある。
参考リンク:Basic認証 – Wikipedia

Basic認証はHTTPリクエストとHTTPレスポンスの間で認証が行われる基本的な仕組みなこともあって、どんなブラウザでも対応しているのが最大のメリットである。
設定自体が簡単なことも素晴らしい。
アクセスした際に以下のようなダイアログウインドウが出てきたら、それはBasic認証である。(下画像はChromeの場合)
Basic認証のウインドウ

ユーザー名とパスワードが正しく入力できないと以下のように「Authorization Required」と表示され、ページのソースを見ることすらできない。
認証失敗

Basic認証のページ内にvideoタグで動画を貼り付けるとAndroidで再生できない件

さて、前置きが長くなってしまいましたがここからが本題です。
Basic認証をかけているページ内にvideoタグで動画を貼り付けると、Androidでは再生できないという現象があった。
iPhoneなどのiOSからだと再生できる。(検証デバイスはiPhone4s・iOS6.1.3とiPhone5・iOS7.1.2)

ちなみにその際に使用した動画ファイルはmp4であり、Basic認証の外に置いた場合はAndroid端末から再生できたので、ファイル形式やコーデックの面で問題はないと思われます。(検証デバイスはNexus7・Android5.1.1)

この現象について調べてみると、どうもBasic認証内にあるvideoタグの動画をAndroidで再生する場合、ブラウザとは別の何らかのプロセスが動画ファイルにアクセスする必要があるらしく、そのプロセスがBasic認証を引き継がないことが原因らしい。

.htaccessにて解決する方法

解決法はいくつかあるようですが、私が今回採った方法は.htaccessにて以下のように記述する手法です。

<Files ~ "\.(mov|mp4|m4v|flv|f4v)$">
  Satisfy any
  Allow from all
</Files>

上記のコードは何を意味しているかをここから説明していきます。

<Files ~ "\.(mov|mp4|m4v|flv|f4v)$">
適用する条件
</Files>

1、これらのファイル形式の動画の場合(mov・mp4・m4v・flv・f4v)は、

  Satisfy any

2、IP認証またはBasic認証のどちらかを通過できればOKとし、
(今回の場合は次の行でallowを指定していますので、すべてのアクセスの通過を許可しています)

  Allow from all

3、すべてのアクセスを許可する。

となります。
つまり、mov・mp4・m4v・flv・f4vの形式の動画ファイルにはBasic認証が適用されないことになり、Basic認証ディレクトリの外に動画を設置するのと同じになります。
動画ファイルに直接アクセスしてみると、Basic認証を通らなくても見ることができてしまうわけです。

パスワードをかけて動画を公開するのが本来の主旨だったため、なんのためのBasic認証なのかよくわからない感じになってしまいましたが、現状ではこれ以上の解決策が見つからなかったので仕方がありません。
動画ファイルのURLが検索エンジンに拾われたりして、動画ファイルに直接アクセスされない限りは問題ないでしょう。

微妙な解決策しか見つからず、無念であります。
もっと良い解決策がありましたら教えてください。
Androidブラウザの仕様に問題があるような気がしないでもないですが。