![Derek Herman](https://web.dev/images/authors/derekherman.jpg) Derek Herman [X](https://twitter.com/derekherman) [GitHub](https://github.com/derekherman) ![Joe Medley](https://web.dev/images/authors/joemedley.jpg) Joe Medley [GitHub](https://github.com/jpmedley)

<br />

In this section you'll learn how to embed a media file in a web page using the
`<video>` and `<source>` tags, how to add captions to a video for the
hearing-impaired, and some general concepts for using media frameworks.
Additionally, you'll learn about using preload to speed up playback start, and
we will discuss how we built an updated demo PWA with offline adaptive
streaming capabilities called Kino.

This section assumes you have a video file that is ready for embedding in a web
page. A `.mov` file downloaded from a camera will not work. If that's all you
have, see [Prepare media files for the web](https://web.dev/articles/prepare-media) then come back.

This section covers these topics.

- In [The \<video\> and \<source\> tags](https://web.dev/articles/video-and-source-tags) you'll learn specifically how to embed a media file in a web page.
- In [Media accessibility](https://web.dev/articles/media-accessibility) you'll learn to add captions to a media file for hearing impaired.
- In [Media frameworks](https://web.dev/articles/media-frameworks) you'll learn basics about using media frameworks like Shaka Player, JW Player, and Video.js.
- In [Fast playback with audio and video preload](https://web.dev/articles/fast-playback-with-preload) you'll learn to accelerate your media playback by actively preloading resources.
- In [PWA with offline streaming](https://web.dev/articles/pwa-with-offline-streaming) you'll learn how we built an updated demo PWA that is capable of adaptive streaming and offline playback without using frameworks. Plus you can play with source code.

> [!NOTE]
> **Note:** Be sure not to skip the accessibility section. The technical aspects of supporting accessibility are not that difficult. They are also a regulatory or legal requirement in many places.

There is a lot of ground to cover in this section, get started by learning
how to use the [\<video\> and \<source\> tags](https://web.dev/articles/video-and-source-tags).