Skip to main content

基本的な動画の埋め込み

HTML5 Videoの使用

複数のソースフォーマットを提供すると、ブラウザが対応している最適なフォーマットを選択できます。 WebMはより効率的な圧縮を提供しますが、すべてのブラウザでサポートされているわけではありません。

主要な属性

  • controls - 再生、一時停止、シークなどのコントロールを表示
  • width & height - 動画のサイズを指定(CLSを防止)
  • poster - 再生前に表示するサムネイル画像
  • preload - 先読みの挙動を制御(none, metadata, auto
  • autoplay - 自動再生(ユーザーエクスペリエンスを考慮して慎重に使用)
  • muted - 音声をミュート(autoplayと組み合わせて使用することが多い)
  • loop - 繰り返し再生
  • playsinline - iOSデバイスでインライン再生(全画面表示を防止)

パフォーマンス最適化

動画コーデックと圧縮

推奨コーデック(効率順):
  1. AV1 - 最新の高効率コーデック(ブラウザサポートは限定的)
  2. VP9/WebM - Googleが開発したオープンソースコーデック
  3. H.264/MP4 - 広くサポートされた標準的なコーデック

遅延読み込み

アダプティブストリーミング

DASH(Dynamic Adaptive Streaming over HTTP)やHLS(HTTP Live Streaming)を使用して、ネットワーク環境に応じた品質の動画を提供します。

アクセシビリティ

字幕と転写テキスト

WebVTT(Web Video Text Tracks)フォーマットの例:

キーボード操作とスクリーンリーダー対応

背景動画

背景動画を使用する場合は、必ずmutedautoplayを組み合わせてください。 また、コントラスト比を確保し、動画上のテキストが読みやすいようにしてください。

レスポンシブ動画

基本的なレスポンシブ対応

外部プラットフォームの埋め込み

外部プラットフォームを埋め込む場合、パフォーマンスとプライバシーへの影響を考慮してください。 また、可能であれば、ユーザーのアクションに応じて動画を読み込む遅延読み込み手法を検討してください。

YouTube

YouTubeのプライバシー強化モードを使用することで、ユーザーのデータを収集しないようにすることができます。また、rel="0"を併用して設定することで、現状(2025年4月1日)では動画終了後のおすすめ動画を非表示にすることができます。

Vimeo

パフォーマンスとアクセシビリティのチェックリスト

  1. 適切なコーデックとフォーマットを使用する
  2. preload="none"またはpreload="metadata"を使用して不要な先読みを防止する
  3. 必要に応じて遅延読み込みを実装する
  4. 字幕と代替テキストを提供する
  5. キーボード操作に対応する
  6. 自動再生は控えめに使用する(特に音声付きの場合)
  7. widthheight属性を設定してCLSを防止する
  8. レスポンシブデザインに対応させる
  9. コントラスト比と可読性を確保する
  10. ユーザーのネットワーク環境に応じたアダプティブストリーミングを検討する

便利なツールとリソース

動画コンテンツは帯域幅を大量に消費するため、必要な場合のみ使用し、 代替としてアニメーションGIFの代わりにanimated WebPやCSS/SVGアニメーションの使用も検討してください。