Udostępnij przez


Konfigurowanie strumieni wideo na potrzeby wyszukiwania wydajności

[Funkcja skojarzona z tą stroną, windows Media Format 11 SDK, jest starszą funkcją. Został zastąpiony przez Czytnik Źródła i Zapisnik Ujścia. Czytnik Źródeł i Pisarz Ujścia zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Microsoft zdecydowanie zaleca, aby nowy kod używał Source Reader i Sink Writer zamiast Windows Media Format 11 SDK , 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.]

Niektóre aplikacje do odtwarzania wykonują wiele poszukiwań na poszczególnych strumieniach. Wyszukiwanie to obszar, w którym wydajność może się znacznie różnić w zależności od ustawień strumienia. Jeśli wiesz, że zawartość musi być zoptymalizowana pod kątem szybkiego wyszukiwania, możesz dostosować konfigurację strumienia w celu zwiększenia wydajności.

Największym czynnikiem wpływającym na szybkość wyszukiwania operacji w filmie wideo jest odstęp między klatkami kluczowymi. Ponieważ każda ramka między ramkami kluczowymi musi zostać zrekonstruowana na podstawie ramek, które pochodzą przed nią, daleko rozmieszczone ramki kluczowe powodują dłuższe czasy odczytu. Na przykład, jeśli strumień wideo z 30 klatkami na sekundę ma maksymalny odstęp między klatkami kluczowymi wynoszący 10 sekund, to potencjalnie między klatkami kluczowymi może być 300 klatek. Jeśli chcesz uzyskać ostatnią ramkę delta , 299 ramek musi zostać odtworzonych, aby ramka mogła zostać zdekompresowana. Jeśli każda rekonstrukcja ramki zajęła 01 sekundy, wyszukiwanie zajęłoby prawie 3 sekundy. Jeśli chcesz zwiększyć efektywność wyszukiwania, zmniejszenie rozstawu klatek kluczowych może pomóc. Jeśli jednak ustawisz klatki kluczowe zbyt blisko siebie, możesz utracić jakość.

Można ustawić maksymalny odstęp między kluczowymi klatkami, wywołując IWMVideoMediaProps::SetMaxKeyFrameSpacing. Zalecane wartości na podstawie przepływności strumienia są wymienione w poniższej tabeli. Te wartości zapewniają dobrą równowagę w poszukiwaniu wydajności i jakości. SDK nie wymusza żadnego limitu czasu między klatkami kluczowymi. Ogólnie rzecz biorąc, czas dłuższy niż 30 sekund może niekorzystnie wpływać na czas wyszukiwania zarówno wtedy, gdy zawartość jest przesyłana strumieniowo przez sieć, jak i kiedy jest odtwarzana lokalnie.

Szybkość bitów Sugerowane maksymalne odstępy między kluczowymi klatkami
Od 22 Kb/s do 300 Kb/s 8 sekund
300 Kb/s do 600 Kb/s 6 sekund
600 Kb/s do 2 Mb/s 4 sekundy
2 Mb/s i wyższe 3 sekundy

 

Aby uzyskać więcej informacji na temat uzyskiwania najlepszej wydajności podczas wyszukiwania plików wideo, zobacz Getting the Best Video Seeking Performance.

Konfigurowanie strumieni