Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Utför följande steg för att konfigurera videokodaren:
Ange eventuella egenskaper för kodarens DMO med hjälp av IPropertyBag::Write. I följande lista sammanfattas den minsta uppsättning egenskaper som krävs för att koda en CBR-videoström (alla dessa värden har standardvärden som kan användas):
- Egenskapen MFPKEY_VIDEOWINDOW anger buffertfönstret som ska användas för strömmen. Mer information om inställningen för buffertfönster och hur det påverkar innehåll finns i Kodningsmetoder. Standardbuffertfönstret är tre sekunder, vilket är lämpligt för många scenarier.
- Videokomplexitet anges för att fastställa kompromissen mellan kvaliteten på det kodade innehållet och den tid som krävs för att koda. Om du inte anger något värde används standardvärdet. Du kan dock hitta de rekommenderade lägena för en specifik codec genom att anropa IWMCodecProps::GetCodecProp för att hämta g_wszWMVCComplexityExLive, g_wszWMVCComplexityExOffline och g_wszWMVCComplexityExMax. Sedan kan du ange MFPKEY_COMPLEXITYEX till ett värde mellan 0 och den rapporterade maximala komplexiteten.
- MFPKEY_CRISP anger den relativa betydelsen av videos jämnhet och bildkvaliteten för kodade bildrutor. I de flesta fall fungerar standardvärdet bra.
- För videoinnehåll som lagras i en annan container än ASF måste egenskapen MFPKEY_ASFOVERHEADPERFRAME anges till 0. Det här är inte standardvärdet.
Information om hur du konfigurerar VBR-strömmar finns i Använda VBR-kodning.
Konfigurera den DMO_MEDIA_TYPE strukturen för indatatypen, eller om du använder Media Foundation SDK använder du funktionen MFInitMediaTypeFromVideoInfoHeader. Använd en VIDEOINFOHEADER- struktur som beskriver det okomprimerade indatainnehållet. Codec ändrar inte storlek på video eller konverterar färgutrymmet.
Ange indatatypen med IMediaObject::SetInputType eller IMFTransform::SetInputType.
Konfigurera utdatatypen för kodaren. När indatatypen har angetts räknar kodaren upp utdatatyper som är fullständiga förutom dwBitrate medlem i VIDEOINFOHEADER-strukturen eller MF_MT_AVG_BITRATE-attributet för IMFMediaType-gränssnittet. Om du hämtar en utdatatyp innan du anger en indatatyp, kommer den levererade strukturen DMO_MEDIA_TYPE inte att ha något associerat VIDEOINFOHEADER.
Hämta privat codec-data och lägg till det i VIDEOINFOHEADER--strukturen som du skickar till DMO_MEDIA_TYPE-strukturen eller till IMFMediaType-. Mer information finns i Using Video Codec Private Data.
Ange utdatatypen genom att anropa metoden IMediaObject::SetOutputType eller IMFTransform::SetOutputType. Skicka antingen DMO_MEDIA_TYPE-strukturen med den färdiga VIDEOINFOHEADER-struktur (inklusive bifogade privata data) som refereras i pbFormat-medlemmen eller konstruera en IMFMediaType genom att anropa MFInitMediaTypeFromVideoInfoHeader.
Obs
Videokodarobjektet stöder två utdata. Det andra utdata är för kodaren "post view". Den levererar de okomprimerade exemplen eftersom de levereras från avkodaren. På så sätt kan du övervaka kodningens kvalitet utan att behöva vänta tills hela dataströmmen bearbetas. Det här utdata är valfritt. Om du vill använda den konfigurerar du dess typ efter samma process som används för att ange kodarens indatatyp.