2025.06.27
2020.04.01
YouTubeの動画をサイトの背景として使用する方法
- 東京のホームページ制作会社|ブラボーウェブ
- ホームページ制作 コラム
- YouTubeの動画をサイトの背景として使用する方法
INDEX
YouTube動画を背景に使う方法の概要と仕組み
Webサイトの背景にYouTubeの動画を使うことで、動きのある印象的な演出を取り入れることができます。このコラムでは、YouTubeの動画をWebページの背景として表示させる実装方法を、初心者の方でもわかるように解説していきます。
本記事で解説する内容
この記事では、以下のような実装方法を扱います。
- HTMLとCSSを使った動画表示の基礎
- YouTube動画の自動再生・ミュート・ループ設定
- YouTube IFrame Player APIを使ったコントロールの無効化
- CSSによる全画面表示と背景用の調整方法
- スマホなど一部の環境での非対応と代替案
順を追って実装していくことで、YouTubeの動画を背景として自然に表示させる方法が理解できるようになります。
YouTubeを背景動画として使う仕組み
YouTube動画をWebサイトの背景として表示するには、YouTube IFrame Player API(アイフレーム・プレイヤーAPI)を使用します。このAPIを利用することで、動画の再生や表示をJavaScriptで細かく制御できます。
背景動画として使うためには、以下の設定が基本となります。
- 再生ボタンなどのUIを非表示にする
- 動画の音声をミュートにする
- 自動再生を有効にする
- ループ再生を設定する
- 動画が画面いっぱいに広がるようCSSで調整する
これらを組み合わせることで、Webサイトの背景として自然に動く動画を設置できます。また、動画の上にテキストやボタンを重ねて表示することも可能です。
なお、スマートフォンや一部のブラウザでは、YouTube動画の自動再生が制限されている場合があります。そのため、環境に応じた代替手段(画像やローカル動画)を検討する必要もあります。
背景動画の実装方法【ステップ別解説】
ここからは、実際にYouTubeの動画をWebサイトの背景として表示するための実装手順を、ステップごとに詳しく解説していきます。
【HTML】動画エリアを定義する
まず、YouTube動画を背景として表示するための土台となるHTMLを用意します。基本的な構成は以下のようになります。
<div id="video-background">
<div id="player"></div>
</div>
<div class="content">
<!-- 表示したいコンテンツをここに記述 -->
</div>
このコードでは、#video-backgroundという要素の中に、YouTube動画を読み込むための#playerというdivを設置しています。この中に後でJavaScriptでYouTubeのプレイヤーを挿入します。
動画の上に表示したいテキストやボタンなどは、.content内に記述していきます。
【JavaScript】YouTube APIの基本設定
YouTubeの動画をWebサイトの背景に使用するには、「YouTube IFrame Player API」を使って動画を読み込み、JavaScriptで細かく再生制御を行う必要があります。
まずはAPIの読み込みコードをJavaScriptファイルに記述します。
var tag = document.createElement("script");
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName("script")[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
このコードは、ページ読み込み時にiframe_apiを非同期で読み込み、後続の処理でプレイヤーを生成するための準備です。
【JavaScript】プレイヤーの生成と自動再生・ミュート・ループ設定
次に、APIが読み込まれた後に実行されるJavaScriptを定義します。
let player;
function onYouTubeIframeAPIReady() {
player = new YT.Player("player", {
videoId: "動画ID ", // YouTube動画のIDを指定
playerVars: {
autoplay: 1, // 自動再生
controls: 0, // コントロール非表示
showinfo: 0, // タイトル・チャンネル非表示(旧仕様互換)
modestbranding: 1, // YouTubeロゴの最小化
rel: 0, // 関連動画非表示
fs: 0, // 全画面ボタン非表示
iv_load_policy: 3, // 注釈非表示
playsinline: 1, // モバイルでのインライン再生
loop: 1, // ループ再生
playlist: "動画ID " // ループを有効にするにはplaylistの指定が必要
},
events: {
onReady: onPlayerReady,
onStateChange: onPlayerStateChange,
},
});
}
// 再生準備ができたらミュートして再生開始
function onPlayerReady(event) {
event.target.mute();
event.target.playVideo();
}
// 最後まで再生されたら自動的に再ループ
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.ENDED) {
event.target.playVideo();
}
}
このコードでは、YouTube動画を背景として再生するために必要な以下の制御がすべて含まれています。
- 自動再生(autoplay: 1)
- 音声ミュート(event.target.mute())
- コントロールやロゴ・注釈の非表示
- ループ再生(loop: 1+playlistの指定)
- モバイル端末でのインライン再生(playsinline: 1)
HTML側のid="player"が指定されている要素に、動画プレイヤーが表示されます。
YouTube動画のIDについて
- YouTubeで目的の動画ページを開く
- URLを確認(例:https://www.youtube.com/watch?v=○○○○○○○○○○○)
- v=の後ろにある11文字が動画ID
【CSS】全画面背景に調整する
JavaScriptだけでは背景動画にはなりません。CSSを使って動画プレイヤーを画面全体に広げ、背景として表示するためのスタイリングが必要です。
以下のCSS例を使用すると、背景動画がウィンドウ全体に広がるように設定できます。
#video-background {
width: 100%;
height: 100svh;
height: 100vh;
display: block;
position: fixed;
top: 0;
left: 0;
overflow: hidden;
z-index: -1;
}
#video-background iframe {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
pointer-events: none;
width: 177.77777778vh;
height: 56.25vw;
min-height: 100%;
min-width: 100%;
z-index: -2;
}
.content {
position: relative;
z-index: 1;
color: white;
text-align: center;
}
ここでのポイントは、背景動画の親要素(#video-background)をposition: fixedにすることで、ページ全体に固定表示させている点です。また、z-index: -1でコンテンツの背面に回しています。
さらに、iframeにpointer-events: noneを指定することで、動画の上にあるリンクやボタンがクリックできなくなる問題を防げます。
実装時の注意点とトラブル回避策
YouTube動画をWebサイトの背景に使用する場合、動作環境や仕様の制限により、意図した通りに表示されないケースがあります。ここでは、よくある注意点とその対処法を紹介します。
スマートフォンや一部ブラウザで自動再生されない
モバイル端末や一部のブラウザでは、音声付きの動画の自動再生が制限される仕様があります。これを回避するためには、必ずJavaScriptでmute()を実行することが必要です。
event.target.mute();
event.target.playVideo();
上記のようにミュート再生を前提とすることで、自動再生の成功率が上がります。
ループ再生が機能しない
YouTube動画をループ再生させるには、playerVarsの設定に注意が必要です。特に以下2つはセットで必須です。
loop: 1,
playlist: "動画ID"
loop: 1だけではループされず、playlistに同じ動画IDを指定することで初めてループ機能が動作します。
背景に配置した動画がクリックを邪魔する
動画を背景にしていると、前面のボタンやリンクがクリックできない場合があります。これは、動画がクリックイベントを受け取ってしまっているためです。
以下のCSSで解決できます。
#player iframe {
pointer-events: none;
}
これにより、動画が「背景」として存在し、ユーザー操作の邪魔をしません。
読み込みが遅く、動画がすぐに表示されない
YouTubeの動画は、通信状況やサーバー応答によって表示に数秒の遅れが発生することがあります。最初に黒い背景が見えるなどの現象が起こる場合、以下の対策が有効です。
- 動画が読み込まれるまで背景色でカバー
- 静止画像を背景に設定し、動画再生時に非表示に切り替える
#video-background {
background-color: #000;
background-image: url("fallback.jpg");
background-size: cover;
}
動画の再生が始まったタイミングで、CSSクラスを付け替えて背景画像を非表示にする方法もあります。
YouTubeのUIが一瞬だけ表示される
YouTubeの仕様により、動画が初期表示される瞬間に一瞬だけUI(ロゴやチャンネル名など)が表示されることがあります。完全に回避することはできませんが、以下の方法で目立たなくできます。
- 最初はCSSで動画のopacityを0にして非表示にしておく
- 再生が始まったらJavaScriptでopacity: 1にする
#video-background {
opacity: 0;
transition: opacity 0.5s ease;
}
#video-background.playing {
opacity: 1;
}
function onPlayerReady(event) {
event.target.mute();
event.target.playVideo();
document.getElementById("video-background").classList.add("playing");
}
ブラウザや端末による動作の差異
YouTube APIは、ブラウザの種類・バージョン・端末環境によって動作に差が出ることがあります。特にSafariやiOSでは制限が厳しいため、十分なテストが必要です。
また、広告ブロッカーなどの拡張機能によって、YouTubeの読み込み自体がブロックされる可能性もあります。
スマホ対応・レスポンシブデザインのポイント
YouTubeの背景動画は、PCではうまく表示されても、スマートフォンやタブレットでは再生されなかったり、表示が崩れたりすることがあります。ここでは、モバイル端末への対応と、レスポンシブに調整するためのポイントを解説します。
スマホで自動再生されない理由と対策
スマートフォンでは、自動再生の制限が厳しく、音声付きの動画は自動で再生されません。背景動画として使う場合、以下の対応が必要です。
解決策:ミュート再生の徹底
JavaScriptで明示的に音声をミュートし、次のように記述します。
function onPlayerReady(event) {
event.target.mute();
event.target.playVideo();
}
このように「ミュートされた状態」での再生は、モバイルブラウザで許可されている場合があります。
インライン再生の有効化
iOS Safariでは、動画がフルスクリーン表示されてしまうことがあります。これを防ぐには、playsinline: 1の指定が必要です。
playerVars: {
playsinline: 1,
...
}
これにより、動画が全画面に切り替わらず、背景としてページ内に固定表示されるようになります。
レスポンシブ対応:画面サイズに合わせて調整
背景動画を画面サイズに合わせて自然に見せるには、CSSで比率と位置を工夫する必要があります。
以下のコードは、横幅を基準に高さを自動調整し、どんな画面サイズでも動画が中央で切れずに表示される設定です。
#video-background {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
overflow: hidden;
z-index: -1;
}
#player iframe {
position: absolute;
top: 50%;
left: 50%;
width: 100vw;
height: 56.25vw; /* 16:9比率を維持 */
min-height: 100vh;
transform: translate(-50%, -50%);
pointer-events: none;
}
スマホ環境での代替手段
一部のスマートフォン環境では、YouTube APIを用いた動画再生自体がブロックされるケースもあります。そういった場合には、以下のような代替画像の表示を検討してください。
@media (max-width: 768px) {
#video-background {
display: none;
}
body {
background-image: url("fallback.jpg");
background-size: cover;
background-position: center;
}
}
これにより、スマホでは背景画像に切り替えることができ、動画が再生されなくても見た目の品質が保たれます。
背景動画のおすすめ活用シーン
YouTube動画を背景に活用すると、視覚的にインパクトのある演出ができ、サイト訪問者の印象に強く残ります。ここでは、実際に背景動画を使うのに向いているシーンやWebサイトのタイプを紹介します。
サービスや商品の紹介ページ
新しいサービスや商品の魅力を視覚的に伝えたい場合、背景動画は非常に有効です。実際の利用シーンやコンセプト映像を背景に流すことで、「体験」をそのまま伝えることができます。
例:
- スマートフォンアプリのランディングページ
- サブスクリプションサービスの紹介サイト
- 飲食店の新商品特設ページ
ブランドのイメージ強化
ブランドの世界観やメッセージを印象づけるために、背景動画をトップページやファーストビューに活用するケースがあります。静止画やテキストだけでは伝えきれない雰囲気や温度感を映像で補完できます。
例:
- アパレルブランドのコレクションサイト
- 美容室・サロンなどの公式ページ
- クリエイターのポートフォリオ
イベント・キャンペーンの特設サイト
短期間のプロモーションやキャンペーンでも、背景動画を活用することで記憶に残るサイト演出が可能です。特に映像コンテンツと組み合わせることで、訪問者に強い没入感を与えることができます。
例:
- 期間限定イベントの特設サイト
- 映画・舞台・音楽フェスの告知ページ
- セミナーやウェビナーの案内ページ
採用ページや企業ブランディング
会社の雰囲気や働く人の様子を映した動画を背景に使えば、求人情報では伝えきれないリアルな空気感が伝わります。企業の信頼感や親しみやすさの向上にもつながります。
例:
- 採用特設ページ(リクルートサイト)
- コーポレートサイトのトップ
- インターンシップ紹介ページ
YouTube背景動画に関するよくある質問
YouTubeを背景動画としてWebサイトに導入する際、実装中や公開後に多くの方が疑問を感じるポイントがあります。ここでは、よくある質問とその答えをQ&A形式でまとめました。
Q1. 動画IDはどこで確認できますか?
動画IDは、YouTubeのURLに含まれる11文字の英数字です。
https://www.youtube.com/watch?v=○○○○○○○○○○○
動画IDは○○○○○○○○○○○です。
JavaScript内のvideoIdやplaylistにこのIDを使用します。
Q2. 自動再生ができません。なぜですか?
以下の原因が考えられます。
- 動画の音声がミュートになっていない(自動再生は音声付きでは制限される)
- スマホやSafariでは仕様上、自動再生に制限がある
- ブラウザの設定や拡張機能がブロックしている
対処法として、必ず event.target.mute(); を再生前に実行してください。
Q3. YouTubeのロゴや動画タイトルを完全に非表示にできますか?
YouTube IFrame APIを使っても、動画再生直前に一瞬だけロゴやタイトルが表示されることがあります。これはYouTube側の仕様のため完全に防ぐことはできません。
どうしても非表示にしたい場合は、以下の代替方法を検討してください。
- MP4形式のローカル動画を<video>タグで再生
- Vimeo(有料プラン)を使用
Q4. 背景動画が表示されない・真っ黒な画面になります
読み込みの遅延、IDの誤り、YouTubeブロック(企業ネットワークや拡張機能)などが原因です。以下の確認を行ってください。
- videoIdが正しいか確認
- APIが正しく読み込まれているか
- JavaScriptのエラーが出ていないか
- スマホ向けに静止画の代替を設定しているか
Q5. 背景動画の上にテキストやボタンを表示できますか?
はい、可能です。動画を表示する要素にz-index: -1を設定し、前面に配置したい要素にはz-index: 1以上を設定してください。
#video-background {
z-index: -1;
}
.content {
position: relative;
z-index: 1;
}
これにより、テキストやボタンを動画の上に重ねて自然に表示できます。
まとめ:背景動画でサイトの印象を一新
YouTubeの動画をWebサイトの背景として活用することで、静的なページにはない動き・空気感・印象的な演出を簡単に取り入れることができます。
本記事では、以下のステップで背景動画の導入方法を解説してきました。
- 背景動画の構造と仕組みの理解
- HTMLとCSSでの表示領域の作成
- JavaScriptによるYouTube APIの読み込みと再生制御
- ミュート・ループ・インライン再生などの最適化設定
- スマホ対応やレスポンシブデザインへの配慮
- よくある問題点とその対処法
背景動画の導入にはいくつかの注意点がありますが、正しい手順とポイントを押さえて実装すれば、見た目にも印象的で機能的なWebデザインが実現できます。
特に、
- 企業やブランドのイメージ訴求
- 新サービスや商品の印象づけ
- イベントやプロモーションの注目度アップ
といった目的には非常に有効です。
また、再利用しやすいようにJavaScriptを外部ファイル化したり、スマホ対応用の代替画像を用意したりすることで、どんな環境でも安定した表示が可能になります。

- 監修者
- 田邉 文章 Fumiaki Tanabe
