2015-11-05 9 views
16

Program Microsoft Media Foundation (MF) został wprowadzony jako następca programu DirectShow w systemie Windows Vista. Zignorowałem go głównie, ale ma on pewne funkcje (takie jak dekodowanie plików WMV AC-1), które trudno jest zaimplementować w DirectShow. Media Foundation to także bardziej nowoczesny interfejs API, więc logiczne wydaje się przejście.Jaki jest status Microsoft Media Foundation?

Jednak zasoby nauczania online i oficjalna dokumentacja wydają się bardzo znikome. Jest tylko jedna książka na ten temat (opublikowana przez Microsoft) i nie jest już dostępna w normalnych cenach. (Ludzie pobierają 500 USD lub więcej w przypadku wersji z drugiej ręki).

O ile mogłem znaleźć, nie ma innych książek. Podczas gdy inne techniki Microsoftu są zwykle omawiane w wielu książkach przez wielu wydawców.

Oficjalny blog Fundacji Media nie był aktualizowany od 2011 roku. W ciągu dwóch lat, w których był aktywny, napisano tylko 10 artykułów technicznych, z których 5 obejmuje rejestrowanie/śledzenie błędów zamiast rzeczywistej funkcjonalności.

Znacznik StackOverflow ms-media-foundation jest używany tylko z 328 pytaniami, z których 142 nie ma odpowiedzi. Dla odmiany jest 1641 pytań DirectShow, z których tylko 496 pozostaje bez odpowiedzi.

Co się stało z Microsoft Media Foundation? Czy nowy API kiedykolwiek zdejmie i zastąpi DirectShow, czy nawet Microsoft porzuci MF na rzecz powrotu do starego i zardzewiałego (zaufanego?) DirectShow. A może jest inna, inna niż Microsoft struktura, która przejęła kontrolę?

+0

Jedyną prawdziwą zachętą do przejścia na MF było ciągłe usuwanie przez Microsoft starszej wersji DirectShow w nowszych wersjach systemu operacyjnego. W przeciwnym razie MF nie ma sensu: większy narzut, skomplikowany, widzimy już przestarzałe części, nowe wydania nie obejmują poprzednich systemów. DirectShow z jego elastycznością i rozszerzalnością, dostępnymi narzędziami i kodem oraz samouczkami - pozostaje naturalnym sposobem działania. –

+0

Jedną z zalet Media Foundation jest to, że zawierają one kodery h264 i dekodery po wyjęciu z pudełka. Wydaje mi się, że jest to duża zaleta dla osób piszących komercyjne oprogramowanie. Jak powiedział Roman, fakt, że niektóre funkcje Media Foundation są dostępne tylko w systemie Windows 8+, stanowi poważny problem, ponieważ pozostawia w systemie Windows 7 (48% zainstalowanej bazy OS z października 2016). – SteveS

+0

Jeśli chodzi o kodek H.264 w Media Foundation, [ten post na MSDN] (https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/b093d14a-7c72-4e56-9ca9-83e4ce861217/ ma-mediafoundations-h264-encoding-require-royalty? forum = mediafoundationdevelopment) wspomina niektóre aspekty licencjonowania. –

Odpowiedz

15

Po pierwsze nie znam odpowiedzi i jestem kimś, kto zbyt długo pracował, próbując nawet działać w podstawowych scenariuszach Fundacji Mediów; czasami czuje się bardziej jak poszukiwanie w poszukiwaniu zagubionych tajnych pism niż programowanie.

Podejrzewam, że Microsoft chce uczynić MF standardowym API dla platformy Windows i być może najlepszym wskazaniem jest Windows Universal App Samples, gdzie występuje 7 wystąpień "mfapi.h", ale zero wystąpień "dshow.h" . Również stosunkowo nowe formanty WPF MediaCapture i MediaElement łączą się z interfejsami API Media Foundation, więc bezpiecznie można powiedzieć, że dla wszystkich nowych prac Microsoft używa MF zamiast DirectShow.

Wow Widzę, co masz na myśli mówiąc o Polinger's MF book! Mam książkę (którą wkrótce będę sprzedawać w tej cenie) i mogę zapewnić, że zdecydowanie nie jest tego warta. Nigdy nie znalazłem tak wiele pomocy pomimo wielokrotnego czytania go wielokrotnie. Jest prawie taki sam jak w dokumentach online, ponieważ trzyma się niewielkiej liczby konkretnych scenariuszy (w rzeczywistości wiele rozdziałów w książce po prostu ponownie drukuje próbki SDK) i jak tylko potrzebujesz zrobić coś poza tymi są na własną rękę.

