Bagikan melalui


Pengode Video H.265 / HEVC

Encoder video Media Foundation H.265 adalah Transformasi Yayasan Media yang mendukung pengodean konten ke dalam format H.265/HEVC. Encoder mendukung profil berikut:

  • Profil Utama

Encoder video H.265 mengekspos antarmuka berikut:

Jenis Input

Jenis media input harus memiliki salah satu subjenis berikut:

  • MFVideoFormat_IYUV
  • MFVideoFormat_NV12
  • MFVideoFormat_YUY2
  • MFVideoFormat_YV12

Untuk informasi selengkapnya tentang subjenis ini, lihat GUID Subjenis Video.

Jenis output harus diatur sebelum jenis input. Hingga jenis output diatur, metode IMFTransform::SetInputType encoder mengembalikan MF_E_TRANSFORM_TYPE_NOT_SET.

Jenis output

Encoder mendukung subjenis output tunggal:

  • MFVideoFormat_H265

Atur atribut berikut pada jenis media output.

Atribut Deskripsi
MF_MT_MAJOR_TYPE Jenis utama. Pasti MFMediaType_Video.
MF_MT_SUBTYPE Subjenis video. Pasti MFVideoFormat_HEVC.
MF_MT_AVG_BITRATE Laju bit rata-rata yang dikodekan, dalam bit per detik. Harus lebih besar dari nol.
MF_MT_FRAME_RATE Kecepatan bingkai.
MF_MT_FRAME_SIZE Ukuran bingkai.
MF_MT_INTERLACE_MODE Mode interlace.
MF_MT_VIDEO_PROFILE Profil pengodean H.265.
Nilai yang didukung adalah:
  • eAVEncH265VProfile_Main_420_8
MF_MT_MPEG2_LEVEL Menentukan tingkat video berkode. Untuk informasi selengkapnya tentang batasan profil dan tingkat, lihat Lampiran A DARI ITU-T H.265.
MF_MT_PIXEL_ASPECT_RATIO Pilihan. Menentukan rasio aspek piksel. Nilai defaultnya adalah 1:1.

 

Setelah jenis output diatur, encoder video memperbarui jenis dengan menambahkan atribut MF_MT_MPEG_SEQUENCE_HEADER . Atribut ini berisi header urutan.

Metode IMFTransform yang didukung

Metode antarmuka IMFTransform berikut didukung untuk encoder H.265/HEVC:

Semua metode IMFTransform lainnya akan mengembalikan kesalahan E_NOTIMPL.

Metode ICodecAPI yang didukung

Metode antarmuka ICodecAPI berikut didukung untuk encoder H.265/HEVC:

Semua metode ICodecAPI lainnya akan mengembalikan kesalahan E_NOTIMPL.

Properti Codec

Encoder H.265 mengimplementasikan antarmuka ICodecAPI untuk mengatur parameter pengodean. Ini mendukung properti berikut.

Untuk persyaratan codec untuk sertifikasi encoder HCK, lihat bagian Encoder Perangkat Keras Bersertifikat di bawah ini.

Properti Deskripsi
CODECAPI_AVEncCommonRateControlMode Mengatur mode kontrol laju. Mode yang didukung adalah:
  • eAVEncCommonRateControlMode_CBR
  • eAVEncCommonRateControlMode_Quality
