Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Funkcja skojarzona z tą stroną, DirectShow, jest starszą funkcją. To zostało zastąpione 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 ramach platformy 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.]
Opis
Aplikacja do przechwytywania cyfrowego wideo (DV).
W tym przykładzie pokazano, jak utworzyć różne typy wykresów filtrów do sterowania kamerami DV. Przedstawiono również sposób przechwytywania, wyświetlania podglądu, przesyłania i sterowania urządzeniami za pomocą kamery DV.
Użycie
Aplikacja DVApp obsługuje następujące tryby:
- Podgląd: przesyła DV z kamery wideo do okna wideo.
- DV do pliku typu 1: przechwytuje dane DV z kamery do pliku DV typu 1.
- Typ-1 plik do DV: przesyła dane z pliku DV typu 1 do kamery.
- DV do pliku typu 2: przechwytuje dane DV z kamery do pliku DV typu 2.
- Typ-2 plik do DV: przesyła dane z pliku DV typu 2 do kamery.
Tryby przechwytywania i przesyłania również umożliwiają podgląd. Każdy z tych trybów ma również opcję Brak podglądu, która wyłącza podgląd. Przechwytywanie bez podglądu jest bardziej wydajne i może zmniejszyć liczbę zgubionych klatek.
Aplikacja jest uruchamiana w trybie podglądu. Aby wybrać inny tryb, wybierz tryb z menu Graph Mode. Dla każdego trybu DVApp tworzy graf filtru, który obsługuje funkcjonalność tego trybu. Aby zapisać graf jako plik GraphEdit (.grf), wybierz pozycję Zapisz graf do pliku z menu Plik. Zamknij aplikację DVApp przed otwarciem pliku w narzędziu GraphEdit.
Aby przechwycić plik:
- W menu Plik wybierz Ustaw plik wyjściowy i wprowadź nazwę pliku.
- W menu Tryb Wykresu wybierz tryb DV do Pliku (typ 1 lub typ 2, z podglądem lub bez).
- Kliknij pozycję rekordu.
- Jeśli kamera jest w trybie VTR, kliknij przycisk Odtwórz.
- Aby zatrzymać przechwytywanie, kliknij Zatrzymaj.
Aby przesłać z pliku do kamery:
- W menu File kliknij Ustaw plik wejściowy i wybierz plik DV. Plik musi być zgodny z wybranym trybem (typ 1 lub typ 2).
- W menu trybu wykresu wybierz tryb Plik do DV (typ 1 lub typ 2, z podglądem lub bez).
- Kliknij Play.
- Aby zarejestrować dane na taśmie, kliknij pozycję Rekord.
- Aby zatrzymać przesyłanie, kliknij przycisk Zatrzymaj.
Jeśli kamera jest w trybie VTR, użytkownik może kontrolować mechanizm transportu za pomocą przycisków WCR w stylu aplikacji. Aby wyszukać taśmę, wprowadź docelowy kod czasu i kliknij przycisk wyszukiwania.
Aby ograniczyć ilość danych przechwytywanych przez aplikację, wybierz rozmiar przechwytywania z menu plik.
Aby sprawdzić format taśmy (NTSC lub PAL), wybierz Sprawdź taśmę z menu Opcje.
Aby zmienić rozmiar okna podglądu, wybierz pozycję Zmień rozmiar dekodowania z menu Opcje.
Uwagi dotyczące programowania
Głównym celem tej aplikacji jest przedstawienie sposobu budowania różnych grafów do przechwytywania i przesyłania DV.
Przybycie i Usunięcie Urządzenia
Aplikacja obsługuje przybycie i usuwanie urządzeń przy użyciu dwóch różnych technik. W przypadku przybycia urządzenia pętla komunikatów aplikacji odpowiada na komunikaty WM_DEVICECHANGE. W przypadku usunięcia urządzenia aplikacja odpowiada na EC_DEVICE_LOST zdarzenia z menedżera grafu filtrów. Obie metody działają, chociaż zdarzenie EC_DEVICE_LOST zależy od istnienia urządzenia w wykresie filtru.
Aplikacja obsługuje tylko jedno urządzenie naraz. Jeśli bieżące urządzenie zostanie usunięte, aplikacja szuka innego urządzenia DV w systemie.
W niektórych kamerach DV użytkownik musi wyłączyć urządzenie podczas przełączania go między trybem aparatu a trybem VTR, co powoduje wyświetlenie komunikatu o utracie połączenia z urządzeniem. Aplikacja odpowiada, włączając lub wyłączając odpowiednie polecenia menu. Jeśli jednak użytkownik szybko przełącza się między trybami, kamera może nie wygenerować komunikatu o utracie urządzenia. Możesz wymusić aktualizację menu, wybierając tryb odświeżania z menu Opcje. Niektóre kamery DV mogą przełączać tryby bez wyłączania, ale wysyłają komunikat o utracie urządzenia tylko wtedy, gdy przełączają się w tryb VTR.
Kontrola urządzenia
Funkcjonalność przycisku Play i Record zależy od bieżącego trybu:
- Podgląd: wykres filtru jest uruchamiany automatycznie. Przycisk Play rozpoczyna transport.
- Przechwytywanie do pliku: przycisk Nagrywanie uruchamia graf, a przycisk Odtwarzanie włącza transport.
- Przesyłaj do urządzenia: przycisk odtwarzania uruchamia graf, a przycisk nagrywania uruchamia transport.
Przykładowa aplikacja nie wykonuje precyzyjnego przechwytywania ramek. W różnych punktach aplikacja wywołuje funkcję Sleep, aby poczekać na odpowiedź urządzenia. Nowsze kamery DV wysyłają powiadomienie po zmianie stanu urządzenia. Starsze urządzenia mogą nie obsługiwać powiadomień; na potrzeby przykładu wywoływanie Sleep jest prostszym rozwiązaniem.
Pobieranie przykładu
Aby pobrać przykłady zestawu SDK DirectShow, zainstaluj najnowszą wersję zestawu Windows SDK.
Ten przykład jest instalowany w następującej ścieżce: [SDK Root]\Samples\Multimedia\DirectShow\Capture\DVApp.
Tematy pokrewne
-
sterowanie kamery DV
-
Wideo cyfrowe w DirectShow
-
Przykłady DirectShow