Kurs HTML

Lekcja 10.4: Napisy i ścieżki tekstowe (<track>)

Strona główna > Rozdział 10: Multimedia > Napisy i ścieżki tekstowe (<track>)

Zwiększanie dostępności i zasięgu multimediów

Osadzenie audio i wideo to dopiero początek. Aby treści multimedialne były dostępne i zrozumiałe dla jak najszerszego grona odbiorców, w tym osób niesłyszących, niedosłyszących, niewidomych, niedowidzących, a także osób oglądających w hałaśliwym otoczeniu lub uczących się języka, potrzebujemy mechanizmu dodawania ścieżek tekstowych. Do tego właśnie służy znacznik <track>.

Element <track>

Znacznik <track> jest używany jako dziecko elementu <audio> lub <video> i pozwala na określenie zewnętrznych, zsynchronizowanych czasowo ścieżek tekstowych.

Atrybuty znacznika <track>

Format WebVTT (.vtt)

WebVTT (Web Video Text Tracks) to standardowy format plików tekstowych używany przez znacznik <track>. Jest stosunkowo prosty i czytelny.

Podstawowa struktura pliku .vtt:

WEBVTT

00:00:01.000 --> 00:00:05.000
To jest pierwszy napis, który pojawi się między 1 a 5 sekundą.

00:00:06.500 --> 00:00:10.000
A to jest drugi napis.
Może on zawierać wiele linii.

CHAPTER
00:01:00.000 --> 00:05:00.000
Rozdział 1: Wprowadzenie

NOTE To jest komentarz, ignorowany przez parser

00:00:12.000 --> 00:00:15.000 align:start line:0%
[Muzyka w tle]
Ten napis (caption) opisuje dźwięk i jest wyrównany do lewej górnej krawędzi.

Przykład użycia <track> w <video>

<video controls width="640" height="360" poster="film.jpg" preload="metadata">
  <source src="film.mp4" type="video/mp4">
  <source src="film.webm" type="video/webm">
  
  <!-- Napisy w różnych językach -->
  <track kind="subtitles" src="napisy_pl.vtt" srclang="pl" label="Polski" default>
  <track kind="subtitles" src="napisy_en.vtt" srclang="en" label="English">
  
  <!-- Napisy dla niesłyszących (Captions) -->
  <track kind="captions" src="captions_pl.vtt" srclang="pl" label="Polski [CC]">
  
  <!-- Audiodeskrypcja -->
  <track kind="descriptions" src="opis_pl.vtt" srclang="pl" label="Audiodeskrypcja (PL)">
  
  <!-- Rozdziały -->
  <track kind="chapters" src="rozdzialy.vtt" srclang="pl" label="Rozdziały">
  
  <!-- Tekst zastępczy -->
  Twoja przeglądarka nie obsługuje wideo HTML5 lub formatu WebVTT.
</video>

W tym przykładzie dodaliśmy:

Przeglądarka, która obsługuje <track>, zazwyczaj wyświetli w kontrolkach odtwarzacza menu pozwalające użytkownikowi wybrać, które ścieżki tekstowe chce włączyć.

Zadanie praktyczne (z rozwiązaniem)

Zadanie: Do odtwarzacza wideo z poprzedniej lekcji dodaj polskie napisy. Utwórz prosty plik napisy_testowe.vtt z co najmniej dwoma wpisami. Użyj znacznika <track> z odpowiednimi atrybutami (kind="subtitles", src, srclang="pl", label="Polski"). Możesz dodać atrybut default.

Krok 1: Utwórz plik `napisy_testowe.vtt` (zapisz go w tym samym katalogu co plik HTML lub w podkatalogu, np. `tracks`)

WEBVTT

00:00:02.000 --> 00:00:05.000
Witaj w naszym wideo testowym!

00:00:06.000 --> 00:00:09.500
To jest przykład dodawania napisów za pomocą WebVTT.

Krok 2: Zmodyfikuj kod HTML odtwarzacza wideo

<!DOCTYPE html>
<html lang="pl">
<head>
    <meta charset="UTF-8">
    <title>Wideo z Napisami</title>
    <style>
        video {
            display: block;
            margin: 20px auto;
            border: 1px solid #ccc;
        }
    </style>
</head>
<body>

<h1>Wideo testowe z napisami</h1>

<video controls width="480" height="270" poster="migawka.jpg" preload="metadata">
  <source src="wideo-testowe.mp4" type="video/mp4">
  <source src="wideo-testowe.webm" type="video/webm">
  
  <!-- Dodane napisy -->
  <track kind="subtitles" src="napisy_testowe.vtt" srclang="pl" label="Polski" default>
  
  <p>
    Twoja przeglądarka nie obsługuje odtwarzania wideo HTML5 lub formatu WebVTT. 
    Możesz pobrać plik: 
    <a href="wideo-testowe.mp4" download>Pobierz MP4</a> lub 
    <a href="wideo-testowe.webm" download>Pobierz WebM</a>.
  </p>
</video>

</body>
</html>

Po otwarciu tego pliku HTML w przeglądarce, w kontrolkach odtwarzacza powinna pojawić się opcja włączenia/wyłączenia polskich napisów (mogą być domyślnie włączone ze względu na atrybut default). Tekst z pliku .vtt będzie się pojawiał w odpowiednich momentach filmu.

Dodatkowe zadania do samodzielnego wykonania:

  1. Dodaj drugi plik napisów (np. napisy_en.vtt) w innym języku (np. angielskim) i dodaj odpowiedni znacznik <track>. Sprawdź, czy możesz przełączać się między językami w menu odtwarzacza.
  2. Utwórz plik .vtt z kind="chapters" i dodaj znaczniki czasowe dla kilku sekcji wideo. Sprawdź, czy odtwarzacz oferuje nawigację po rozdziałach.
  3. Spróbuj dodać prostą stylizację do napisów bezpośrednio w pliku .vtt (np. używając znaczników jak <b>, <i> lub selektorów CSS w bloku STYLE - zaawansowane).

Najczęściej zadawane pytania

Do czego służy znacznik <track>?

Do dodawania zewnętrznych, zsynchronizowanych czasowo ścieżek tekstowych (np. napisów, audiodeskrypcji, rozdziałów) do elementów <audio> i <video>.

Jaki format pliku jest używany dla <track>?

Najczęściej używanym i standardowym formatem jest WebVTT (Web Video Text Tracks), który ma rozszerzenie .vtt.

Jakie są rodzaje ścieżek (atrybut `kind`)?

Najważniejsze rodzaje to `subtitles` (tłumaczenia), `captions` (napisy dla niesłyszących), `descriptions` (audiodeskrypcja), `chapters` (rozdziały) i `metadata` (dane dla skryptów).

Do czego służą atrybuty `srclang` i `label`?

`srclang` określa kod języka ścieżki (np. "pl", "en"), jest wymagany dla `kind="subtitles"`. `label` to czytelna dla użytkownika nazwa ścieżki, wyświetlana w menu odtwarzacza.

Jak włączyć napisy domyślnie?

Dodaj atrybut logiczny `default` do odpowiedniego znacznika <track>. Tylko jedna ścieżka danego rodzaju w grupie może być domyślna.