HTMLで動画・音声を埋め込む方法【video・audio解説】

HTML video・audioタグの使い方を初心者向けに解説。動画・音声の埋め込み、controls・autoplay・loop等の属性、sourceタグでの複数フォーマット対応をコード例で紹介。中高生向け。無料。

2026年4月16日

HTML video・audio タグとは?

ウェブページに動画や音声を埋め込むには、HTML5で追加された videoタグaudioタグ を使います。プラグインなしでブラウザ標準の機能で再生できます。

以前はFlash Playerなどのプラグインが必要でしたが、HTML5からはブラウザだけで動画・音声を再生できるようになりました。文化祭のページに動画を載せたり、音楽の授業で作った曲を公開したりするときに使えます。

この記事では、videoタグとaudioタグの基本的な使い方から、レスポンシブ対応、アクセシビリティ対応、パフォーマンス最適化まで、実践的な内容をコード例付きで解説します。

videoタグ:動画を埋め込む

<video src="movie.mp4" controls>
  お使いのブラウザはvideoタグに対応していません。
</video>

controls 属性をつけると、再生ボタン・音量調整・シークバーなどの操作UIが表示されます。controls をつけないと、ユーザーが動画を操作できないので注意しましょう。

主な属性:

属性 意味
controls再生・停止・音量などのコントロールを表示
autoplay自動再生(muted と組み合わせが必要)
loop繰り返し再生
mutedミュート状態で再生
poster再生前に表示するサムネイル画像
width / height動画のサイズ
<video
  src="movie.mp4"
  controls
  poster="thumbnail.jpg"
  width="640"
  muted
  loop
></video>

🔥 metaタグの書き方で実践してみましょう。

複数フォーマットを指定する(sourceタグ)

ブラウザによって対応する動画フォーマットが異なります。<source> タグで複数のフォーマットを指定すると、対応しているものが使われます。ブラウザは上から順にチェックし、最初に対応しているフォーマットを再生します。

<video controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.webm" type="video/webm">
  お使いのブラウザはvideoタグに対応していません。
</video>

現在はMP4(H.264コーデック)がほぼすべてのブラウザで対応しているため、MP4だけでも問題ありません。WebMはファイルサイズが小さいので、両方用意できるとベストです。動画変換ツール(HandBrakeなど)を使えば、簡単にフォーマットを変換できます。変換時に解像度やビットレートも調整できるので、Web用に最適化しましょう。ファイルサイズが小さいほど、ページの読み込みが速くなります。特にモバイルユーザーは通信速度が遅いことがあるので、動画の最適化は重要です。PageSpeed Insightsでスコアを確認しながら改善しましょう。動画の最適化だけでスコアが大幅に改善することもあります。ぜひ試してみてください。

💡 pictureタグで画像の複数フォーマット指定も学べます。

audioタグ:音声を埋め込む

<audio controls>
  <source src="music.mp3" type="audio/mpeg">
  <source src="music.ogg" type="audio/ogg">
  お使いのブラウザはaudioタグに対応していません。
</audio>

audioタグもvideoタグと同様に controlsautoplayloopmuted 属性が使えます。

音声ファイルの形式は mp3 が最も広くサポートされています。ogg はオープンソースの形式で、Firefoxなどで使われます。両方指定しておくと安心です。BGMとして使う場合は loop 属性をつけると繰り返し再生されます。ただし、ユーザーの許可なく音声を自動再生するのはマナー違反なので、必ず controls をつけてユーザーが操作できるようにしましょう。

🔗 あわせて見出しタグの使い方もチェックしてみましょう。

字幕をつける(trackタグ)

動画に字幕をつけるには <track> タグを使います。聴覚に障害がある人や、音を出せない環境の人にも内容が伝わります。

<video controls>
  <source src="movie.mp4" type="video/mp4">
  <track src="subtitles.vtt" kind="subtitles" srclang="ja" label="日本語">
</video>

字幕ファイルはWebVTT形式(.vtt)で作成します。アクセシビリティの観点からも、動画には字幕をつけることが推奨されています。

レスポンシブ動画の埋め込み

YouTubeなどの外部動画を埋め込む場合は iframe を使います。レスポンシブ対応するには、アスペクト比を維持するCSSを適用します。YouTubeの「共有」→「埋め込み」からコードを取得し、以下のようにdivで囲むとスマホでもPCでも画面幅に合わせて自動リサイズされます。文化祭のページや学校紹介サイトで動画を使うときに便利です。iframeの埋め込みはYouTubeだけでなく、VimeoやGoogle Mapsなど他のサービスでも同じ方法が使えます。

<div style="position: relative; padding-bottom: 56.25%; height: 0;">
  <iframe
    src="https://www.youtube.com/embed/VIDEO_ID"
    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"
    allowfullscreen>
  </iframe>
</div>

padding-bottom: 56.25% は16:9のアスペクト比(9÷16=0.5625)を維持するテクニックです。

よくある間違いと注意点

  • autoplayが効かない:ブラウザのポリシーにより、音声付き動画の自動再生はブロックされます。muted をつければ自動再生できます。これはユーザー体験を守るためのブラウザの仕様です。
  • ファイルサイズが大きすぎる:動画は画像よりはるかに大きいです。1分の動画で数十MBになることもあります。長い動画はYouTubeにアップロードしてiframeで埋め込む方が効率的です。
  • アクセシビリティ:動画には字幕(<track>タグ)をつけると、聴覚に障害がある人にも内容が伝わります。音声コンテンツにはテキストの書き起こしを用意しましょう。
  • モバイル対応:動画の幅は max-width: 100% を指定して、スマホでもはみ出さないようにしましょう。height: auto も一緒に指定するとアスペクト比が維持されます。
  • 通信量への配慮:モバイルユーザーはデータ通信量を気にします。動画の自動再生は避け、ユーザーが再生ボタンを押してから読み込む設計にしましょう。preload="none" を指定すると、再生ボタンを押すまでデータを読み込みません。
  • 対応フォーマットの確認:MP4(H.264)は最も広くサポートされています。WebMはファイルサイズが小さいですが、一部のブラウザでは非対応です。両方指定しておくのが安全です。

