Udostępnij za pośrednictwem


Pisanie skompresowanych przykładów

[Funkcja skojarzona z tą stroną, windows Media Format 11 SDK, jest starszą funkcją. Zostały zastąpione przez Source Reader i Sink Writer. Czytnik źródeł i Zapisujący ujścia zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał czytnika źródeł i modułu zapisywania ujścia zamiast zestawu SDK windows Media Format 11, jeśli jest to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]

W przypadku niektórych strumieni audio lub wideo możesz przekazać próbki, które są już skompresowane, zamiast przekazywać nieprzetworzone dane. Ta funkcja służy do kopiowania istniejącego strumienia lub zapisywania próbek skompresowanych za pomocą kodera zewnętrznego dostawcy. Proces pisania skompresowanego przykładu jest identyczny z pisaniem nieskompresowanego przykładu, z tą różnicą, że używasz IWMWriterAdvanced::WriteStreamSample zamiast IWMWriter::WriteSample. Aby uzyskać więcej informacji na temat pisania nieskompresowanych przykładów, zobacz Do zapisu przykładów.

Podczas pisania skompresowanych przykładów dla profili CBR, zapisujący w razie potrzeby pominie niektóre próbki, aby utrzymać zawartość w granicach określonej przepustowości bitowej i wartości okna buforu. W przypadku wersji VBR moduł zapisywania nie będzie usuwać próbek, ale nie ma możliwości upewnienia się, że szybkość bitów i wartości okna buforu będą poprawne.

Jeśli kopiujesz strumień z jednego pliku do innego, zawsze należy skopiować obiekt konfiguracji strumienia z profilu oryginalnego pliku do profilu nowego pliku. Dzięki temu masz poprawne informacje o szybkości bitów i oknie buforu. Jeśli skopiujesz skompresowany strumień do strumienia z ustawionym dolnym oknem buforu, próbki zostaną porzucone podczas zapisywania pliku.

Pisanie plików ASF