# Video.js Documentation

There are two categories of docs: Guides and API docs.

Guides explain general topics and use cases (e.g. setup). API docs are automatically generated from the codebase and give specific details about functions, properties, and events.

## Table of Contents

- Resolving Issues
  - FAQ
  - Troubleshooting
- Guides
  - Getting Started
    - Setup
    - Player Workflows
    - Options
    - Tracks
  - Customizing
    - Skins
    - Plugins
    - Components
    - Tech
    - Languages
    - Hooks
- API Docs

## Resolving Issues

### FAQ

The frequently asked questions for video.js.

### Troubleshooting

Troubleshooting help for video.js.

## Guides

### Getting Started

#### Setup

The setup guide covers all methods of setting up Video.js players.

#### Player Workflows

After mastering the basics of setup move over to this guide for some more advanced player workflows.

#### Options

There are a number of options that can be used to change how the player behaves, starting with the HTML5 media options like autoplay and preload, and expanding to Video.js specific options.

#### Tracks

Tracks are used for displaying text information over a video, selecting different audio tracks for a video, or selecting different video tracks.

### Customizing

#### Skins

You can change the look of the player across playback technologies just by editing a CSS file. The skins documentation gives you a intro to how the HTML and CSS of the default skin is put together. For a list of skins you can check the video.js wiki.

#### Plugins

You can package up interesting Video.js customizations and reuse them elsewhere. Find out how to build your own plugin or use one created by someone else.

#### Components

Video.js is built around a collection of components. These are the building blocks of the player UI.

#### Tech

A "tech" is the shorthand we're using to describe any video playback technology - be it HTML5 video, Flash, . Basically anything that has a unique API to audio or video. Additional playback technologies can be added relatively easily.

#### Languages

Video.js has multi-language support! Follow this guide to see how you can contribute to and use languages.

#### Hooks

A "hook" is functionality that wants to do when videojs creates a player. Right now only `beforesetup` and `setup` are supported. See the guide for more information on that.

## API Docs

You can refer to the full list of API docs, but the most relevant API doc is for the Player.