Protokol pencarian media adalah protokol pencarian real-time yang mengintegrasikan pengambilan, penyaringan, pengurutan, dan paginasi. Protokol ini memungkinkan Anda menanyakan informasi tentang aset media seperti video, audio, dan gambar di ApsaraVideo VOD. Topik ini menjelaskan sintaksis dari protokol yang digunakan untuk pencarian aset media di ApsaraVideo VOD. Gunakan protokol ini bersama dengan operasi SearchMedia. Anda dapat mengonfigurasi parameter Match untuk menanyakan aset media berdasarkan bidang hasil, bidang pencocokan tepat, bidang pencocokan kabur, bidang kueri multi-nilai, bidang kueri rentang, dan bidang pengurutan.
Sintaksis
Bidang aset media diklasifikasikan ke dalam kategori berikut berdasarkan aturan sintaksis yang didefinisikan dalam protokol untuk pencarian aset media: bidang hasil, bidang pencocokan tepat, bidang pencocokan kabur, bidang kueri multi-nilai, bidang kueri rentang, dan bidang pengurutan. Untuk informasi lebih lanjut tentang semua bidang aset media yang didukung oleh ApsaraVideo VOD dan aturan sintaksis yang berlaku, lihat Informasi Aset Media.
Ketika memanggil operasi SearchMedia untuk menanyakan informasi aset media, lakukan pengkodean URL pada pernyataan kueri. Gunakan tanda baca single-byte seperti tanda sama dengan (=), tanda kutip ganda ("), tanda kutip tunggal ('), dan tanda kurung () dalam pernyataan kueri. Untuk informasi lebih lanjut tentang karakter khusus yang didefinisikan dalam protokol untuk pencarian aset media, lihat Karakter Khusus.
Jika menggunakan metode kueri lainnya untuk sebuah bidang yang mendukung pencocokan tepat dan pencocokan kabur, hasil yang dikembalikan untuk bidang tersebut mengikuti metode kueri yang didukung oleh bidang tersebut. Sebagai contoh, jika sebuah bidang hanya mendukung pencocokan kabur, hasil yang dikembalikan dengan menggunakan kueri multi-nilai juga akan berbasis pencocokan kabur.
Tabel berikut menjelaskan sintaksis yang didefinisikan dalam protokol untuk pencarian aset media dan menyediakan contoh pencarian.
Kategori | Deskripsi | Sintaksis | Contoh |
Bidang hasil | Menentukan bidang yang ingin Anda kembalikan dalam hasil pencarian. Secara default, hanya ID, waktu pembuatan, dan jenis setiap aset media yang dikembalikan. | field1,field2 | |
Bidang yang digunakan untuk pencocokan tepat | Mengkueri aset media yang nilainya dari bidang tertentu cocok secara tepat. | field = value | |
Bidang yang digunakan untuk pencocokan kabur | Mengkueri informasi tentang aset media yang nilainya dari bidang tertentu mengandung karakter atau string tertentu. | field in ('value1','value2') or field = 'value' | |
Bidang yang digunakan untuk kueri multi-nilai | Mengkueri informasi tentang aset media yang cocok dengan salah satu nilai dari bidang tertentu.Jika bidang yang digunakan untuk kueri hanya mendukung pencocokan kabur, hasil kueri juga dikembalikan berdasarkan pencocokan kabur. | field in ('value1','value2') | |
Bidang yang digunakan untuk kueri rentang | Mengkueri aset media yang nilainya dari bidang tertentu berada dalam interval terbuka atau tertutup tertentu. | field = (value1,value2) | |
Bidang pengurutan | Menentukan bidang berdasarkan mana hasil pencarian diurutkan dan urutan hasil pencarian diurutkan. Urutan menurun dan urutan naik didukung. Beberapa bidang pengurutan ditampilkan dari kiri ke kanan berdasarkan prioritas mereka dalam urutan menurun. | SortBy = field:Desc |
Karakter khusus
Karakter | Deskripsi | Sintaksis |
dan | Menghubungkan dua kondisi filter untuk mengkueri aset media yang sesuai dengan kedua kondisi filter tersebut. | field1 = 'value' and field2 = 'value' |
atau | Menghubungkan dua kondisi filter untuk mengkueri informasi tentang aset media yang memenuhi salah satu kondisi filter. Jika Anda menggunakan operator OR dalam pernyataan kueri, Anda harus mengapit kondisi filter dalam sepasang tanda kurung (). | (field1 = 'value1' or field2 = 'value2') |
( ) | Mengapit interval terbuka atau tertutup tertentu untuk kueri rentang. | field = ('value1','value2') |
( ) | Mengapit beberapa kondisi filter dalam hubungan OR. | (field1 = 'value1' or field2 = 'value2') |
' ' | Mengapit nilai bidang bertipe STRING. | field = 'value' |
, | Memisahkan beberapa nilai bidang untuk kueri multi-nilai. Anda dapat memisahkan beberapa nilai bidang dengan koma (,). | field in ('value1','value2') |
( ) [ ] | Menentukan interval terbuka atau tertutup untuk kueri rentang. Anda dapat menentukan apakah akan menyertakan atau mengecualikan titik akhir kiri dan titik akhir kanan dari interval. | field = ['value1','value2'] |
di dalam | Menentukan beberapa nilai untuk sebuah bidang dalam kueri multi-nilai untuk mengkueri informasi tentang aset media yang cocok dengan salah satu nilai dari bidang tertentu. | field in ('value1','value2') |
Informasi aset media
ApsaraVideo VOD memungkinkan Anda menanyakan informasi tentang file video, audio, dan gambar tertentu, serta aset media tambahan. Tabel berikut menjelaskan aturan sintaksis yang berlaku untuk berbagai bidang aset media. Simbol √ dalam tabel menunjukkan bahwa bidang tersebut didukung, sedangkan × menunjukkan bahwa bidang tersebut tidak didukung.
Anda dapat menentukan maksimal tiga nilai untuk kueri multi-nilai. Nilai berlebih akan diabaikan.
Setiap string untuk pencocokan kabur dapat memiliki panjang hingga 60 karakter.
Jika Anda tidak dapat memperoleh hasil yang tepat dari pencarian kabur dengan menggunakan bidang Title bersama dengan bidang lainnya, periksa pernyataan Anda untuk kesalahan format. Contoh pencarian kabur:
(Title = 'Test' and Description = 'Description').Jika bidang hanya mendukung pencocokan kabur, hasil kueri juga dikembalikan berdasarkan pencocokan kabur untuk kueri multi-nilai.
Video: informasi tentang video
Bidang | Tipe | Deskripsi | Digunakan sebagai bidang hasil | Digunakan untuk pencocokan tepat | Digunakan untuk pencocokan kabur | Digunakan untuk kueri multi-nilai | Digunakan untuk kueri rentang | Digunakan sebagai bidang pengurutan |
VideoId | String | ID video. | ✓ | ✓ | × | ✓ | × | × |
AppId | String | ID aplikasi. | ✓ | × | × | ✓ | × | × |
CateId | Long | ID kategori tempat video termasuk. | ✓ | ✓ | × | × | × | × |
CateName | String | Nama kategori tempat video termasuk. | ✓ | × | × | × | × | × |
StorageLocation | String | Wilayah tempat video disimpan. | ✓ | ✓ | × | ✓ | × | × |
Title | String | Judul video. | ✓ | × | ✓ | × | × | × |
Tags | String | Tag video. | ✓ | × | ✓ | ✓ | × | × |
Description | String | Deskripsi video. | ✓ | × | ✓ | × | × | × |
Status | String | ✓ | × | × | ✓ | × | × | |
MediaSource | String | ✓ | × | × | ✓ | × | × | |
PreprocessStatus | String | ✓ | × | × | ✓ | × | × | |
Size | Long | Ukuran video. | ✓ | × | × | × | ✓ | × |
Duration | Float | Durasi video. | ✓ | × | × | × | ✓ | × |
CreationTime | String | Waktu pembuatan video. | ✓ | × | × | × | ✓ | ✓ |
ModificationTime | String | Waktu terakhir video diperbarui. | ✓ | × | × | × | ✓ | ✓ |
CoverURL | String | URL gambar mini. | ✓ | × | × | × | × | × |
Snapshots | String[] | Daftar snapshot otomatis. | ✓ | × | × | × | × | × |
SpriteSnapshots | String[] | Daftar sprite gambar. | ✓ | × | × | × | × | × |
DownloadSwitch | String | ✓ | × | × | × | × | × | |
TranscodeMode | String | ✓ | × | × | × | × | × | |
StorageClass | String | ✓ | × | × | ✓ | × | × |
Audio: informasi tentang file audio
Bidang | Tipe | Deskripsi | Digunakan sebagai bidang hasil | Digunakan untuk pencocokan tepat | Digunakan untuk pencocokan kabur | Digunakan untuk kueri multi-nilai | Digunakan untuk kueri rentang | Digunakan sebagai bidang pengurutan |
AudioId | String | ID audio. | ✓ | ✓ | × | × | × | × |
AppId | String | ID aplikasi. | ✓ | × | × | ✓ | × | × |
CateId | Long | ID kategori tempat audio termasuk. | ✓ | ✓ | × | × | × | × |
CateName | String | Nama kategori tempat audio termasuk. | ✓ | × | × | × | × | × |
StorageLocation | String | Wilayah tempat audio disimpan. | ✓ | × | × | ✓ | × | × |
Title | String | Judul audio. | ✓ | × | ✓ | × | × | × |
Tags | String | Tag audio. | ✓ | × | ✓ | ✓ | × | × |
Description | String | Deskripsi audio. | ✓ | × | ✓ | × | × | × |
Status | String | ✓ | × | × | ✓ | × | × | |
MediaSource | String | ✓ | × | × | ✓ | × | × | |
PreprocessStatus | String | ✓ | × | × | ✓ | × | × | |
Size | Long | Ukuran audio. | ✓ | × | × | × | ✓ | × |
Duration | Float | Durasi audio. | ✓ | × | × | × | ✓ | × |
CreationTime | String | Waktu pembuatan audio. | ✓ | × | × | × | ✓ | ✓ |
ModificationTime | String | Waktu terakhir audio diperbarui. | ✓ | × | × | × | ✓ | ✓ |
CoverURL | String | URL gambar mini. | ✓ | × | × | × | × | × |
Snapshots | String[] | Daftar snapshot otomatis. | ✓ | × | × | × | × | × |
SpriteSnapshots | String[] | Daftar sprite gambar. | ✓ | × | × | × | × | × |
DownloadSwitch | String | ✓ | × | × | × | × | × | |
TranscodeMode | String | ✓ | × | × | × | × | × | |
StorageClass | String | ✓ | × | × | ✓ | × | × |
Gambar: informasi tentang gambar
Bidang | Tipe | Deskripsi | Digunakan sebagai bidang hasil | Digunakan untuk pencocokan tepat | Digunakan untuk pencocokan kabur | Digunakan untuk kueri multi-nilai | Digunakan untuk kueri rentang | Digunakan sebagai bidang pengurutan |
ImageId | String | ID gambar. | ✓ | ✓ | × | × | × | × |
AppId | String | ID aplikasi. | ✓ | × | × | ✓ | × | × |
CateId | Long | ID kategori tempat gambar termasuk. | ✓ | ✓ | × | × | × | × |
CateName | String | Nama kategori tempat gambar termasuk. | ✓ | × | × | × | × | × |
StorageLocation | String | Wilayah tempat gambar disimpan. | ✓ | ✓ | × | ✓ | × | × |
FileName | String | Nama file gambar. | ✓ | × | ✓ | × | × | × |
Title | String | Judul gambar. | ✓ | × | ✓ | × | × | × |
Tags | String | Tag gambar. | ✓ | × | ✓ | ✓ | × | × |
Description | String | Deskripsi gambar. | ✓ | × | ✓ | × | × | × |
Status | String | ✓ | × | × | ✓ | × | × | |
CreationTime | String | Waktu pembuatan gambar. | ✓ | × | × | × | ✓ | ✓ |
ModificationTime | String | Waktu terakhir gambar diperbarui. | ✓ | × | × | × | ✓ | ✓ |
URL | String | URL gambar. | ✓ | × | × | × | × | × |
AttachedMedia: informasi tentang aset media tambahan
Bidang | Tipe | Deskripsi | Digunakan sebagai bidang hasil | Digunakan untuk pencocokan tepat | Digunakan untuk pencocokan kabur | Digunakan untuk kueri multi-nilai | Digunakan untuk kueri rentang | Digunakan sebagai bidang pengurutan |
MediaId | String | ID aset media tambahan. | ✓ | ✓ | × | × | × | × |
AppIdString | String | ID aplikasi. | ✓ | × | × | ✓ | × | × |
CateId | Long | ID kategori tempat aset media tambahan termasuk. | × | ✓ | × | × | × | × |
Categories | Kategori[] | Daftar ID kategori. | ✓ | × | × | × | × | × |
StorageLocation | String | Wilayah tempat aset media tambahan disimpan. | ✓ | ✓ | × | ✓ | × | × |
FileName | String | Nama file aset media tambahan. | ✓ | × | ✓ | × | × | × |
Title | String | Judul aset media tambahan. | ✓ | × | ✓ | × | × | × |
Tags | String | Tag aset media tambahan. | ✓ | × | ✓ | ✓ | × | × |
Description | String | Deskripsi aset media tambahan. | ✓ | × | ✓ | × | × | × |
Status | String | ✓ | × | × | ✓ | × | × | |
CreationTime | String | Waktu pembuatan aset media tambahan. | ✓ | × | × | × | ✓ | ✓ |
ModificationTime | String | Waktu terakhir aset media tambahan diperbarui. | ✓ | × | × | × | ✓ | ✓ |
URL | String | URL aset media tambahan. | ✓ | × | × | × | × | × |
BusinessType | String | Tipe bisnis. | ✓ | ✓ | × | × | × | × |
Deskripsi parameter
PreprocessStatus: status pra-pemrosesan aset media
Hanya aset media yang telah diproses sebelumnya yang dapat digunakan untuk streaming langsung di studio produksi.
Nilai | Deskripsi | Catatan |
UnPreprocess | Aset media belum diproses sebelumnya. | Keadaan awal. |
Preprocessing | Aset media sedang diproses sebelumnya. | - |
PreprocessSucceed | Pra-pemrosesan selesai. | - |
PreprocessFailed | Pra-pemrosesan gagal. | - |
DownloadSwitch: apakah unduhan offline diaktifkan untuk aset media
Aset media hanya dapat diunduh dalam mode offline jika unduhan offline diaktifkan.
Nilai | Deskripsi | Catatan |
on | Unduhan offline diaktifkan. | Keadaan awal. Aset media dapat diunduh dalam mode offline. |
off | Unduhan offline dinonaktifkan. | Jika unduhan offline dinonaktifkan, aset media tidak dapat diunduh dalam mode offline. |
MediaSource: sumber aset media
Nilai | Deskripsi | Catatan |
general | Aset media diunggah ke ApsaraVideo VOD menggunakan konsol. | Mode unggah sederhana. |
short_video | Aset media diunggah ke ApsaraVideo VOD menggunakan SDK video pendek. | Untuk informasi lebih lanjut, lihat Ikhtisar. |
editing | Aset media diunggah ke ApsaraVideo VOD dengan membuat tugas produksi video. | Untuk informasi lebih lanjut, lihat ProduceEditingProjectVideo. |
live | Aset media diunggah ke ApsaraVideo VOD sebagai rekaman langsung. | Tidak ada. |
TranscodeMode: mode transkode aset media
Setelah aset media diunggah ke ApsaraVideo VOD, itu hanya dapat diputar setelah diproses. Metode pemrosesan bervariasi berdasarkan mode transkode.
Nilai | Deskripsi | Catatan |
FastTranscode | Transkode reguler. | Mode default. Aset media segera ditranskode setelah diunggah ke ApsaraVideo VOD. Aset media hanya dapat diputar setelah ditranskode. |
NoTranscode | Didistribusikan tanpa transkode | Aset media dalam format berikut dapat segera diputar tanpa transkode setelah diunggah ke ApsaraVideo VOD: MP4, FLV, M3U8, MP3, dan WEBM. |
AsyncTranscode | Didistribusikan segera dan ditranskode secara asinkron setelah diunggah | Setelah aset media diunggah ke ApsaraVideo VOD, itu dapat segera diputar dan ditranskode secara asinkron. |
StorageClass: kelas penyimpanan aset media
Nilai | Deskripsi | Catatan |
Standard | Kelas penyimpanan standar | Semua sumber daya media termasuk file sumber dan aliran yang telah dikodekan ulang disimpan sebagai objek Standar. Sumber daya seperti snapshot tidak disimpan sebagai objek Standar. |
IA | Kelas penyimpanan akses jarang (IA) | Semua sumber daya media termasuk file sumber dan aliran yang telah dikodekan ulang disimpan sebagai objek IA. Sumber daya seperti snapshot tidak disimpan sebagai objek IA. |
Archive | Kelas penyimpanan arsip | Semua sumber daya media termasuk file sumber dan aliran yang telah dikodekan ulang disimpan sebagai objek Arsip. Sumber daya seperti snapshot tidak disimpan sebagai objek Arsip. |
ColdArchive | Kelas penyimpanan Arsip Dingin | Semua sumber daya media termasuk file sumber dan aliran yang telah dikodekan ulang disimpan sebagai objek Arsip Dingin. Sumber daya seperti snapshot tidak disimpan sebagai objek Arsip Dingin. |
SourceIA | Penyimpanan IA untuk file sumber | Hanya file sumber yang merupakan objek IA. Sumber daya selain file sumber disimpan sebagai objek Standar. |
SourceArchive | Penyimpanan Arsip untuk file sumber | Hanya file sumber yang merupakan objek Arsip. Sumber daya selain file sumber disimpan sebagai objek Standar. |
SourceColdArchive | Penyimpanan Arsip Dingin untuk file sumber | Hanya file sumber yang merupakan objek Arsip Dingin. Sumber daya selain file sumber disimpan sebagai objek Standar. |
Changing | Kelas penyimpanan sumber daya media sedang diubah | Kelas penyimpanan sumber daya media sedang diubah. |
SourceChanging | Kelas penyimpanan file sumber sedang diubah | Kelas penyimpanan file sumber sedang diubah. |