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.
Topik terkait