videoタグ内の動画のダウンロードを難しくしたい
HTML5のvideoタグで動画を閲覧できるようにした上で、閲覧したユーザーがローカルへ動画をダウンロードすることを難しくしたいと考えています。HLSやRTMPといったストリーミングプロトコルを使わずに、sourceタグにmp4動画のURLを指定する形を想定しています。
ある程度の知識と動機のあるユーザーでなければダウンロードしないよね、ぐらいのレベルでOKです。ちなみに、サーバーはrailsで構築されていますが、コードはどんな言語でもかまいません。
私の方では、以下のような方法を考え付きました。
- JavaScriptで動的にsourceタグを設定し、JavaScriptが無効化された状態での動画閲覧を制限する。その上で、JavaScriptでコンテクストメニューを無効化する。(コンテクストメニューにダウンロードオプションが表示されるためです。)
念のため、コンテクストメニューの無効化というのは、jQueryの以下のコードで実現されるものです。
$('video').contextmenu(function() {
return false;
});
リファラを動画閲覧ページのURLのみに制限する。
URLにトークンを付与し、有効期限を設定する。(一度限りのトークンを設定しようと考えたのですが、chromeなどのブラウザはリクエストにRangeヘッダーを付けて複数回リクエストを送るようになっており、断念しました。)
上記sourceタグ内の動画URLにどのような文字列が入るのかわかりづらくするため、ソースコードを難読化する。(chromeのデベロッパーツールなどを見れば動画のURLが出てくるので、あまり意味がないかもと思っています。)
他にダウンロードのハードルを上げるような方法はありますでしょうか。皆様のお知恵をお貸しください。