ApsaraVideo VOD memungkinkan Anda menghasilkan tangkapan video dari file media. Untuk menyederhanakan proses ini, Anda dapat membuat templat snapshot dengan pengaturan yang telah dikonfigurasi sebelumnya dan mengelolanya melalui Konsol atau menggunakan API. Artikel ini memperkenalkan berbagai jenis tangkapan video, menjelaskan cara menggunakannya, serta memberikan detail tentang pengelolaan templat snapshot dan parameternya.
Pendahuluan
Tangkapan video adalah gambar yang diambil dari titik tertentu dalam sebuah video dan disimpan sebagai file gambar. Untuk meningkatkan kegunaan, ApsaraVideo VOD menyediakan templat snapshot. Anda dapat mengonfigurasi parameter snapshot dalam templat, lalu menentukan ID templat tersebut saat mengirimkan Pekerjaan snapshot.
Pembuatan snapshot dapat gagal untuk file media hanya audio, file sumber yang rusak, atau file dengan informasi kontainer yang tidak normal.
Proses snapshot sepenuhnya asinkron. Saat Anda mengirim permintaan snapshot, pekerjaan tersebut mungkin masih dalam antrian meskipun API telah mengembalikan respons. Anda dapat mengambil hasil snapshot dari notifikasi event video snapshot completion.
Waktu yang diperlukan untuk menghasilkan snapshot bergantung pada ukuran file, durasi, dan jenis frame.
Direktori output untuk snapshot yang dihasilkan tidak dapat dikustomisasi.
Jenis snapshot
Cover snapshot (CoverSnapshot)
ApsaraVideo VOD secara otomatis menghasilkan snapshot untuk setiap video sumber. Snapshot ini disebut cover snapshot. Secara default, hingga delapan gambar diambil dari keyframe yang tersebar merata, dimulai dari tanda 5 ms video. Anda dapat melihat cover snapshot ini di halaman detail video di Konsol ApsaraVideo VOD dan memilih salah satunya sebagai sampul video.
Jika video memiliki kurang dari delapan keyframe, jumlah snapshot yang dihasilkan akan kurang dari delapan.
Jika tidak ada sampul video yang ditetapkan, snapshot cover tengah dari yang dihasilkan digunakan sebagai sampul default.
Saat Anda mengunggah video ke ApsaraVideo VOD, layanan ini menghasilkan cover snapshot dan sprite snapshot.
Normal snapshot (NormalSnapshot)
Anda dapat menggunakan API untuk mengambil jumlah gambar tertentu dari video. Metode ini memungkinkan Anda mengonfigurasi pengaturan seperti waktu mulai, jumlah total snapshot, interval snapshot, lebar, dan tinggi. Jika Anda mengirimkan beberapa pekerjaan snapshot untuk video yang sama, ApsaraVideo VOD hanya menyimpan data dari pekerjaan terbaru. Untuk informasi selengkapnya, lihat submit media snapshot job.
Sprite snapshot (SpriteSnapshot)
Sprite dibuat dengan terlebih dahulu menghasilkan serangkaian Normal snapshot, lalu menyambungkannya menjadi satu gambar besar berdasarkan tata letak yang ditentukan. Gambar besar ini disebut sprite, sedangkan gambar individual yang digunakan untuk membuatnya disebut original images of a sprite. Penggunaan sprite mengurangi jumlah permintaan gambar. Hal ini memungkinkan klien mengambil informasi untuk beberapa snapshot dalam satu permintaan, sehingga meningkatkan kinerja.
Sebagai contoh, jika Anda menyusun Normal snapshot dalam kisi 10x10, satu sprite secara teoretis dapat memuat 10 × 10 = 100 gambar kecil. Jika jumlah aktual Normal snapshot kurang dari 100, sprite tersebut akan berisi lebih sedikit gambar. Jika jumlahnya melebihi 100, sprite kedua akan dihasilkan, dan seterusnya. Gambar berikut mengilustrasikan proses ini.
CatatanDalam diagram contoh, terdapat total 50 Normal snapshot, disusun dalam kisi 10×3. Sprite pertama berisi 30 gambar kecil, dan sprite kedua berisi sisa 20 gambar.
Original image of a sprite (SpriteOriginSnapshot)
Original images of a sprite adalah Normal snapshot yang digunakan untuk membuat sprite. Anda dapat memilih untuk menyimpan atau menghapus gambar-gambar asli ini. Jika Anda menyimpannya, Anda dapat mengambil datanya menggunakan API query snapshot data. Untuk informasi selengkapnya, lihat query snapshot data.
WebVTT snapshot
Pembuatan WebVTT snapshot menghasilkan file VTT yang berisi informasi tentang semua snapshot. File VTT mencatat informasi dasar, seperti timestamp dan URL setiap snapshot. Untuk menampilkan gambar mini, aplikasi Anda harus terlebih dahulu mengurai file VTT untuk mengambil informasi tersebut. Ini umumnya digunakan untuk menampilkan thumbnail pratinjau pada seek bar pemutar.
Opsi penyimpanan snapshot WebVTT
Penyimpanan gambar individual
Setiap snapshot disimpan sebagai file gambar terpisah. File VTT mencatat posisi relatif dan timestamp untuk setiap snapshot individual, seperti yang ditunjukkan pada gambar berikut:

Penyimpanan gambar gabungan
Semua snapshot pertama-tama disambung menjadi satu gambar besar (sprite). Untuk mengakses snapshot tertentu, Anda harus mengurai koordinatnya dari file VTT, seperti yang ditunjukkan pada gambar berikut:

