Mengonfigurasi Aliran Video

Aliran video lebih fleksibel dalam konfigurasinya daripada aliran audio. Ini karena properti bingkai yang membentuk video dapat sangat bervariasi dari satu file ke file berikutnya. Saat Anda mengambil format codec untuk codec yang Anda gunakan, Anda harus mengatur nilai berikut untuk objek konfigurasi streaming video.

Nilai Deskripsi
Laju bit Panggil IWMStreamConfig::SetBitrate untuk mengatur ke nilai yang diinginkan. Codec video akan mencoba memadatkan media untuk memenuhi spesifikasi Anda. Jika nilai Anda terlalu rendah, video terkompresi yang dihasilkan akan sangat terdegradasi.
Jendela buffer Panggil IWMStreamConfig::SetBufferWindow untuk mengatur ke nilai yang diinginkan. Codec video akan mencoba memadatkan media untuk memenuhi spesifikasi Anda. Jika nilai Anda terlalu rendah, video terkompresi yang dihasilkan akan sangat terdegradasi.
WMVIDEOINFOHEADER.rcSource Sudut kiri atas harus diatur ke 0,0. Sudut kanan bawah harus diatur ke dimensi bingkai. Misalnya, dalam aliran 640x480, pengaturan ini akan menjadi 0.0.640.480.
WMVIDEOINFOHEADER.rcTarget Harus cocok dengan rcSource.
WMVIDEOINFOHEADER.dwBitRate Harus cocok dengan laju bit yang ditetapkan untuk aliran.
WMVIDEOINFOHEADER. AvgTimePerFrame Atur ke perkiraan waktu per bingkai.
BITMAPINFOHEADER.biWidth Atur ke lebar, dalam piksel, dari ukuran bingkai yang diinginkan.
BITMAPINFOHEADER.biHeight Atur ke tinggi, dalam piksel, dari ukuran bingkai yang diinginkan.

 

Konten video tidak diputar dengan benar kecuali dikodekan ke ukuran kelipatan empat untuk lebar dan tinggi. Pengecualiannya adalah video RGB yang tidak dikompresi, yang dapat berukuran apa pun. Jika Anda mencoba mengatur ukuran yang bukan kelipatan empat, salah satu kesalahan berikut akan dikembalikan oleh penulis:

  • NS_E_INVALID_INPUT_FORMAT
  • NS_E_INVALID_OUTPUT_FORMAT
  • NS_E_INVALIDPROFILE

Jika Anda menggunakan pengodean laju bit variabel, Anda mungkin perlu membuat penyesuaian lain. Untuk informasi selengkapnya, lihat Mengonfigurasi Aliran VBR.

Beberapa codec Windows Media Video mendukung beberapa tingkat kompleksitas. Tingkat kompleksitas menentukan algoritma yang akan digunakan codec saat mengodekan aliran video. Menggunakan tingkat kompleksitas tinggi akan membutuhkan lebih banyak daya pemrosesan untuk pengodean dan pendekodean.

Setiap codec yang mendukung pengaturan kompleksitas mengekspos pengaturan berikut yang dapat Anda ambil dengan metode IWMCodecInfo3::GetCodecProp .

Pengaturan Deskripsi
g_wszComplexityMax Tingkat kualitas maksimum yang didukung oleh codec.
g_wszComplexityOffline Tingkat kualitas yang disarankan untuk pemutaran offline.
g_wszComplexityLive Tingkat kualitas yang disarankan untuk pemutaran streaming.

 

Untuk mengatur kompleksitas aliran video di profil, gunakan metode IWMPropertyVault::SetProperty menggunakan properti g_wszComplexity. Nilai yang Anda tetapkan harus kurang dari atau sama dengan kompleksitas maksimum yang didukung untuk codec.

Konfigurasi Umum untuk Semua Aliran

Mengonfigurasi Aliran

Pengaturan Kompleksitas Video