Dalam artikel ini, Anda akan mempelajari dasar-dasar file media seperti konsep penampung, dan beberapa dari banyak format codec yang tersedia yang dapat Anda gunakan dalam aliran. Selain itu, bahas sedikit topik seperti streaming adaptif, kecepatan bit, dan resolusi, tapi kita akan mempelajari semua ini lebih jauh di bagian selanjutnya.
Menyalurkan file video
Anda mungkin berpikir bahwa Anda dapat mengambil file mentah dari kamera video dan cukup menguploadnya ke web apa adanya. Memang situs streaming video seperti YouTube atau Vimeo memungkinkan Anda melakukannya, dan bahkan menyediakan kemampuan live streaming—biasanya dengan menghubungkan ke port HDMI kamera lalu memprosesnya melalui kartu tangkap. Layanan ini sangat menyederhanakan pemrosesan dan upload video, yang termasuk membuat banyak file dan manifes yang diperlukan untuk streaming adaptif dan berbagai resolusi. Ditambah banyak persyaratan rumit lainnya yang membuat {i>hosting<i} mandiri sedikit merepotkan. Menyiapkan dan menayangkan video dari situs Anda sendiri, dan kemungkinan berupa server media terpisah, sedikit lebih rumit daripada hanya mengupload file kamera mentah, jika Anda memperhatikan pengalaman pengguna di situs Anda.
File video hadir dalam berbagai format. Format yang muncul dari kamera Anda biasanya
adalah file .mov
, atau .mp4
jika Anda memiliki kamera mirrorless modern yang bagus.
Namun, meskipun .mov
cocok untuk perekaman dan pengeditan serta proses
pascaproduksi awal lainnya, ukuran filenya tidak cocok untuk streaming melalui
web. Selain itu, ukuran file .mp4
mentah dalam resolusi 4K akan membuat pemutaran file tersebut di perangkat seluler menjadi sangat terlarang. Karena browser mendukung format file yang berbeda,
Anda harus membuat beberapa file yang dioptimalkan dan mungkin sebuah manifes jika
berencana mendukung streaming adaptif. Sebelum mengonversi file, Anda perlu memahami beberapa hal dasar tentang file tersebut dan karakteristiknya.
Container dan codec, serta streaming?
File yang Anda lihat di shell sistem operasi adalah container, yang diidentifikasi oleh ekstensi file (.mp4
, .webm
, .ogg
dll.). Container
menampung satu atau beberapa aliran data. File media dapat memiliki berapa pun aliran, dengan
lebih banyak format daripada yang akan kita bahas di sini.
File contoh yang digunakan nanti di bagian ini berisi maksimal dua streaming: streaming audio dan streaming video. Di antara jenis teks lain yang mungkin Anda temui adalah teks dan data, keduanya berada di luar cakupan artikel ini. Ada kasus saat streaming audio dan video ditangani secara terpisah. Sebagian besar file yang akan Anda temui hanya akan berisi satu streaming audio dan satu streaming video.
Dalam streaming audio dan video, data sebenarnya dikompresi menggunakan codec. codec, atau coder/decoder, adalah format kompresi untuk data video atau audio. Perbedaan antara container dan codec merupakan hal penting karena konten dengan penampung yang sama dapat dienkode dengan codec yang berbeda.
Gambar di bawah mengilustrasikan struktur ini. Di sebelah kiri adalah struktur penampung dasar dengan dua aliran. Di sebelah kanan adalah spesifikasi struktur untuk satu file WebM.
![Membandingkan struktur file media dengan file media fiktif.](https://web.dev/static/articles/media-file-basics/image/comparing-media-file-stru-58d7e1713333f.png?authuser=19&hl=id)
File dalam penampung WebM dapat berukuran lebih kecil daripada format lainnya, sehingga menjadikannya pilihan yang tepat untuk streaming di situs seluler. Sayangnya, tidak semua browser mendukung container dan codec terbaru. Misalnya, WebM dibuat khusus untuk web sebagai opsi open source dan berkualitas tinggi, tetapi dukungannya belum bersifat universal. Secara khusus, Safari tidak, menurut Can I use pada saat penulisan ini, mendukung WebM untuk video sematan. Namun, WebM memiliki dukungan parsial dengan codec VP8 dan VP9 yang digunakan di WebRTC. Jadi, opsi terbaik Anda adalah menyediakan video pengganti.
Format codec
Banyak jenis file mendukung beberapa codec dalam container yang sama. Daftar lengkap codec video dan codec audio yang tersedia akan menjadi satu kesatuan untuk situs itu sendiri. Tautan yang baru saja disediakan adalah daftar praktis MDN tentang apa yang dapat digunakan di web. Di bawah ini tercantum jenis file yang saat ini disukai, dan codec yang mungkin digunakan. Ikuti link jenis file untuk melihat browser yang mendukungnya.
Jenis file | Codec Video | Codec Audio |
---|---|---|
MP4 | AV1, AVC (H.264)*, VP9 | AAC |
WebM | AV1, VP9* | Vorbis, Opus |
* Menunjukkan codec video yang diinginkan.
Kecepatan bit dan resolusi
Kecepatan bit adalah jumlah bit maksimum yang digunakan untuk mengenkode streaming satu detik. Semakin banyak bit yang digunakan untuk mengenkode aliran data, semakin tinggi potensi detail dan fidelitas. Kami memberikan informasi selengkapnya tentang konsep ini di Bitrate.
Resolusi adalah jumlah informasi dalam satu frame video, yang ditentukan sebagai jumlah piksel logis dalam setiap dimensi. Kami memberikan informasi selengkapnya tentang konsep ini di Resolution.
Selanjutnya, di Dasar-dasar aplikasi media, kami akan menunjukkan cara memeriksa karakteristik ini menggunakan dua alat command line: Shaka Packager dan FFmpeg.