Filtr MUX AVI
[Funkcja skojarzona z tą stroną, DirectShow, jest starszą funkcją. Został zastąpiony przez MediaPlayer, IMFMediaEnginei Audio/Video Capture w Media Foundation. Te funkcje zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał MediaPlayer, IMFMediaEngine i Audio/Video Capture w programie Media Foundation zamiast DirectShow, jeśli 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.]
Filtr AVI Mux akceptuje wiele strumieni wejściowych i przeplata je w format AVI. Filtr używa oddzielnych wyprowadzeń wejściowych dla każdego strumienia wejściowego i jednego wyprowadzenia wyjściowego strumienia AVI.
Aplikacje do przechwytywania lub tworzenia wideo mogą używać tego filtru do zapisywania plików na dysku w formacie AVI. Filtr jest zazwyczaj połączony z filtrem zapisywania plików, ale może łączyć się z dowolnym filtrem, którego numer PIN danych wejściowych obsługuje element IStream i interfejsy IMemInputPin.
Etykieta | Wartość |
---|---|
Interfejsy filtru | IBaseFilter, IConfigAviMux, IConfigInterleaving, IMediaSeeking, IPersistMediaPropertyBag, ISpecifyPropertyPages |
Typy nośników przypinania danych wejściowych | Dowolny typ główny odpowiadający staremu stylowi FOURCC lub MEDIATYPE_AUXLine21Data. (Aby uzyskać więcej informacji, zobacz FOURCCMap Class.)
|
Interfejsy wyprowadzania danych wejściowych | IAMStreamControl, IMemInputPin, IPin, IPropertyBag, IQualityControl |
Typy nośników wyprowadzania danych wyjściowych | MEDIATYPE_Stream, MEDIASUBTYPE_Avi |
Interfejsy wyprowadzeń wyjściowych | IQualityControl |
Filtr CLSID | CLSID_AviDest |
Identyfikator CLSID strony właściwości | CLSID_AviMuxProptyPage, CLSID_AviMuxProptyPage1 |
Plik wykonywalny | qcap.dll |
Merit | MERIT_DO_NOT_USE |
filtru kategorii | CLSID_LegacyAmFilterCategory |
Uwagi
W poniższych uwagach opisano różne aspekty funkcjonalności filtru AVI Mux.
Szpilki
Po utworzeniu filtru AVI Mux ma jeden numer PIN wejściowy. Gdy każdy numer PIN wejściowy jest połączony, filtr tworzy nowy numer PIN danych wejściowych.
Właściwości strumienia
Wyprowadzenia wejściowe obsługują interfejs IPropertyBag do ustawiania właściwości poszczególnych strumieni. Obecnie zdefiniowano następującą właściwość:
Własność | Opis |
---|---|
nazwa | Nazwa strumienia. Ta właściwość jest zapisywana jako fragment 'strn' . |
Jeśli filtr jest uruchomiony lub wstrzymany, metoda IPropertyBag::Write zwraca VFW_E_WRONG_STATE.
Szybkość klatek
Jeśli filtr nadrzędny nie określa szybkości klatek w avgTimePerFrame elementu członkowskiego VIDEOINFOHEADER struktury, AVI Mux używa sygnatur czasowych w pierwszej ramce wideo. Format pliku AVI nie obsługuje zmiennych szybkości klatek na sekundę.
Porzucone ramki
Filtr AVI Mux oblicza porzucone ramki na podstawie czasu nośników każdego próbki, jeśli jest dostępny, lub innych sygnatur czasowych próbki. Zapisuje wpis indeksu o zerowej długości dla każdej porzuconej ramki.
IMediaSeeking
Filtr AVI Mux implementuje interfejs IMediaSeeking w następujący sposób:
- Metoda GetCurrentPosition zwraca bieżący postęp multipleksowania. W przypadku transkodowania pliku (wolniej niż w czasie rzeczywistym) ta wartość jest dokładniejsza niż wartość zwracana przez Menedżera programu Filter Graph Manager. Aby uzyskać więcej informacji, zobacz sekcję Uwagi na stronie referencyjnej GetCurrentPosition.
- Metoda GetDuration odpytuje każdy filtr nadrzędny i zwraca czas trwania najdłuższego strumienia. Jeśli którykolwiek z tych filtrów nie powiedzie się wywołaniu GetDuration (lub nie obsługuje IMediaSeeking), avi Mux zwraca kod błędu i wypełnia parametru pDuration z najdłuższym czasem trwania. Jednak wartość pDuration w tym przypadku niekoniecznie jest długością najdłuższego strumienia wejściowego.
- Mux AVI nie implementuje metod GetStopPosition, GetPositions, GetAvailable, GetRate lub GetPreroll; ani nie implementuje żadnych metod Set* do wyszukiwania.
Rozszerzenia formatu plików AVI 2.0
DirectShow obsługuje obecnie następujące rozszerzenia formatu plików AVI 2.0:
- Zwiększony rozmiar pliku AVI (większy niż 1 GB)
- Indeksowanie hierarchiczne
Aby uzyskać więcej informacji, zobacz wersję 1.02 rozszerzenia "OpenDML AVI File Format Extensions" opublikowane przez Podkomisji formatu plików AVI M-JPEG OpenDML.
Tematy pokrewne