HTML videoタグとaudioタグとは?メディア埋め込みの基本完全ガイド
生徒
「HTMLで動画や音楽を再生したいんですけど、どうすればいいんですか?」
先生
「HTMLには、videoタグとaudioタグという便利なタグがありますよ。これらを使えば、簡単に動画や音声をWebページに埋め込めます。」
生徒
「YouTubeみたいに、再生ボタンとか自動で表示されるんですか?」
先生
「その通りです!ブラウザが自動的に再生ボタンや音量調整などのコントロールを表示してくれるので、プログラミング初心者でも簡単に使えます。詳しく見ていきましょう!」
1. HTMLのvideoタグとaudioタグとは?
videoタグは、HTML5から追加された動画を再生するためのタグで、Webページ上で直接動画コンテンツを表示できます。一方、audioタグは音声ファイルを再生するためのタグです。これらのタグが登場する前は、FlashやQuickTimeなどの外部プラグインが必要でしたが、現在ではHTMLだけで動画や音声の再生が可能になりました。
HTML5とは、HTMLの第5版のことで、2014年に正式勧告された新しい仕様です。videoタグとaudioタグは、このHTML5で標準化されたメディア要素であり、現在のすべてのモダンブラウザ(Google Chrome、Firefox、Safari、Edgeなど)でサポートされています。
これらのタグを使うメリットは、外部サービスに依存せずに自分のサーバーに置いた動画や音声を再生できることです。また、再生速度の変更、字幕表示、自動再生など、さまざまな機能をHTML属性だけで制御できます。プログラミング初心者でも、タグを書くだけで本格的なメディアプレーヤーを実装できるのです。
2. videoタグの基本的な使い方
videoタグの最もシンプルな書き方は、開始タグと終了タグの間にsrc属性で動画ファイルのパスを指定する方法です。controls属性を追加することで、再生ボタンや一時停止ボタン、音量調整などのコントロールが自動的に表示されます。
<!-- 基本的なvideoタグの使い方 -->
<video src="/video/sample.mp4" controls width="640" height="360">
お使いのブラウザは動画タグに対応していません。
</video>
ブラウザ表示
このコードでは、src属性で動画ファイルのパスを指定し、controls属性で再生コントロールを表示しています。width属性とheight属性で動画プレーヤーのサイズを指定できます。タグの間に書いたテキストは、古いブラウザで動画が再生できない場合に表示される代替メッセージです。
controls属性は、値を指定しない論理属性です。論理属性とは、属性名を書くだけで機能が有効になる特別な属性のことです。controls属性を書かないと、動画は表示されますが再生ボタンなどが表示されず、ユーザーが操作できなくなってしまいます。
3. audioタグの基本的な使い方
audioタグは、videoタグと同じような構造で音声ファイルを再生します。src属性で音声ファイルのパスを指定し、controls属性で再生コントロールを表示する点は共通です。audioタグの場合、動画と違って映像がないため、width属性やheight属性は不要です。
<!-- 基本的なaudioタグの使い方 -->
<audio src="/audio/sample.mp3" controls>
お使いのブラウザは音声タグに対応していません。
</audio>
ブラウザ表示
audioタグで表示される再生コントロールは、ブラウザによってデザインが異なりますが、基本的には再生ボタン、一時停止ボタン、シークバー(再生位置を示すバー)、音量調整などが含まれます。CSSを使ってカスタマイズすることも可能ですが、デフォルトのデザインでも十分に使いやすくなっています。
audioタグは、ポッドキャスト、BGM、効果音など、さまざまな用途で活用できます。音声ファイルの形式としては、MP3、WAV、OGGなどが一般的です。ただし、すべてのブラウザがすべての形式に対応しているわけではないため、複数の形式を用意することが推奨されます。
4. 複数のファイル形式に対応するsource要素
ブラウザによって対応している動画形式や音声形式が異なります。例えば、MP4形式はほとんどのブラウザで再生できますが、WebM形式は一部のブラウザでしか再生できません。このような互換性の問題を解決するために、source要素を使って複数のファイル形式を指定できます。
source要素は、videoタグやaudioタグの中に複数配置でき、ブラウザは上から順番に確認して、最初に再生可能な形式を自動的に選択します。これにより、どのブラウザでも確実にメディアを再生できる仕組みを作れます。
<!-- 複数の動画形式に対応する -->
<video controls width="640" height="360">
<source src="/video/sample.mp4" type="video/mp4">
<source src="/video/sample.webm" type="video/webm">
<source src="/video/sample.ogv" type="video/ogg">
お使いのブラウザはvideoタグに対応していません。
</video>
ブラウザ表示
source要素のtype属性には、ファイルのMIMEタイプを指定します。MIMEタイプとは、ファイルの種類を示す識別子のことで、video/mp4は MP4形式の動画、video/webmはWebM形式の動画を表します。type属性を指定することで、ブラウザはファイルをダウンロードする前に再生可能かどうかを判断でき、無駄な通信を避けられます。
5. 便利な属性を使いこなそう
videoタグとaudioタグには、再生動作を制御するための便利な属性がたくさん用意されています。これらの属性を使いこなすことで、ユーザー体験を向上させることができます。
autoplay属性は、ページが読み込まれた瞬間に自動的にメディアを再生開始します。ただし、多くのブラウザでは音声付きの自動再生をブロックするため、muted属性(ミュート状態)と組み合わせて使うことが一般的です。loop属性を追加すると、再生が終了したら自動的に最初から繰り返し再生されます。
<!-- 自動再生とループ再生の設定 -->
<video src="/video/sample.mp4" controls autoplay muted loop width="640" height="360">
お使いのブラウザはvideoタグに対応していません。
</video>
<!-- 音声ファイルに事前読み込み設定 -->
<audio src="/audio/bgm.mp3" controls preload="auto">
お使いのブラウザはaudioタグに対応していません。
</audio>
ブラウザ表示
preload属性は、ページ読み込み時にメディアファイルをどの程度読み込むかを制御します。preload="none"は読み込まない、preload="metadata"はメタデータ(再生時間など)だけを読み込む、preload="auto"はブラウザが適切と判断した量を読み込みます。大きなファイルを扱う場合は、preload属性を調整することでページの読み込み速度を改善できます。
poster属性は、videoタグ専用の属性で、動画が再生される前に表示するサムネイル画像を指定できます。例えば、poster="/img/sample150-100.jpg"と書けば、再生ボタンを押すまでその画像が表示されます。この属性を使うことで、ユーザーに動画の内容を事前に伝えられます。
6. レスポンシブ対応で様々なデバイスに最適化
スマートフォンやタブレットなど、さまざまな画面サイズでWebページが閲覧される現代では、動画プレーヤーもレスポンシブ対応が必要です。レスポンシブ対応とは、画面サイズに応じて表示を自動調整することで、どのデバイスでも快適に閲覧できるようにする技術です。
videoタグをレスポンシブ対応にする最もシンプルな方法は、CSSでmax-width: 100%とheight: autoを指定することです。これにより、親要素の幅に合わせて動画プレーヤーが自動的にサイズ調整され、縦横比も維持されます。
また、source要素のmedia属性を使えば、画面サイズに応じて異なる動画ファイルを配信することもできます。例えば、スマートフォンには低解像度の軽量ファイル、パソコンには高解像度のファイルを配信すれば、通信量を最適化できます。ただし、この方法は少し複雑なため、最初は基本的なレスポンシブ対応から始めることをおすすめします。
7. アクセシビリティを考慮した実装方法
アクセシビリティとは、障害の有無に関わらず、すべての人がWebサイトを利用できるようにすることです。動画や音声コンテンツを提供する際も、アクセシビリティへの配慮が重要になります。
聴覚障害のある方のために、videoタグにはtrack要素を使って字幕ファイルを追加できます。track要素のsrc属性で字幕ファイル(WebVTT形式)のパスを指定し、kind属性で種類を指定します。kind="subtitles"は翻訳字幕、kind="captions"は音声の文字起こしを表します。
また、audioタグで音声コンテンツを提供する場合は、音声の内容を文字で書き起こしたトランスクリプト(文字起こし)をページに掲載することが推奨されます。これにより、聴覚障害のある方や、音声を再生できない環境にいる方でも、内容を理解できるようになります。
8. SEO対策とメディアタグの最適化
動画や音声コンテンツは、テキストコンテンツと比べて検索エンジンが内容を理解しにくいという特徴があります。しかし、適切なSEO対策を行うことで、検索結果での表示を改善できます。
まず、動画ファイルや音声ファイルには、内容を説明する適切なファイル名を付けましょう。例えば、「video001.mp4」ではなく「html-tutorial-beginner.mp4」のような説明的な名前にします。また、ページ内に動画や音声の内容を説明するテキストを必ず配置することも重要です。
videoタグやaudioタグを含むページには、構造化データ(スキーママークアップ)を追加することで、Googleに動画コンテンツの存在をより正確に伝えられます。構造化データとは、検索エンジンがページの内容を理解しやすくするための特別な記述方法です。JSON-LD形式で記述するのが一般的です。
さらに、動画のサムネイル画像には必ずalt属性を設定し、動画の内容を簡潔に説明しましょう。これにより、画像検索からの流入も期待できます。ページタイトルやメタディスクリプションにも、動画や音声コンテンツに関するキーワードを自然に含めることで、検索エンジンでの表示機会が増えます。
9. よくある間違いと注意点
videoタグとaudioタグを使用する際、初心者がやってしまいがちな間違いがいくつかあります。まず、controls属性を付け忘れることです。controls属性がないと、再生ボタンが表示されず、ユーザーが動画や音声を操作できなくなってしまいます。
また、autoplay属性を安易に使用することも避けるべきです。自動再生は多くのユーザーにとって迷惑な機能であり、特にモバイルデータ通信を使用している場合、意図しないデータ消費につながります。自動再生が本当に必要な場合のみ使用し、その場合はmuted属性を併用しましょう。
ファイルサイズにも注意が必要です。大きな動画ファイルをそのままアップロードすると、ページの読み込み速度が遅くなり、ユーザー体験を損ないます。動画編集ソフトやオンラインツールを使って、適切な解像度とビットレートに圧縮してから使用することをおすすめします。一般的に、Web用の動画は720p(1280×720ピクセル)程度で十分です。
さらに、著作権にも十分注意しましょう。他人が作成した動画や音楽を無断で使用することは著作権侵害にあたります。必ず自分で作成したコンテンツか、使用許可を得たもの、またはフリー素材を使用してください。
10. 実践的なチェックリストで確認しよう
videoタグとaudioタグを正しく実装できているか、以下のチェックリストで確認しましょう。すべての項目をクリアすることで、ユーザーフレンドリーでSEOにも強いメディアコンテンツを提供できます。
メディアタグ実装チェックリスト
- controls属性を必ず追加している
- 複数のファイル形式をsource要素で指定している
- width属性とheight属性でサイズを指定している(videoのみ)
- CSSでレスポンシブ対応を実装している
- 代替テキストを開始タグと終了タグの間に記述している
- ファイルサイズを適切に圧縮している
- 動画には字幕ファイルを追加している(必要に応じて)
- ページ内にメディアの内容を説明するテキストを配置している
- 著作権を侵害していないか確認している
これらのチェック項目を意識してvideoタグとaudioタグを実装することで、すべてのユーザーにとって快適なメディア体験を提供できます。HTMLのメディアタグは、難しそうに見えますが、基本を押さえれば誰でも簡単に使いこなせます。今日から、あなたのWebサイトにも動画や音声を追加して、よりリッチなコンテンツを作ってみましょう。
「意味」がわかればWebは楽しい!現役エンジニアが教える、挫折しないためのHTML構造化入門
「Webの仕組み」を正しく操る。HTML5でプロフェッショナルな情報設計の第一歩を。
本講座では、単なるタグの暗記ではなく、「検索エンジンやAIに正しく伝わる情報の構造化」という本質的な技術を学びます。モダンWebの土台であるHTML5を通じて、将来的にWebデザイナーやフロントエンドエンジニアを目指すための「稼げる基礎力」を最短距離で身につけます。
具体的なワークショップ内容と環境
【つくるもの】
自己紹介やポートフォリオの土台となる「構造化されたWebページ」を作成します。見出し、段落、リスト、リンク、画像配置など、商用サイトでも必ず使われる「セマンティックなマークアップ」をゼロから体験してください。
【開発環境】
世界中のプロが愛用するVisual Studio Code (VS Code)を使用します。Emmet(高速入力機能)の設定から、HTMLの文法ミスを自動チェックする拡張機能まで、現場基準の効率的な環境を一緒に構築します。
この60分で得られる3つの武器
Googleから高く評価されるタグの選び方を理解し、検索上位を狙えるサイト構造の作り方を学びます。
プロが使うショートカットや自動補完機能を習得し、タイピングの手間を最小限にする技術を体得します。
画像への代替テキストや適切な階層構造など、誰にとっても使いやすい「優しいWeb」の作り方を伝授します。
※本講座は、将来的にWebデザイナー、コーダー、フロントエンドエンジニアを目指す未経験者のためのエントリー講座です。「モクモク」独自のマンツーマン形式により、コードを1行書くたびに生まれる疑問をその場で解決します。
現役エンジニアが教えるHTML入門
各回少人数・マンツーマン形式で徹底サポート
このセミナーの詳細・お申し込みはこちら