Pisahkan wadah dari codec video
Sebuah kontainer mengemas trek, waktu, metadata, dan indeks. Codec menentukan bagaimana trek video dikompresi dan didekodekan. Mengganti nama file HEVC dari .mov menjadi .mp4 tidak mengubahnya menjadi H.264, sama seperti mengubah nama file ZIP tidak mengubah file di dalamnya.
MP4 biasanya membawa video H.264, HEVC, atau AV1. WebM biasanya membawa VP8, VP9, atau AV1. MOV, MKV, dan AVI dapat berisi banyak kombinasi. Panduan codec video MDN mencantumkan hubungan codec dan container yang umum, namun pemutaran sebenarnya masih dapat bervariasi menurut profil, kedalaman bit, perangkat keras, lisensi, dan rilis browser.
Inilah sebabnya mengapa daftar ekstensi hanya dapat menjelaskan kemungkinan masukan. File MP4/H.264 yang dapat dibaca browser adalah pengujian pertama yang konservatif; tidak ada alat browser yang jujur yang dapat menjamin bahwa setiap file yang berbagi ekstensi akan didekode.
Gunakan tangga diagnostik alih-alih percobaan ulang secara acak
- Uji pemutaran biasa. Buka file langsung di browser yang sama. Jika tidak dapat diputar, ekstraksi bingkai tidak dapat membuat dekoder mendukungnya.
- Cobalah file lokal yang terkenal bagus. Contoh singkat H.264 MP4 atau WebM umum memisahkan masalah di seluruh situs dari masalah khusus sumber.
- Uji browser lain saat ini di perangkat yang sama. Browser yang berbeda mungkin menggunakan jalur decoder yang berbeda bahkan pada satu sistem operasi.
- Uji perangkat atau sistem operasi lain. Hal ini sangat berguna terutama untuk HEVC dan profil yang lebih baru dengan dukungan perangkat keras atau platform yang tidak merata.
- Periksa metadata streaming. Pemeriksa media lokal dapat mengungkapkan nama codec, profil, level, format piksel, kedalaman bit, dimensi, mode kecepatan bingkai, dan durasi.
- Buat turunan yang kompatibel. Transkode hanya salinan dengan alat lokal tepercaya, lalu simpan yang asli sebagai sumber pencatatan.
Kenali pola kegagalan yang umum
Browser mengatakan formatnya tidak didukung
Penampung atau trek video utama mungkin tidak memiliki dekoder. Format kroma yang tidak biasa, profil lanjutan, atau batas lisensi codec dengan kedalaman bit tinggi dapat menjadi penting bahkan ketika keluarga codec tampaknya didukung.
Pemutaran berfungsi tetapi pencarian tidak dapat diandalkan
File mungkin memiliki bingkai utama yang jarang, indeks tidak lengkap, stempel waktu yang tidak biasa, atau metadata yang rusak. Pemutaran maju dapat berhasil karena mendekode secara berurutan sedangkan akses acak bergantung pada waktu dan informasi indeks.
Frame pertama berfungsi dan frame selanjutnya gagal
Segmen yang rusak, stempel waktu yang terputus-putus, tekanan memori, atau kesalahan dekode di kemudian hari dalam aliran mungkin menjadi penyebabnya. Cobalah rentang yang lebih pendek di sekitar kegagalan dan bandingkan perilaku pemain lain.
Audio diputar tetapi tidak ada gambar yang muncul
Kontainer membawa jalur terpisah. Browser mungkin mendukung codec audio namun kurang mendukung codec video atau profilnya.
URL jarak jauh menambahkan aturan jaringan ke aturan media
URL langsung harus mengarah ke media yang dapat diambil dan didekode oleh browser. Halaman berbagi, halaman pratinjau cloud, unduhan terautentikasi, atau respons HTML bukan file video langsung. Server jarak jauh juga perlu mengizinkan penggunaan lintas asal saat alat tersebut menggambar video ke kanvas; jika tidak, aturan keamanan browser dapat memblokir ekspor meskipun pemutaran tampaknya memungkinkan.
Pengalihan, tanda tangan yang kedaluwarsa, hilangnya dukungan rentang byte, perlindungan hotlink, cookie autentikasi, dan kesalahan tipe konten semuanya dapat membuat sumber jarak jauh kurang dapat diandalkan dibandingkan file lokal. Mengunduh file yang Anda izinkan untuk menggunakannya dan memilihnya secara lokal akan menghapus sebagian besar variabel jaringan tersebut.
Saat URL jarak jauh digunakan, browser menghubungi host pihak ketiga tersebut secara langsung. Host dapat menerima informasi permintaan normal seperti alamat IP dan header browser. Kebijakan privasi VideoToImg menjelaskan batasannya.
Pilih target kompatibilitas yang konservatif
Untuk turunan yang ditujukan terutama untuk browser saat ini, video H.264 dalam wadah MP4 tetap menjadi dasar yang kompatibel secara luas. Kombinasi WebM yang umum adalah target berguna lainnya. Jaga dimensi dan kecepatan bingkai sesuai dengan tugas sebenarnya; mengonversi sumber ke resolusi lebih besar atau kecepatan bingkai lebih tinggi tidak menyebabkan hilangnya informasi visual.
Untuk rekaman pribadi, gunakan konverter lokal yang memiliki reputasi baik daripada mengunggah ke layanan yang tidak dikenal. Simpan dokumen asli secara terpisah, dan dokumentasikan pengaturan konversi jika pengaturan waktu atau ketepatan visual penting. Pengodean ulang bersifat lossy kecuali jika alur kerja lossless sengaja dipilih, sehingga salinan kompatibilitas tidak boleh menggantikan master sumber secara diam-diam.
Dokumentasi format FFmpeg adalah referensi utama untuk demuxer dan muxer yang didukung oleh FFmpeg, tetapi opsi perintah dan ketersediaan codec bergantung pada build yang diinstal. Situs ini tidak menjalankan FFmpeg di browser dan tidak mengklaim cakupan format yang setara.
Tulis laporan kompatibilitas yang dapat direproduksi
Catat nama dan versi browser, sistem operasi, ekstensi file, codec dan profil jika diketahui, dimensi, durasi, apakah pemutaran biasa berfungsi, dan titik pasti di mana ekstraksi gagal. Nyatakan apakah sumbernya lokal atau jarak jauh dan apakah file kecil yang dikenal baik berfungsi di sesi yang sama.
Jangan mengirimkan video sumber pribadi hanya untuk membuktikan adanya bug. File reproduksi pendek yang tidak sensitif atau metadata lengkap lebih aman dan seringkali lebih berguna. Hapus nama file pribadi, parameter URL yang ditandatangani, dan pengidentifikasi akun dari tangkapan layar atau log.
Kirim laporan yang dapat direproduksi ke hello@videotoimg.com, atau buka pengonversi video ke gambar untuk menguji file lokal yang dapat dibaca browser.