Delen via


Eigenschappen instellen in de bestandssink

De ASF-bestandssink is een implementatie van IMFMediaSink geleverd door Media Foundation die een toepassing kan gebruiken om ASF-mediagegevens naar een bestand te archiveren. Zie ASF Media Sinksvoor informatie over het objectmodel en het algemene gebruik van ASF Media Sinks.

Nadat de ASF-bestandssink is gecreëerd, moet deze worden geconfigureerd met informatie over de streams in het uitvoerbestand. Deze procedure wordt beschreven in het toevoegen van streaminformatie aan het ASF-bestanddoel. U kunt aanvullende eigenschappen instellen voor de bestandssink, afhankelijk van het type codering; gelekte emmers; algemene bestandseigenschappen. Deze instellingen worden niet geschreven in het uiteindelijke ASF-headerobject. In dit onderwerp wordt beschreven hoe u deze eigenschappen toevoegt in het eigenschappenarchief van de bestandssink.

Het Object ContentInfo onderhoudt de globale bestandseigenschappen en afzonderlijke stroomeigenschappen voor de bestandssink. Voor meer informatie over het verkrijgen van een verwijzing naar het ASF ContentInfo-object van de bestandssink, zie het aanmaken van de ASF-bestandssink.

Als u een verwijzing wilt ophalen naar het eigenschappenarchief van de bestandssink (IPropertyStore), roept u IMFASFContentInfo::GetEncodingConfigurationPropertyStore aan in de verwijzing van het ContentInfo-object van de bestandssink.

Streamcoderingseigenschappen

Om inhoud correct te coderen, moet het bestand bepaalde coderingsgegevens kennen, zoals het type codering en de gerelateerde coderingsparameters. Deze waarden worden ingesteld op de bestandssink als eigenschapswaarden in een eigenschappenarchief dat wordt onderhouden door het ASF ContentInfo-object. Als u de bestandssink configureert voordat u de relevante encoders instantiëren, kunt u het ContentInfo-object gebruiken met alle ingevulde eigenschappen om de Windows Media-encoders te maken. In dit geval worden de eigenschappen automatisch ingesteld op de geïnstantieerde encoders. Als u daarentegen de encoders vóór de sink maakt, moet u ervoor zorgen dat de eigenschappen die u voor de encoders instelt, worden gekopieerd naar de eigenschappenopslag van de bestandssink.

Als u coderingseigenschappen wilt instellen, hebt u toegang nodig tot het eigenschappenarchief op stroomniveau van de bestandssink. Geef het stroomnummer door in de wStreamNumber parameter van de methode IMFASFContentInfo::GetEncodingConfigurationPropertyStore. De streamnummers moeten overeenkomen met de waarden die zijn ingesteld tijdens het configureren van elke stream in het profiel. Eigenschapswaarden worden ingesteld door IPropertyStore::SetValueaan te roepen. In de volgende tabel worden de ondersteunde eigenschappen beschreven.

De eigenschappen zijn afhankelijk van het type codering. Zie Eigenschappen voor coderingvoor meer informatie over de eigenschappen en de respectieve waarden die u moet instellen.

Leaky Bucket Eigenschap

Lekkende bucketparameters bepalen het werkelijke buffervenster dat door de encoder voor de stream wordt gebruikt. De eigenschap MFPKEY_ASFSTREAMSINK_CORRECTED_LEAKYBUCKET van de bestandssink bevat de parameters van de lekkende emmer: bitsnelheid, buffervenster en initiële buffervolheid. Deze eigenschap wordt ingesteld in het eigenschappenarchief op stroomniveau voor de bestandssink en moet worden ingesteld nadat de coderingsprogramma's zijn gemaakt en geconfigureerd. Deze waarde wordt ingesteld in de . Tijdens de mediatype-onderhandeling bepaalt de encoder het buffervenster en de bitsnelheid die moet worden gebruikt. U kunt deze waarden ophalen met behulp van de IWMCodecLeakyBucket interface, die is gedefinieerd in wmcodecifaces.h en u moet een koppeling maken naar wmcodecdspuuid.lib om de methoden aan te roepen.

De opgehaalde waarden kunnen worden ingesteld voor deze eigenschap voor elke stream in de ASF-bestandssink.

Algemene eigenschappen van bestandssink

Als u de globale eigenschapopslag van de bestandssink wilt verkrijgen, geeft u 0 door in de parameter wStreamNumber van de methode IMFASFContentInfo::GetEncodingConfigurationPropertyStore. Eigenschapswaarden worden ingesteld door IPropertyStore::SetValueaan te roepen. In de volgende tabel worden de ondersteunde eigenschappen beschreven.

Eigenschappen op bestandsniveau Beschrijving
MFPKEY_ASFMEDIASINK_BASE_SENDTIME De verzendtijd geeft aan wanneer de payload binnen de leaky bucket wordt vrijgegeven. Deze eigenschapswaarde geeft de eerste verzendtijd aan. De multiplexer gebruikt deze waarde om de volgende verzendtijden voor de gegenereerde pakketten te berekenen en zorgt ervoor dat gegevens geleidelijk door de gelekte bucket stromen.
MFPKEY_ASFMEDIASINK_AUTOADJUST_BITRATE Deze BOOL-waarde geeft aan of de multiplexer de bitsnelheid automatisch moet aanpassen om ervoor te zorgen dat gegevens de gelekte bucket niet overlopen.
MFPKEY_ASFMEDIASINK_DRMACTION Dit geeft de DRM-actie van de ASF-media-sink aan voor het genereren van bestanden. In deze release wordt alleen DRM-transcode ondersteund.

 

ASF Media Sinks

ASF-onderdelen voor pijplijnlagen

ASF-ondersteuning in Media Foundation