LoginSignup
0
2

More than 3 years have passed since last update.

動画をサイトに埋め込む時の注意

Last updated at Posted at 2020-07-01

動画を自動再生させたい

videoタグでの埋め込みの場合、以下のように設定します。

<video src="/img/video.mp4" poster="/img/video_poster.png" autoplay="" loop="" muted="" playsinline></video>

ポイントは、videoタグに次の属性を入れることです。

  • autoplay(自動再生)
  • loop(動画をループ再生)
  • muted(ミュートにする。これをしないと自動再生されないブラウザがあります)
  • playsinline(インライン再生。これをしないとiPhoneで表示されません)

参考サイト:
videoタグのつまずき/スマホで再生されない/playsinlineの存在|
umlaut.club

動画の読み込みを早くしたい

videoタグ vs YouTube埋め込み

調べたところ、YouTubeの埋め込みで四苦八苦されている記事を発見。
YouTube埋め込みだと、

  • 動画差し替え時にいちいちYouTubeにアップする必要がある。
  • 外部からの読み込みなので、内部データよりも読み込みが遅くなる。

という理由で、videoタグの方を採用しました。

「どーーーーーしても、YouTubeを埋め込みしないとダメなんだ!」
という場合は、こちらのサイト様が参考になると思います。
埋め込みyoutubeが想像以上に戦犯級だった件|ma-ya’s CREATE

「ページ全体の読み込みを軽くする」のが大前提

とにかく読み込むデータを軽くする!!!
サイト制作において、これは避けては通れません。。。
最低限、以下のことはしておきたいです。

  • 画像の遅延読み込み
  • 画像をなるべく軽くする
  • JavaScriptを最後の方に読み込む

posterは設定するべし

posterを設定すると、
動画の読み込みが完了するまで、設定した画像を表示させておきます。
これがないと、動画の読み込みが完了するまで、何も表示されません。
(設定の仕方は上のコードを参照。)

preloadは効果あるのか?

videoタグの属性にpreloadがありますが、
自分的にはあまり効果がなかったと思います。

最終手段として、最初にローディングアニメーションを入れる

「動画が最初の方、静止画になっている」
とお客様からご指摘があったのですが、
これは、動画の読み込みに時間がかかっているので、
その間、posterの画像が表示されているのが原因です。

「ページ全体の読み込みを軽くする」のが大前提ですが、
トップページは特に、画像もJavaScriptも使って派手にするので、
どーーーしても重くなりがちです。

ごまかしになってしまいますが、
最初にローディングアニメーションを入れることで、
アニメーション終了後、おおよその要素が読み込み終わっているので、
有効な手段の一つと思っています。

ただ、ローディングアニメーション終了後、
動画はすでに自動再生が始まっている
ので、
最初から再生はされないです。。。
そんなの気にしない場合にご使用ください。

0
2
0

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
0
2