Jeśli chodzi o oficjalny blog MF, na forach MSDN pojawił się wątek, na który jeden z użytkowników Microsoftu odpowiedział, że zamienił platformy blogowe (oczywiście byłoby miło, gdyby mogli umieścić notatkę że). Wygląda na to, że pewna liczba programistów Microsoft MF nadal prowadzi blogi. Wydaje się to być najbardziej "aktywnym" one.

Aktualizacja: Jeśli ktoś się dzieje, aby wyciągnąć tutaj z powodu listu referencyjnego książka Polinger że kod towarzysz można pobrać ze here (oryginalnego linku cytowanym w książce jest http://go.microsoft.com/FWLink/?Linkid=229072 który w momencie pisania przekierowuje do wyżej wymienionej stronie).

+0

Cena książki "Polinger" pokazuje, jak zdesperowani ludzie potrzebują informacji. Dzięki za nowy link do bloga. Nie jest szczególnie aktywny, ale przynajmniej mam kilka dodatkowych próbek do pracy. Znalezienie dokumentacji dla MF jest tak frustrujące. Mam pomysł, że może rozwiązać wiele problemów, które mam. (Dekodowanie WMV, przewijanie wideo, konwersja kolorów). Ale próbki (lub cokolwiek związanego z czymkolwiek, zwykle jestem całkiem dobry w samodzielnym określaniu) są po prostu nieobecne ... :( –

+2

@RoyT. MF w 4 różnych scenariuszach .. to terytorium ekspertów ... Notatka poboczna Zrobiłem repozytorium, aby umieścić moje własne eksploracje MF na https://github.com/sipsorcery/mediafoundationsamples (większość próbek to nieprzetworzone prace w toku, a nie dydaktyczne), jeśli twój konkretny przypadek użycia pokrywa się z jednym z próbki, które mogłyby pomóc inaczej, prawdopodobnie nie. – sipwiz

+0

Dzięki! Te próbki bardzo pomogą. Przekazując je kolegom, jak mówimy! –

2

Dla mnie Media Foundation to naprawdę bardzo fajne API do programowania multimediów.

To, co mogę obwiniać, to że wydania Media Foundation nie dotyczą systemu Windows Seven, obecnie najpopularniejszego systemu operacyjnego na świecie.

Media Foundation ma wielu konkurentów (DirectShow, Ffmpeg, Gstreamer itp.). Tak, większy wybór, mniej developpers, mniej tutoriale i tak dalej ...

staram się promować ten API jak mogę, więc tutaj jest moja praca na Media Foundation: MFNode

I obejmują wiele scenariuszy i musisz sprawdzić kod źródłowy, aby się uczyć.

Znajdziesz tu:

  • odtwarzacz audio/wideo (win32)
  • niestandardową sesja mediów
  • źródłowy sekwencer
  • przechwytywania audio/wideo
  • przechwytywania ekranu
  • przechwytywanie Kinect V1
  • Mikser audio z falą
  • HTTP strumieniowe (Winsock)
  • kodowania JPEG (gdiplus)
  • dxva2 TECHNOLOGIE
  • dekodowania CUDA
  • directx9 renderowania i moduł cieniujący
  • COM TECHNOLOGIE
  • inny rodzaj mediafoundation źródło, zlewu i transformacji (MPEG2, FLV, a52, VP6 ...)
  • mp3 machać transkoder
-1

Podejrzewam, że jednym z powodów, dla których MediaFoundation nie jest używany w takim stopniu, jest ograniczenie tylko do kodowania w formacie WMV i ograniczenie możliwości dekodowania (możesz odkodować więcej niż tylko WMV, ale nawet stary VFW z Win 3.1 dni pozwoliła ci wybrać kompresor do wyboru)

Jeszcze bardziej zabrudzony i starszy VFW (wideo dla Windows) jest prostszy niż wszystkie najnowsze i najlepsze, i pozwala na wiele sprężarek - więc zastanawiam się, czy MediaFoundation kiedykolwiek zostanie zaktualizowany aby umożliwić więcej kompresorów i dekompresorów (lub koderów i dekoderów) niż bardzo ograniczony wybór, który oferują.

MediaFoundation API, chociaż interfejsów, wydają się bardzo niski poziom nadal i wymaga dużo kotła kodu talerzu tak aby uzyskać podstawowe rzeczy pracy - potężne produkcji WMV, gdyż daje mnóstwo narzędzi - ale trochę trudno używaj do robienia podstawowych zadań (najlepiej ściągać wrappery wokół API, co ku mojemu zdziwieniu, niewiele istnieje ... te API nie są tak popularne, jak byś myślał).

Powiązane problemy