Jika mode lain ditentukan, kontrol laju eAVEncCommonRateControlMode_CBR akan digunakan.
Ini adalah nilai VT_UI4.
CODECAPI_AVEncCommonMeanBitRate Mengatur laju bit rata-rata untuk aliran bit yang dikodekan, dalam bit per detik.
Rentang yang valid adalah [1 ... 2³²–1].
Ini adalah nilai VT_UI4.
CODECAPI_AVEncCommonBufferSize Mengatur ukuran buffer, dalam byte, untuk pengodean laju bit konstan (CBR).
Rentang yang valid adalah [1 ... 2³²–1].
Ini adalah nilai VT_UI4.
CODECAPI_AVEncCommonMaxBitRate Mengatur laju bit maksimum untuk mode kontrol laju yang memungkinkan laju bit puncak.
Rentang yang valid adalah [1 ... 2³²–1].
Ini adalah nilai VT_UI4.
CODECAPI_AVEncMPVGOPSize Mengatur jumlah gambar dari satu header GOP ke header berikutnya, termasuk jangkar utama tetapi bukan yang berikut ini.
Rentang yang valid adalah [0 ... 2³²–1]. Jika nol, encoder memilih ukuran GOP. Nilai defaultnya adalah nol.
Ini adalah nilai VT_UI4.
CODECAPI_AVLowLatencyMode Mengaktifkan atau menonaktifkan mode latensi rendah.
Ini adalah nilai VT_BOOL.
CODECAPI_AVEncCommonQualityVsSpeed Mengatur tradeoff kualitas/kecepatan. Nilai ini memengaruhi bagaimana encoder melakukan berbagai operasi pengodean, seperti kompensasi gerakan. Pada tingkat kompleksitas yang lebih tinggi, encoder berjalan lebih lambat tetapi menghasilkan kualitas yang lebih baik pada laju bit yang sama.
Rentang yang valid adalah 0 – 100. Secara internal, nilai ini dipetakan ke serangkaian tingkat kualitas/kecepatan yang lebih kecil yang didukung oleh encoder.
Ini adalah nilai VT_UI4.
CODECAPI_AVEncVideoForceKeyFrame Memaksa encoder untuk membuat kode bingkai berikutnya sebagai bingkai kunci.
Ini adalah nilai VT_UI4.
CODECAPI_AVEncVideoEncodeQP Ketika properti ini diatur, itu akan menyebabkan encoder menggunakan QP yang ditentukan untuk mengodekan bingkai berikutnya dan semua bingkai berikutnya sampai QP baru ditentukan.
Rentang valid: 0–51, inklusif
CODECAPI_AVEncVideoMinQP Properti ini akan menetapkan batas QP minimum yang dapat digunakan encoder selama ratecontrol CBR.
Ini adalah nilai VT_UI4.
CODECAPI_AVEncVideoMaxQP Properti ini akan menetapkan batas QP maksimum yang dapat digunakan encoder selama ratecontrol CBR.
Ini adalah nilai VT_UI4.
CODECAPI_VideoEncoderDisplayContentType Mengatur apakah konten adalah video layar penuh, dibandingkan dengan konten layar yang mungkin memiliki jendela video yang lebih kecil atau tidak memiliki video sama sekali.
Ini adalah nilai VT_UI4.
CODECAPI_AVEncNumWorkerThreads Mengatur jumlah utas yang digunakan untuk melakukan operasi pemadatan. Encoder akan membagi bingkai menjadi petak sehingga jumlah utas sama dengan jumlah petak peta.
  • Jumlah prosesor logis. Jumlah utas harus kurang dari atau sama dengan jumlah prosesor logis.
  • Ukuran bingkai. Ukuran petak harus lebih besar dari atau sama dengan 265x64 piksel.
  • Paritas. Jumlah utas harus berupa nilai genap. Jika nilai yang ditentukan ganjil maka nilai genap bawah berikutnya akan digunakan.
Ini adalah nilai VT_UI4.

 

Encoder Perangkat Keras Bersertifikat

Jika ada encoder perangkat keras bersertifikat, umumnya akan digunakan alih-alih encoder sistem kotak masuk untuk skenario terkait Media Foundation. Encoder bersertifikat diperlukan untuk mendukung sekumpulan properti ICodecAPI tertentu dan dapat secara opsional mendukung serangkaian properti lain. Proses sertifikasi harus menjamin bahwa properti yang diperlukan didukung dengan benar dan, jika properti opsional didukung, properti tersebut juga didukung dengan benar.

Berikut ini adalah sekumpulan properti ICodecAPI yang diperlukan dan opsional untuk encoder untuk meneruskan sertifikasi encoder HCK.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 10 [khusus aplikasi desktop]
Server minimum yang didukung
Tidak ada yang didukung
DLL
Mfh265enc.dll

Lihat juga

Objek Codec