Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Voer de volgende stappen uit om de video-encoder te configureren:
Stel alle eigenschappen in de encoder-DMO in met behulp van IPropertyBag::Write. De volgende lijst bevat een overzicht van de minimale set eigenschappen die vereist zijn voor het coderen van een CBR-videostream (al deze waarden hebben standaardwaarden die kunnen worden gebruikt):
- De eigenschap MFPKEY_VIDEOWINDOW geeft het buffervenster op dat moet worden gebruikt voor de stream. Zie Encoding Methodsvoor meer informatie over de buffervensterinstelling en hoe deze van invloed is op inhoud. Het standaardbuffervenster is drie seconden, wat geschikt is voor veel scenario's.
- Videocomplexiteit is ingesteld om de balans te bepalen tussen de kwaliteit van de gecodeerde inhoud en de tijd die nodig is om te coderen. Als u geen waarde instelt, wordt de standaardwaarde gebruikt. U kunt echter de aanbevolen modi voor een specifieke codec vinden door IWMCodecProps::GetCodecProp aan te roepen om g_wszWMVCComplexityExLive, g_wszWMVCComplexityExOffline en g_wszWMVCComplexityExMax op te halen. Vervolgens kunt u MFPKEY_COMPLEXITYEX instellen op een waarde tussen 0 en de gerapporteerde maximale complexiteit.
- MFPKEY_CRISP geeft het relatieve belang van video gladheid en de beeldkwaliteit van gecodeerde frames aan. In de meeste gevallen werkt de standaardwaarde prima.
- Voor video-inhoud die is opgeslagen in een andere container dan ASF, moet de eigenschap MFPKEY_ASFOVERHEADPERFRAME worden ingesteld op 0. Dit is niet de standaardwaarde.
Voor meer informatie over het configureren van VBR-stromen, zie VBR-codering gebruiken.
Configureer de DMO_MEDIA_TYPE structuur voor het invoertype of als u de Media Foundation SDK gebruikt, de MFInitMediaTypeFromVideoInfoHeader functie. Gebruik een VIDEOINFOHEADER structuur waarin de niet-gecomprimeerde invoerinhoud wordt beschreven. De codec wijzigt het formaat van video niet of converteert de kleurruimte niet.
Stel het invoertype in met IMediaObject::SetInputType of IMFTransform::SetInputType.
Configureer het uitvoertype voor de encoder. Nadat het invoertype is ingesteld, inventariseert de encoder uitvoertypen die zijn voltooid, met uitzondering van de dwBitrate lid van de VIDEOINFOHEADER structuur, of het MF_MT_AVG_BITRATE kenmerk van de IMFMediaType interface. Als u een uitvoertype ophaalt voordat u een invoertype instelt, heeft de geleverde DMO_MEDIA_TYPE-structuur geen gekoppelde VIDEOINFOHEADER.
Haal de persoonlijke codecgegevens op en voeg deze toe aan de VIDEOINFOHEADER structuur die u doorgeeft aan de DMO_MEDIA_TYPE structuur of aan IMFMediaType. Voor meer informatie, zie Videocodec privégegevens gebruiken.
Stel het uitvoertype in door de methode IMediaObject::SetOutputType of IMFTransform::SetOutputType aan te roepen. Geef de DMO_MEDIA_TYPE structuur door met de voltooide VIDEOINFOHEADER structuur (inclusief toegevoegde privégegevens) waarnaar wordt verwezen in de lidparameter pbFormat of maak een IMFMediaType door MFInitMediaTypeFromVideoInfoHeaderte gebruiken.
Notitie
Het videocoderingsobject ondersteunt twee uitvoer. De tweede uitvoer is voor encoder 'post view'. Het levert de niet-gecomprimeerde monsters zoals ze van de decoder worden geleverd. Hiermee kunt u de kwaliteit van de codering bewaken zonder dat u hoeft te wachten totdat de hele stream wordt verwerkt. Deze uitvoer is optioneel. Als u het wilt gebruiken, configureert u het type volgens hetzelfde proces dat wordt gebruikt om het invoertype van de encoder in te stellen.