Menu

HTML Video Ekleme: controls, autoplay, poster ve Altyazı

<video> elementi video dosyalarını tarayıcının kendi oynatıcısıyla oynatır. İşaretlemeyi, önemli özellikleri (controls, autoplay, muted, loop, playsinline, poster, preload), <source> ile yedek biçimleri, <track> ile altyazıları, responsive boyutlandırmayı ve oynatmayı JavaScript ile kontrol etmeyi öğren.

Bu sayfada çalıştırılabilir editörler var - düzenle, çalıştır ve sonucu anında gör.

Video nasıl eklenir

<video> elementini bir video dosyasına yönlendir ve okur onu oynatabilsin diye controls ekle:

<video src="movie.mp4" controls width="640"></video>

controls tarayıcının kendi oynatıcısını gösterir: oynat ve duraklat, bir zaman çizelgesi, ses ve tam ekran. O olmadan video öylece durur. Bu önizleme video dosyası yükleyemez, bu yüzden bu sayfadaki örnekler elementi bir script'in çizdiği küçük bir canvas animasyonuyla besler; özellikler bir dosyayla nasıl çalışıyorlarsa tam olarak öyle çalışır:

Kaynak bir dosya değil canlı bir akış olduğu için zaman çizelgesi burada sürüklenemez ve sabit bir uzunluk yoktur. Gerçek bir .mp4 ile aynı oynatıcı tam bir ilerleme çubuğu alır.

Video özellikleri

ÖzellikNe yapar
controlsTarayıcının oynatıcı kontrollerini gösterir
autoplayOlabildiğince erken oynamaya başlar (pratikte yalnızca muted iken)
mutedSes kapalı başlar
loopBittiğinde baştan yeniden başlar
playsinlineiPhone'da tam ekrana geçmek yerine sayfanın içinde oynar
poster="thumb.jpg"Video oynamadan önce gösterilen resim
preloadnone, metadata (yalnızca boyut ve uzunluk) ya da auto (ne kadar indirileceğine tarayıcı karar verir)
width, heightPiksel cinsinden boyut; ikisini de ayarlamak video yüklenmeden önce yer ayırır

autoplay, muted ve loop

Tarayıcılar kendiliğinden sesli olarak başlayan videoları engeller. Sessiz bir video otomatik oynayabilir; arka plan videoları ve kısa, döngülü klipler böyle çalışır:

Dört özellik bir set olarak çalışır: başlamak için autoplay, tarayıcı izin versin diye muted, bir klip için loop ve iPhone'lar onu tam ekran açmasın diye playsinline. Sesli otomatik oynayan video yalnızca engellenmekle kalmaz, konuşması bastırılan ekran okuyucu kullananlar için de bir sorundur. Bir klip beş saniyeden uzun oynuyorsa insanlara onu duraklatmanın bir yolunu ver.

Poster resmi ve preload

poster, video oynamadan önce küçük resim gibi bir resim gösterir. Burada videonun hiç kaynağı yok, yani görülecek tek şey poster:

preload="none" ile tarayıcı, okur oynat'a basana kadar hiçbir şey indirmez ve poster alanın boş görünmesini engeller. Süre oynatmadan önce görünsün istiyorsan preload="metadata" kullan. Poster olmadan çoğu tarayıcı ilk kareyi yükledikten sonra onu gösterir.

source ile biçimler ve yedekler

src yerine <source> elementleriyle birkaç dosya listeleyebilirsin. Tarayıcı desteklediği ilkini oynatır:

<video controls width="640" poster="thumb.jpg">
  <source src="movie.webm" type="video/webm">
  <source src="movie.mp4" type="video/mp4">
  <track kind="captions" src="captions.vtt" srclang="en" label="English">
  <p>Your browser cannot play this video. <a href="movie.mp4">Download it</a>.</p>
</video>

H.264 videolu MP4 güncel her tarayıcıda oynar, bu yüzden tek bir dosyan olduğunda güvenli seçimdir. type özelliği tarayıcının oynatamadığı biçimleri indirmeden atlamasını sağlar. Sondaki metin yalnızca <video> elementini hiç desteklemeyen tarayıcılarda görünür.