Penggunaan
Cover snapshot
Setelah video diunggah, ApsaraVideo VOD secara otomatis menghasilkan cover snapshot. Proses ini tidak dikenai biaya.
Snapshot yang diinisiasi melalui API
Anda dapat memulai tugas snapshot untuk video tertentu dengan memanggil API submit media snapshot job. Untuk informasi selengkapnya, lihat submit media snapshot job. Metode ini dapat digunakan untuk menghasilkan Normal snapshot maupun sprite snapshot.
Cara mengambil snapshot
Anda dapat mengambil informasi snapshot dengan cara berikut:
Menerima notifikasi callback video snapshot completion.
Memanggil API GetVideoInfo untuk mengambil informasi snapshot default.
Memanggil API query snapshot data untuk mengkueri data snapshot.
Cara menghapus snapshot
Saat ini, ApsaraVideo VOD tidak mendukung pengelolaan snapshot secara terpisah dari video sumbernya. Saat Anda menghapus video, semua informasi snapshot terkait dan file gambarnya juga akan dihapus secara permanen. Tindakan ini tidak dapat dikembalikan.
Kelola templat snapshot
Pekerjaan snapshot dapat melibatkan banyak parameter. Menentukan parameter ini untuk setiap pekerjaan bersifat kompleks dan rentan kesalahan. Untuk menyederhanakannya, ApsaraVideo VOD menyediakan templat snapshot. Anda dapat mengonfigurasi parameter dalam templat, lalu menentukan ID templat tersebut saat mengirimkan Pekerjaan snapshot.
Anda dapat mengelola templat snapshot melalui Konsol atau menggunakan API.
Kelola melalui Konsol
Anda dapat menambah, mengubah, dan menghapus templat snapshot di Konsol ApsaraVideo VOD.

Kelola menggunakan API
Anda juga dapat mengelola templat dengan memanggil API terkait. Untuk informasi selengkapnya, lihat Snapshot templates.
Parameter snapshot
Pengaturan Snapshot Normal
CatatanBagian ini menjelaskan parameter utama untuk Normal snapshot. Untuk daftar lengkap parameter, lihat SnapshotConfig.
Parameter API
Parameter Konsol
Deskripsi
FrameType
Frame type
Jenis frame yang akan diambil. Nilai yang valid adalah
intra(keyframe) dannormal(non-keyframe).Mengambil keyframe umumnya lebih cepat daripada mengambil non-keyframe.
SpecifiedOffsetTime
Waktu mulai
Waktu mulai pengambilan snapshot, dalam milidetik (ms). Nilai ini harus berupa bilangan bulat positif.
Untuk tangkapan layar satu frame,
SpecifiedOffsetTimeadalah titik waktu pengambilan tangkapan layar.Count
Number of snapshots
Jumlah total snapshot yang akan dihasilkan.
Interval
Snapshot interval
Interval waktu antar snapshot.
Count> 1: Mengambil totalCountsnapshot dengan interval yang ditentukan.Count> 1 danInterval= 0: MengambilCountsnapshot yang tersebar merata sepanjang durasi video. JikaFrameTypeadalahintradan jumlah keyframe kurang dariCount, jumlah aktual snapshot yang dihasilkan akan kurang dariCount.Count= 1: Mengambil satu snapshot.
Width
Width
Lebar snapshot dalam piksel. Nilainya harus antara 8 hingga 4096, inklusif.
CatatanCatatan mengenai
WidthdanHeight:Jika Anda tidak menentukan lebar dan tinggi, snapshot akan memiliki dimensi yang sama dengan video input.
Jika Anda hanya menentukan lebar atau tinggi, dimensi lainnya diskalakan untuk mempertahankan rasio aspek asli video input.
Height
Height
Tinggi snapshot dalam piksel. Nilainya harus antara 8 hingga 4096, inklusif.
Pengaturan WebVTT snapshot
Selain parameter yang diperlukan untuk Normal snapshot, Anda juga perlu mengonfigurasi
FormatdanSubOut.Parameter API
Parameter Konsol
Deskripsi
Format
File format
Parameter ini menentukan bahwa file VTT yang mengindeks snapshot akan dihasilkan.
CatatanParameter ini hanya diperlukan untuk WebVTT snapshot dan nilainya harus
VTT.SubOut
Parameter ini hanya diperlukan untuk WebVTT snapshot.
Contoh:
{ "IsSptFrag":"true" }IsSptFrag: Mengontrol cara gambar snapshot dihasilkan untuk file VTT. Tetapkan kefalseuntuk menyimpan gambar secara individual. Tetapkan ketrueuntuk menyambung gambar menjadi satu gambar besar (sprite).Pengaturan sprite snapshot
CatatanBagian ini menjelaskan parameter utama untuk sprite snapshot. Untuk daftar lengkap parameter, lihat SpriteSnapshotConfig.
Parameter API
Parameter Konsol
Deskripsi
CellWidth
Small image width
Lebar dan tinggi gambar kecil dalam sprite. Jika Anda tidak mengatur parameter ini, gambar kecil akan memiliki dimensi yang sama dengan normal snapshot. Jika Anda hanya menentukan satu dimensi, dimensi lainnya secara otomatis diskalakan untuk mempertahankan rasio aspek.
CellHeight
Small image height
KeepCellPic
Delete original images
Menentukan apakah akan menyimpan original images of a sprite (normal snapshot yang digunakan untuk membuat sprite). Nilai yang valid adalah
delete(tidak menyimpan) dankeep.CatatanKami menyarankan untuk menghapus gambar asli kecuali Anda membutuhkannya.
Color
Background color
Warna latar belakang sprite. Untuk informasi selengkapnya, lihat Color settings.
CatatanNilai RGB tidak didukung.
Gambar berikut mengilustrasikan parameter-parameter ini.
