Кратко
СкопированоТег <track>
используется внутри <video>
или <audio>
и добавляет к медиаконтенту текстовые дорожки: субтитры, описания, переводы и другие вспомогательные данные. Содержимое берётся из отдельного файла формата
(.vtt
).
Пример
Скопировано<video controls width="400"> <source src="video.mp4" type="video/mp4"> <track src="subtitles_ru.vtt" kind="subtitles" srclang="ru" label="Русский" default > <track src="subtitles_en.vtt" kind="subtitles" srclang="en" label="English" ></video>
<video controls width="400"> <source src="video.mp4" type="video/mp4"> <track src="subtitles_ru.vtt" kind="subtitles" srclang="ru" label="Русский" default > <track src="subtitles_en.vtt" kind="subtitles" srclang="en" label="English" > </video>
Как пишется
СкопированоТег <track>
— одиночный, должен находится внутри <video>
или <audio>
.
Основные атрибуты:
src
— путь к файлу.vtt
, содержащему субтитры или метаданные.kind
— тип дорожки:subtitles
— субтитры (самый частый случай).captions
— субтитры с описанием звуков (для слабослышащих).descriptions
— словесные описания для слабовидящих.chapters
— делит медиа на главы.metadata
— любые метаданные, не предназначенные для показа пользователю.
srclang
— язык содержимого (например,"ru"
,"en"
).label
— видимое имя дорожки в интерфейсе выбора.default
— делает дорожку выбранной по умолчанию.
<track src="captions.vtt" kind="captions" srclang="en" label="English captions" default>
<track src="captions.vtt" kind="captions" srclang="en" label="English captions" default >
Как понять
Скопировано<track>
— это вспомогательная надстройка над медиа: сам по себе тег не отображается, но его влияние видно при воспроизведении. Он подключает дополнительную текстовую информацию, которую плеер может отобразить поверх видео или использовать для других целей.
Чтобы <track>
работал, файл должен быть в формате WebVTT (Web Video Text Tracks), где прописаны временные метки и тексты.
Пример содержимого subtitles_en.vtt:
WEBVTT 00:00:01.000 --> 00:00:04.000 Welcome to the video! 00:00:05.000 --> 00:00:08.000 Here we explain how to use the track element.
Подсказки
Скопировано💡 Если вы указываете default
, он должен быть только один на каждый тип дорожки.
💡 Расширение файла должно быть .vtt
. Нельзя использовать .srt
, .txt
и другие — браузер их не поддержит.
💡 Даже если пользователь не включает субтитры, они остаются в DOM и могут быть доступны через JavaScript API.
💡 Отдельный media
элемент не может иметь элементы <track>
с одинаковыми значениями kind
, srclang
и label
.
💡 Проверяйте работу треков в разных браузерах. Safari, например, может не отображать пользовательский интерфейс выбора субтитров по умолчанию.
💡 Если у атрибута kind
значение не указано, то тип по умолчанию — subtitles
(субтитры). Если атрибут отсутствует, будет использоваться subtitles
. Если атрибут содержит недопустимое значение, оно принимает значение metadata
.