MEDIA DOCS
VIDEO-ELEMENT
Name
Description
Example
Output
<video>Description: Elemen HTML5 untuk menampilkan video secara native.
Example:
<video src="video.mp4" controls width="640"></video>
Output: Pemutar video native
<video>Elemen HTML5 untuk menampilkan video secara native.
<video src="video.mp4" controls width="640"></video>
Pemutar video native
controlsDescription: Menampilkan kontrol pemutaran (play, pause, volume, dll.).
Example:
<video src="video.mp4" controls></video>
Output: Kontrol default browser
controlsMenampilkan kontrol pemutaran (play, pause, volume, dll.).
<video src="video.mp4" controls></video>
Kontrol default browser
autoplayDescription: Memulai pemutaran otomatis (sering kali harus disertai muted).
Example:
<video src="video.mp4" autoplay muted playsinline></video>
Output: Video langsung berjalan tanpa suara
autoplayMemulai pemutaran otomatis (sering kali harus disertai muted).
<video src="video.mp4" autoplay muted playsinline></video>
Video langsung berjalan tanpa suara
mutedDescription: Mematikan suara video.
Example:
<video src="video.mp4" muted></video>
Output: Tidak ada suara
mutedMematikan suara video.
<video src="video.mp4" muted></video>
Tidak ada suara
loopDescription: Mengulang video setelah selesai.
Example:
<video src="video.mp4" loop></video>
Output: Video berulang
loopMengulang video setelah selesai.
<video src="video.mp4" loop></video>
Video berulang
posterDescription: Gambar pratinjau yang muncul sebelum video diputar.
Example:
<video src="video.mp4" poster="thumbnail.jpg"></video>
Output: Gambar poster
posterGambar pratinjau yang muncul sebelum video diputar.
<video src="video.mp4" poster="thumbnail.jpg"></video>
Gambar poster
playsinlineDescription: Memungkinkan video diputar di dalam halaman pada perangkat mobile (tidak fullscreen paksa).
Example:
<video src="video.mp4" playsinline></video>
Output: Tetap dalam halaman di iOS
playsinlineMemungkinkan video diputar di dalam halaman pada perangkat mobile (tidak fullscreen paksa).
<video src="video.mp4" playsinline></video>
Tetap dalam halaman di iOS
width / heightDescription: Menentukan lebar dan tinggi pemutar video.
Example:
<video src="video.mp4" width="640" height="360"></video>
Output: Ukuran eksplisit
width / heightMenentukan lebar dan tinggi pemutar video.
<video src="video.mp4" width="640" height="360"></video>
Ukuran eksplisit
AUDIO-ELEMENT
Name
Description
Example
Output
<audio>Description: Elemen HTML5 untuk memutar audio.
Example:
<audio src="lagu.mp3" controls></audio>
Output: Pemutar audio native
<audio>Elemen HTML5 untuk memutar audio.
<audio src="lagu.mp3" controls></audio>
Pemutar audio native
controlsDescription: Menampilkan kontrol pemutaran (play, pause, volume).
Example:
<audio src="lagu.mp3" controls></audio>
Output: Kontrol audio
controlsMenampilkan kontrol pemutaran (play, pause, volume).
<audio src="lagu.mp3" controls></audio>
Kontrol audio
autoplayDescription: Memulai pemutaran otomatis (sering diblokir tanpa interaksi pengguna).
Example:
<audio src="lagu.mp3" autoplay></audio>
Output: Otomatis (jika diizinkan)
autoplayMemulai pemutaran otomatis (sering diblokir tanpa interaksi pengguna).
<audio src="lagu.mp3" autoplay></audio>
Otomatis (jika diizinkan)
loopDescription: Mengulang audio setelah selesai.
Example:
<audio src="lagu.mp3" loop></audio>
Output: Audio berulang
loopMengulang audio setelah selesai.
<audio src="lagu.mp3" loop></audio>
Audio berulang
mutedDescription: Mematikan audio.
Example:
<audio src="lagu.mp3" muted></audio>
Output: Sunyi
mutedMematikan audio.
<audio src="lagu.mp3" muted></audio>
Sunyi
preloadDescription: Petunjuk ke browser seberapa banyak data audio harus diunduh. Nilai: auto, metadata, none.
Example:
<audio src="lagu.mp3" preload="metadata"></audio>
Output: Hanya metadata yang diambil
preloadPetunjuk ke browser seberapa banyak data audio harus diunduh. Nilai: auto, metadata, none.
<audio src="lagu.mp3" preload="metadata"></audio>
Hanya metadata yang diambil
SOURCE-ELEMENT
Name
Description
Example
Output
<source>Description: Menyediakan beberapa sumber media untuk kompatibilitas codec.
Example:
<video controls> <source src="video.webm" type="video/webm"> <source src="video.mp4" type="video/mp4"> </video>
Output: Browser memilih source yang didukung
<source>Menyediakan beberapa sumber media untuk kompatibilitas codec.
<video controls> <source src="video.webm" type="video/webm"> <source src="video.mp4" type="video/mp4"> </video>
Browser memilih source yang didukung
srcDescription: URL ke file media.
Example:
<source src="video.mp4">
Output: Sumber video
srcURL ke file media.
<source src="video.mp4">
Sumber video
typeDescription: MIME type file media, membantu browser memilih format yang didukung.
Example:
type="video/mp4"
Output: MIME video/mp4
typeMIME type file media, membantu browser memilih format yang didukung.
type="video/mp4"
MIME video/mp4
mediaDescription: Media query untuk memilih sumber responsif (misal resolusi atau orientasi).
Example:
<source src="video-hd.webm" media="(min-width: 1200px)">
Output: Hanya dipilih pada layar lebar
mediaMedia query untuk memilih sumber responsif (misal resolusi atau orientasi).
<source src="video-hd.webm" media="(min-width: 1200px)">
Hanya dipilih pada layar lebar
TRACK-ELEMENT
Name
Description
Example
Output
<track>Description: Menambahkan teks seperti subtitle, caption, chapter, atau description.
Example:
<track src="subtitles-en.vtt" kind="subtitles" srclang="en" label="English">
Output: Teks ditampilkan
<track>Menambahkan teks seperti subtitle, caption, chapter, atau description.
<track src="subtitles-en.vtt" kind="subtitles" srclang="en" label="English">
Teks ditampilkan
kindDescription: Jenis track: subtitles, captions, descriptions, chapters, metadata.
Example:
kind="captions"
Output: Teks untuk tuna rungu
kindJenis track: subtitles, captions, descriptions, chapters, metadata.
kind="captions"
Teks untuk tuna rungu
srcDescription: URL ke file WebVTT (vtt).
Example:
src="captions.vtt"
Output: File subtitle
srcURL ke file WebVTT (vtt).
src="captions.vtt"
File subtitle
srclangDescription: Kode bahasa track (en, id, dll).
Example:
srclang="id"
Output: Bahasa Indonesia
srclangKode bahasa track (en, id, dll).
srclang="id"
Bahasa Indonesia
labelDescription: Nama tampilan untuk track (di menu subtitle).
Example:
label="Indonesia"
Output: Tampil di menu
labelNama tampilan untuk track (di menu subtitle).
label="Indonesia"
Tampil di menu
defaultDescription: Track yang diaktifkan secara default.
Example:
default
Output: Subtitle langsung muncul
defaultTrack yang diaktifkan secara default.
default
Subtitle langsung muncul
MEDIA-API
Name
Description
Example
Output
HTMLMediaElement.play()Description: Memulai pemutaran media (mengembalikan Promise).
Example:
const video = document.querySelector('video')
await video.play()Output: Video diputar
HTMLMediaElement.play()Memulai pemutaran media (mengembalikan Promise).
const video = document.querySelector('video')
await video.play()Video diputar
HTMLMediaElement.pause()Description: Menghentikan pemutaran.
Example:
video.pause()
Output: Video berhenti
HTMLMediaElement.pause()Menghentikan pemutaran.
video.pause()
Video berhenti
HTMLMediaElement.currentTimeDescription: Mendapatkan atau mengatur posisi pemutaran dalam detik.
Example:
video.currentTime = 30
Output: Lompat ke detik 30
HTMLMediaElement.currentTimeMendapatkan atau mengatur posisi pemutaran dalam detik.
video.currentTime = 30
Lompat ke detik 30
HTMLMediaElement.durationDescription: Durasi total media dalam detik (read-only).
Example:
console.log(video.duration)
Output: 120.5
HTMLMediaElement.durationDurasi total media dalam detik (read-only).
console.log(video.duration)
120.5
HTMLMediaElement.volumeDescription: Mengatur volume (0.0 hingga 1.0).
Example:
video.volume = 0.5
Output: Volume setengah
HTMLMediaElement.volumeMengatur volume (0.0 hingga 1.0).
video.volume = 0.5
Volume setengah
HTMLMediaElement.mutedDescription: Mematikan atau menghidupkan suara.
Example:
video.muted = true
Output: Sunyi
HTMLMediaElement.mutedMematikan atau menghidupkan suara.
video.muted = true
Sunyi
HTMLMediaElement.playbackRateDescription: Mengatur kecepatan pemutaran (1.0 normal, 2.0 dua kali lipat).
Example:
video.playbackRate = 1.5
Output: Kecepatan 1.5x
HTMLMediaElement.playbackRateMengatur kecepatan pemutaran (1.0 normal, 2.0 dua kali lipat).
video.playbackRate = 1.5
Kecepatan 1.5x
Media Events (loadstart, canplay, ended, error, dll)Description: Berbagai event yang bisa didengarkan.
Example:
video.addEventListener('ended', () => console.log('Selesai'))Output: Log saat video habis
Media Events (loadstart, canplay, ended, error, dll)Berbagai event yang bisa didengarkan.
video.addEventListener('ended', () => console.log('Selesai'))Log saat video habis
MEDIA-STREAMING
Name
Description
Example
Output
Media Source Extensions (MSE)Description: API untuk membuat stream video sendiri (digunakan oleh pemutar canggih).
Example:
const mediaSource = new MediaSource() video.src = URL.createObjectURL(mediaSource)
Output: Video dari buffer
Media Source Extensions (MSE)API untuk membuat stream video sendiri (digunakan oleh pemutar canggih).
const mediaSource = new MediaSource() video.src = URL.createObjectURL(mediaSource)
Video dari buffer
HLS (HTTP Live Streaming)Description: Format streaming adaptif Apple. Diputar melalui library seperti hls.js.
Example:
const hls = new Hls()
hls.loadSource('stream.m3u8')
hls.attachMedia(video)Output: Streaming adaptif
HLS (HTTP Live Streaming)Format streaming adaptif Apple. Diputar melalui library seperti hls.js.
const hls = new Hls()
hls.loadSource('stream.m3u8')
hls.attachMedia(video)Streaming adaptif
DASH (Dynamic Adaptive Streaming over HTTP)Description: Standar streaming adaptif internasional. Diputar dengan dash.js.
Example:
const player = dashjs.MediaPlayer().create() player.initialize(video, 'stream.mpd', true)
Output: Streaming adaptif DASH
DASH (Dynamic Adaptive Streaming over HTTP)Standar streaming adaptif internasional. Diputar dengan dash.js.
const player = dashjs.MediaPlayer().create() player.initialize(video, 'stream.mpd', true)
Streaming adaptif DASH
FORMATS-CODECS
Name
Description
Example
Output
MP4 (H.264 + AAC)Description: Format paling kompatibel; codec video H.264, audio AAC.
Example:
<source src="video.mp4" type="video/mp4">
Output: Didukung hampir semua browser
MP4 (H.264 + AAC)Format paling kompatibel; codec video H.264, audio AAC.
<source src="video.mp4" type="video/mp4">
Didukung hampir semua browser
WebM (VP8/VP9 + Vorbis/Opus)Description: Format terbuka, bebas royalti. Biasanya lebih kecil.
Example:
<source src="video.webm" type="video/webm">
Output: Chrome, Firefox, Edge
WebM (VP8/VP9 + Vorbis/Opus)Format terbuka, bebas royalti. Biasanya lebih kecil.
<source src="video.webm" type="video/webm">
Chrome, Firefox, Edge
Ogg (Theora + Vorbis)Description: Format terbuka alternatif.
Example:
<source src="video.ogv" type="video/ogg">
Output: Firefox, Chrome
Ogg (Theora + Vorbis)Format terbuka alternatif.
<source src="video.ogv" type="video/ogg">
Firefox, Chrome
HEVC/H.265Description: Format kompresi lebih baik, tetapi terbatas dukungan browser (Safari).
Example:
<source src="video-hevc.mp4" type="video/mp4; codecs=hvc1">
Output: Safari (iOS/macOS)
HEVC/H.265Format kompresi lebih baik, tetapi terbatas dukungan browser (Safari).
<source src="video-hevc.mp4" type="video/mp4; codecs=hvc1">
Safari (iOS/macOS)
AV1Description: Codec terbuka generasi terbaru, kompresi tinggi, semakin didukung.
Example:
<source src="video-av1.mp4" type="video/mp4; codecs=av01">
Output: Chrome, Firefox, Edge
AV1Codec terbuka generasi terbaru, kompresi tinggi, semakin didukung.
<source src="video-av1.mp4" type="video/mp4; codecs=av01">
Chrome, Firefox, Edge
MP3 (audio/mpeg)Description: Format audio paling kompatibel.
Example:
<source src="lagu.mp3" type="audio/mpeg">
Output: Semua browser
MP3 (audio/mpeg)Format audio paling kompatibel.
<source src="lagu.mp3" type="audio/mpeg">
Semua browser
RESPONSIVE-IMAGES
Name
Description
Example
Output
<picture>Description: Elemen untuk art-direction, menyediakan sumber gambar berbeda.
Example:
<picture> <source srcset="large.webp" media="(min-width: 800px)"> <img src="small.jpg" alt="..."> </picture>
Output: Gambar sesuai kondisi
<picture>Elemen untuk art-direction, menyediakan sumber gambar berbeda.
<picture> <source srcset="large.webp" media="(min-width: 800px)"> <img src="small.jpg" alt="..."> </picture>
Gambar sesuai kondisi
srcset (atribut pada <img>)Description: Menyediakan beberapa ukuran gambar untuk responsif.
Example:
<img src="default.jpg" srcset="small.jpg 480w, medium.jpg 800w, large.jpg 1200w" sizes="100vw" alt="...">
Output: Browser memilih ukuran terbaik
srcset (atribut pada <img>)Menyediakan beberapa ukuran gambar untuk responsif.
<img src="default.jpg" srcset="small.jpg 480w, medium.jpg 800w, large.jpg 1200w" sizes="100vw" alt="...">
Browser memilih ukuran terbaik
sizesDescription: Memberi tahu browser lebar tampilan gambar pada berbagai breakpoint.
Example:
sizes="(max-width: 600px) 100vw, 50vw"
Output: Gambar responsif akurat
sizesMemberi tahu browser lebar tampilan gambar pada berbagai breakpoint.
sizes="(max-width: 600px) 100vw, 50vw"
Gambar responsif akurat
ACCESSIBILITY-MEDIA
Name
Description
Example
Output
Captions (kind="captions")Description: Teks untuk orang dengan gangguan pendengaran, termasuk deskripsi suara non-bicara.
Example:
<track src="captions.vtt" kind="captions" srclang="en" label="English" default>
Output: Semua suara ditampilkan teks
Captions (kind="captions")Teks untuk orang dengan gangguan pendengaran, termasuk deskripsi suara non-bicara.
<track src="captions.vtt" kind="captions" srclang="en" label="English" default>
Semua suara ditampilkan teks
Subtitles (kind="subtitles")Description: Terjemahan dialog, tidak termasuk suara non-bicara.
Example:
<track src="subtitle-id.vtt" kind="subtitles" srclang="id" label="Indonesia">
Output: Terjemahan dialog
Subtitles (kind="subtitles")Terjemahan dialog, tidak termasuk suara non-bicara.
<track src="subtitle-id.vtt" kind="subtitles" srclang="id" label="Indonesia">
Terjemahan dialog
Audio Description (kind="descriptions")Description: Deskripsi naratif tentang adegan visual untuk tuna netra.
Example:
<track src="desc.vtt" kind="descriptions" srclang="en">
Output: Deskripsi adegan dibacakan
Audio Description (kind="descriptions")Deskripsi naratif tentang adegan visual untuk tuna netra.
<track src="desc.vtt" kind="descriptions" srclang="en">
Deskripsi adegan dibacakan
TranscriptDescription: Teks lengkap semua konten audio dan visual, ditempatkan di luar pemutar.
Example:
<details><summary>Transkrip Video</summary><p>...</p></details>
Output: Alternatif teks lengkap
TranscriptTeks lengkap semua konten audio dan visual, ditempatkan di luar pemutar.
<details><summary>Transkrip Video</summary><p>...</p></details>
Alternatif teks lengkap
BEST-PRACTICES
Name
Description
Example
Output
Gunakan <picture> dan srcset untuk gambarDescription: Hindari gambar besar di perangkat kecil.
Example:
<picture>...</picture>
Output: Performa lebih baik
Gunakan <picture> dan srcset untuk gambarHindari gambar besar di perangkat kecil.
<picture>...</picture>
Performa lebih baik
Sediakan fallback untuk semua <source>Description: Pastikan ada pesan teks jika tidak ada source yang didukung.
Example:
<video controls> ... Maaf, browser Anda tidak mendukung video. </video>
Output: Pengalaman pengguna terjaga
Sediakan fallback untuk semua <source>Pastikan ada pesan teks jika tidak ada source yang didukung.
<video controls> ... Maaf, browser Anda tidak mendukung video. </video>
Pengalaman pengguna terjaga
Optimasi ukuran file mediaDescription: Kompres video/audio tanpa kehilangan kualitas signifikan.
Example:
Gunakan HandBrake atau ffmpeg untuk kompresi.
Output: Loading lebih cepat
Optimasi ukuran file mediaKompres video/audio tanpa kehilangan kualitas signifikan.
Gunakan HandBrake atau ffmpeg untuk kompresi.
Loading lebih cepat
Hindari autoplay tanpa mutedDescription: Kebijakan browser memblokir autoplay bersuara.
Example:
autoplay muted
Output: Autoplay diizinkan
Hindari autoplay tanpa mutedKebijakan browser memblokir autoplay bersuara.
autoplay muted
Autoplay diizinkan