21
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

動画をダウンロードしづらくする方法(HTML5 videoタグを使って)

Last updated at Posted at 2016-12-06

前提

  • HTML5のvideoタグで動画を閲覧できるようにした上で、閲覧したユーザーがローカルへ動画をダウンロードすることを難しくしたい。
  • HLSやRTMPといったストリーミングプロトコルを使わずに、sourceタグにmp4動画のURLを指定する形を想定。
  • ある程度の知識と動機のあるユーザーでなければダウンロードしないよね、ぐらいのレベルでOK。
  • サーバーはrailsで構築されている。
  • http://ja.stackoverflow.com/questions/30927 で質問しているので、良い方法があればぜひ教えてください。

方法

今のところ、以下のような方法を考えついた。

  • JavaScriptで動的にsourceタグを設定し、JavaScriptが無効化された状態での動画閲覧を制限する。その上で、JavaScriptでコンテクストメニューを無効化する。(コンテクストメニューにダウンロードオプションが表示されるため。)
    念のため、コンテクストメニューの無効化というのは、jQueryの以下のコードで実現されるもののこと。```
    $('video').contextmenu(function() {
    return false;
    });

- リファラを動画閲覧ページのURLのみに制限する。

- URLにトークンを付与し、有効期限を設定する。(一度限りのトークンを設定しようと考えたが、chromeなどのブラウザはリクエストにRangeヘッダーを付けて複数回リクエストを送るようになっており、断念><。)

- sourceタグ内の動画URLにどのような文字列が入るのかわかりづらくするため、ソースコードを難読化する。(chromeのデベロッパーツールなどを見れば動画のURLが出てくるので、あまり意味がないかも。)

他にもダウンロードのハードルを上げるような方法があれば、教えてください><
21
27
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?