📖 HTML入門ガイドで基礎を確認できます。

🔗 画像の表示方法も合わせて学びましょう。

まとめ

  • video:動画を埋め込む。controls で操作UIを表示
  • audio:音声を埋め込む
  • source:複数フォーマットを指定してブラウザ互換性を高める
  • autoplaymuted と組み合わせないと動作しないブラウザが多い

videoとaudioタグを使いこなすと、リッチなコンテンツが作れます。文化祭のページに動画を載せたり、部活の紹介動画を公開したりと、活用の幅が広がります。レッスンでさらに詳しく学んでみましょう。

動画・音声を使う場面の例

中高生がvideo・audioタグを活用できる場面を紹介します。

  • 文化祭のWebサイト:クラスの出し物の紹介動画を埋め込む。YouTubeにアップしてiframeで埋め込むのが手軽です。
  • 部活動の紹介ページ:練習風景や試合のハイライト動画を載せる。新入部員の勧誘に効果的です。
  • 自由研究の発表:実験の様子を動画で記録して、Webページに埋め込む。写真だけでは伝わらない動きを見せられます。
  • 音楽の作品公開:作曲した曲やバンド演奏をaudioタグで公開する。ポートフォリオとしても使えます。
  • プログラミング作品のデモ:作ったアプリの操作方法を画面録画して動画で見せる。GitHubのREADMEにも使えます。

動画や音声を使うと、テキストと画像だけのページより格段に魅力的なコンテンツになります。ただし、ファイルサイズには注意しましょう。長い動画はYouTubeにアップロードしてiframeで埋め込むのがベストプラクティスです。短い動画(30秒以内)ならvideoタグで直接埋め込んでも問題ありません。

動画のパフォーマンス最適化

動画はファイルサイズが大きいため、ページの表示速度に影響します。以下の方法で最適化しましょう。

  • preload属性を使うpreload="none" にすると、再生ボタンを押すまでデータを読み込みません。モバイルユーザーの通信量を節約できます。preload="metadata" にすると、動画の長さやサムネイルだけ先に読み込みます。
  • poster属性でサムネイルを設定:動画が読み込まれる前に表示される画像を指定できます。ユーザーに「ここに動画がある」ことを伝えられます。
  • 動画の解像度を適切に:スマホで見るなら720p(1280x720)で十分です。4K動画をそのまま使うとファイルサイズが巨大になります。
  • 動画の長さを短くする:Webページに埋め込む動画は30秒〜2分程度が適切です。長い動画はYouTubeに置きましょう。
<!-- 最適化された動画の埋め込み例 -->
<video
  controls
  preload="none"
  poster="thumbnail.jpg"
  width="640"
  height="360"
>
  <source src="demo.mp4" type="video/mp4">
  <track src="subtitles.vtt" kind="subtitles" srclang="ja" label="日本語">
</video>

この例では、preload="none" で不要なデータ読み込みを防ぎ、poster でサムネイルを表示し、width/height でレイアウトシフトを防いでいます。

よくある質問(FAQ)

Q. YouTubeの動画を埋め込むのとvideoタグ、どちらがいい?

長い動画(1分以上)はYouTubeに置いてiframeで埋め込むのがおすすめです。YouTubeが自動で画質を調整してくれるので、ユーザーの通信環境に合わせた再生ができます。短いデモ動画やループ動画はvideoタグが適しています。

Q. 動画が再生されないのはなぜ?

よくある原因は3つです。①ファイルパスが間違っている ②ブラウザが対応していないフォーマット ③autoplayにmutedがついていない。まずは開発者ツールのConsoleタブでエラーを確認しましょう。ファイルパスは相対パスで書くのが基本です。src="./videos/demo.mp4" のように、HTMLファイルからの相対位置を指定します。

Q. スマホで動画が全画面再生になってしまう

iOSのSafariでは、playsinline 属性をつけないと自動的に全画面再生になります。インライン再生したい場合は <video playsinline> を指定しましょう。

Q. 動画のファイルサイズを小さくするには?

無料ツール「HandBrake」を使うと、動画の解像度やビットレートを下げてファイルサイズを削減できます。Web用なら720p・ビットレート1500kbps程度で十分な画質が得られます。元の動画が4Kなら、10分の1以下のサイズになることもあります。

Q. 音声ファイルのおすすめフォーマットは?

MP3が最も広くサポートされており、ファイルサイズも小さいのでおすすめです。高音質が必要な場合はAACフォーマットも選択肢に入ります。OGGはオープンソースですが、Safariでは非対応なので注意しましょう。

🚀 HTMLをレッスンで学ぼう!

このサイトのHTMLコースでは、メディア埋め込みを含む実践的なページ作りをブラウザだけで学べます。無料・登録不要です。

HTMLコースを見る →
目次

コースで実際に手を動かして学ぼう

レッスンではコードを書きながら基礎が身につきます

HTMLコースを始める →

この記事に出てくる用語

📣 この記事が役に立ったら

Xでシェア

💬 引用する場合はこちらをご利用ください:

HTML video・audioタグの使い方を初心者向けに解説。動画・音声の埋め込み、controls・autoplay・loop等の属性、sourceタグでの複数フォーマット対応をコード例で紹介。中高生向け。無料。

出典: https://start-web-programming.com/blog/html-video-audio/