<video>
Odtwarzacz wideo osadzony bezpośrednio na stronie.
- Wyświetlanie
- inline (element zastępowany)
- Znacznik zamykający
- Wymagany
- Dozwolona zawartość
- Elementy
<source>i<track>, a po nich treść zastępcza
Przykład
#<video controls width="300" height="200" preload="none" poster="/collections/covers/od-czego-zaczac-nauke-programowania.webp">
<source src="/media/lekcja-1.webm" type="video/webm">
<source src="/media/lekcja-1.mp4" type="video/mp4">
<track kind="captions" src="/media/lekcja-1-pl.vtt" srclang="pl" label="Polski" default>
<a href="/media/lekcja-1.mp4">Pobierz lekcję w MP4</a>
</video>Plik wideo i napisy zostały pominięte w podglądzie, dlatego widzisz tylko okładkę i kontrolki.
Definicja i zastosowanie
#Element <video> wyświetla film z pliku bez żadnych zewnętrznych wtyczek. Źródło podajesz w atrybucie src albo w kilku elementach <source> z różnymi formatami, a napisy dodajesz elementami <track>.
Atrybut controls pokazuje wbudowany pasek odtwarzania, a poster obraz widoczny przed startem filmu. Warto podać też width i height, żeby przeglądarka zarezerwowała miejsce na odtwarzacz, zanim film się wczyta.
Automatyczne odtwarzanie zwykle działa tylko w wyciszeniu, dlatego krótkie animacje w tle zapisuje się jako autoplay muted loop playsinline. Filmów z serwisów takich jak YouTube nie osadzisz przez <video>, do nich służy <iframe> z kodem udostępnianym przez serwis.
Składnia
#<video src="film.mp4" controls width="…" height="…"></video>Atrybuty
#src
URL
Adres pliku wideo. Gdy chcesz podać kilka formatów, zamiastsrcużyj elementów<source>wewnątrz<video>.atrybut logiczny
Pokazuje wbudowane kontrolki: odtwarzanie, oś czasu, głośność, pełny ekran. Bez nich użytkownik nie ma jak sterować filmem, chyba że zbudujesz własne przyciski.URL obrazu
Obraz wyświetlany, zanim film się uruchomi. Bez niego odtwarzacz pokazuje pierwszą klatkę filmu albo pusty prostokąt, dopóki ta klatka się nie wczyta.width / height
liczba pikseli
Wymiary odtwarzacza. Film zostanie dopasowany do tego obszaru z zachowaniem proporcji, a przy innych proporcjach pojawią się puste pasy.autoplay
atrybut logiczny
Uruchamia film zaraz po wczytaniu. Przeglądarki zwykle pozwalają na to tylko wtedy, gdy film jest wyciszony atrybutemmuted.muted
atrybut logiczny
Uruchamia film z wyłączonym dźwiękiem. W praktyce niezbędny przyautoplay.loop
atrybut logiczny
Po dojściu do końca film zaczyna się od początku.playsinline
atrybut logiczny
Na iPhonie odtwarza film w miejscu na stronie, zamiast automatycznie przechodzić na pełny ekran. Ważny dla krótkich animacji w tle.preload
none | metadata | auto
Ile danych pobrać z wyprzedzeniem. Na stronie z wieloma filmami ustawnonealbometadata, żeby nie marnować transferu.
Element obsługuje też wszystkie atrybuty globalne, takie jak class, id, style czy hidden.
Atrybuty w praktyce
#controls
atrybut logicznyPokazuje wbudowane kontrolki: odtwarzanie, oś czasu, głośność, pełny ekran. Bez nich użytkownik nie ma jak sterować filmem, chyba że zbudujesz własne przyciski.
<video src="/media/lekcja-2.mp4" controls width="240" height="160" preload="none" poster="/collections/covers/programowanie-dla-dzieci.webp"></video>Plik wideo został pominięty w podglądzie.
poster
URL obrazuObraz wyświetlany, zanim film się uruchomi. Bez niego odtwarzacz pokazuje pierwszą klatkę filmu albo pusty prostokąt, dopóki ta klatka się nie wczyta.
<video src="/media/gra-w-kodowanie.mp4" controls width="240" height="160" preload="none" poster="/collections/covers/gry-do-nauki-programowania.webp"></video>Plik wideo został pominięty w podglądzie, widoczna jest sama okładka.
Więcej przykładów
#<video autoplay muted loop playsinline width="300" height="200" poster="/collections/covers/vibe-coding.webp">
<source src="/media/tlo-animacja.webm" type="video/webm">
<source src="/media/tlo-animacja.mp4" type="video/mp4">
</video>Plik wideo został pominięty w podglądzie, dlatego widać tylko okładkę. Na prawdziwej stronie animacja zapętli się bez dźwięku.
Obsługa przeglądarek
#Szeroko dostępne
Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.
- Chrome
- Edge
- Firefox
- Safari
Dobre praktyki
#- Dodaj napisy przez
<track kind="captions">. Wiele osób ogląda filmy bez dźwięku, a dla osób niesłyszących napisy są jedynym sposobem odbioru. - Nie wrzucaj na serwer ogromnych plików prosto z kamery. Skompresuj film i rozważ lżejszy format, na przykład WebM, z MP4 jako wersją zapasową.
- Do filmów z YouTube czy Vimeo użyj
<iframe>z kodem osadzania od serwisu, a nie<video>.
Powiązane hasła
#- <audio>Odtwarzacz dźwięku: podcast, nagranie lektora, efekt dźwiękowy.
- <source>Alternatywne źródło obrazu, dźwięku lub wideo dla `<picture>`, `<audio>` i `<video>`.
- <track>Plik z napisami, opisami lub rozdziałami dla `<video>` i `<audio>`.
- <iframe>Ramka, która osadza na stronie inny dokument HTML, na przykład film z YouTube albo mapę.
- <figure>Samodzielna ilustracja z opcjonalnym podpisem: obraz, wykres, fragment kodu, cytat.
Widzisz błąd albo brakuje przykładu? Napisz do nas.