track ile altyazılar

<track kind="captions">, zamanlanmış satırlardan oluşan düz bir metin dosyası olan bir WebVTT dosyası yükler. Tarayıcı kontrollerine bir altyazı butonu ekler ve metni videonun üzerine çizer:

WEBVTT

00:00:00.000 --> 00:00:03.000
Welcome to the course.

00:00:03.000 --> 00:00:06.500
Today we build our first web page.

Altyazılar sağır ve işitme güçlüğü çeken izleyicilere, sesi kapalı izleyenlere ve bir videoyu ikinci bir dilde takip eden herkese yardımcı olur. Bir track'in tıklama gerekmeden gösterilmesi için ona default ekle. Başka bir alan adından gelen bir altyazı dosyası CORS header'larına ve videoda crossorigin özelliğine ihtiyaç duyar.

Stil vermek ve JavaScript ile kontrol etmek

Video, bir resim gibi yerine konan (replaced) bir elementtir: height: auto ile width: 100% onu responsive yapar, object-fit de farklı şekilli bir kutuyu nasıl dolduracağına karar verir. JavaScript play(), pause(), currentTime, volume ve play, pause ve ended gibi olayları alır:

play(), tarayıcı oynatmayı engellediğinde (örneğin sesli otomatik oynatma) reddedilen bir promise döndürür, bu yüzden yayındaki kod onu catch ile yakalamalı. Kendi kontrollerini yapmak isteğe bağlıdır; yerleşik controls klavyeyle erişilebilir ve çevrilmiştir, özel butonların bunu yeniden üretmesi gerekir. YouTube ya da Vimeo'da barındırılan videolar için ise onların oynatıcısını bir iframe ile yerleştirirsin.

Sık yapılan hatalar

  • muted olmadan autoplay. Tarayıcı engeller. muted ve playsinline ekle.
  • controls unutmak. Kendi kontrollerini yapmadıysan, okurun videoyu başlatmasının hiçbir yolu yoktur.
  • width ve height olmaması. Video yüklendiğinde sayfa zıplar. İkisini de ayarla, sonra CSS ile ölçekle.
  • Devasa dosyalar. Videoları web için sıkıştır ve sayfanın aşağısındaki videolar için preload="none" ya da "metadata" kullan.
  • Konuşma içeren videolarda altyazı olmaması. Bir <track kind="captions"> ekle.

Sıkça Sorulan Sorular

HTML'de video nasıl eklenir?

<video src="movie.mp4" controls width="640"></video> kullan. controls özelliği tarayıcının oynat butonunu, zaman çizelgesini ve ses kontrolünü gösterir. O olmadan video ilk karesini (ya da poster'ını) gösterir ve kullanıcı onu başlatamaz.

Videomda autoplay neden çalışmıyor?

Tarayıcılar sesli otomatik oynatmayı engeller. autoplay yanına muted, iPhone'lar onu tam ekran yerine sayfanın içinde oynatsın diye de playsinline ekle: <video autoplay muted loop playsinline>.

Web için hangi video biçimini kullanmalıyım?

H.264 videolu MP4 güncel her tarayıcıda oynar, bu yüzden güvenli varsayılandır. <source> ile önce daha küçük bir WebM dosyası listeleyip tarayıcının desteklediği ilk biçimi seçmesine izin verebilirsin.

Bir videoya küçük resim (thumbnail) nasıl eklenir?

Bir resim URL'siyle poster özelliğini kullan: <video poster="thumb.jpg" controls>. Resim, video oynamaya başlayana kadar görünür.

Bir HTML videosuna altyazı nasıl eklenir?

Videonun içine bir <track kind="captions" src="captions.vtt" srclang="en" label="English"> ekle. Dosya WebVTT biçimini kullanır ve tarayıcı kontrollerinde bir altyazı butonu gösterir.

Bir videoyu nasıl responsive yaparım?

CSS'te width: 100% ve height: auto (ya da max-width: 100%) ayarla. Video kapsayıcısıyla birlikte ölçeklenir ve en boy oranını korur.

Coddy programming languages illustration

Coddy ile kodlamayı öğren

BAŞLA