Jak płynnie odtwarzać filmy 24 kl./s na ekranie 60 Hz?


18

Używam mpc-hc do odtwarzania filmów na Win7 x64. Przy ustawieniach domyślnych (nr 1) odtwarzanie wideo jest świetne przez większość czasu. Ale w przypadku panoramowania zdjęcia odtwarzanie nie jest płynne . Przeszedłem przez klatkę wideo klatka po klatce i stwierdziłem, że ruch panoramowania jest płynny (np. Każda klatka przesuwa się w poziomie o 10 pikseli), więc problemem jest sposób, w jaki wideo 23,976 fps jest interpolowane do 60 Hz.

Judder wygląda tak, jakby był spowodowany „rozwijaniem 2: 3” , w którym klatki są odtwarzane nierównomiernie:

frame 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, etc (# 2)

Użycie „optymalnych ustawień renderera” (# 3) zamiast domyślnych wyłącza motyw Aero i powoduje łzawienie .

Ustawienie mojego wyświetlacza LCD na 50 Hz mogło nieco poprawić migotanie (ale tak naprawdę nie mogę powiedzieć). Mój wyświetlacz nie obsługuje 24 Hz ani 48 Hz, a wymuszenie ich w panelu sterowania Nvidii powoduje zamazanie ekranu.

Próbowałem innych odtwarzaczy wideo ( VLC i KMPlayer ), ReClock Directshow Filter , plików wideo z różnych źródeł (# 4) , włączania / wyłączania DXVA oraz komputera z innym GPU, ale przesłuchanie w odtwarzaniu jest podobne . Żadne z nich nie rozwiązało problemu.

Czy można płynnie odtwarzać wideo 23,976 lub 24 kl./s na ekranie 60 Hz?

Myślę, że odtwarzacz wideo może wygładzić wideo, wykonując interpolację liniową, na przykład:

1. 100% frame 1
2. 60% frame 1 + 40% frame 2
3. 20% frame 1 + 80% frame 2
4. 80% frame 2 + 20% frame 3
5. 40% frame 2 + 60% frame 3
6. 100% frame 3
7. 60% frame 3 + 40% frame 4
.. etc

Czy może to zrobić dowolny istniejący odtwarzacz wideo?

Przypisy:
(nr 1) Moduł renderujący wideo: EVR Custom Pres.
(# 2) Ten przykład konwertuje wideo 24 fps na 30 fps
(# 3) Widok> Ustawienia renderera> Resetuj> Zresetuj do optymalnych ustawień renderera
(# 4) Wszystkie moje pliki to pliki H.264 mkv, ale nie „ Uważam, że format pliku / kodowanie ma znaczenie.


3
Brzmi znajomo - do pewnego stopnia zauważyłem to na prawie każdym filmie, który odtwarzam. Kiedy pytam innych, zawsze mówią, że im to wygląda gładko ...
oKtosiTe

Część tego przetwarzania leży w zakresie odpowiedzialności karty graficznej, a niektóre procesory graficzne radzą sobie znacznie lepiej niż inne. Jest to część standardowych testów wideo, których Anandtech.com używa do przeglądania kart wideo w kontekście korzystania z HTPC. Wiem, że nie jest to odpowiedź, ale mam nadzieję, że jest to przydatna informacja. Zapoznaj się z „Dyskretnym strzelaniem GPU Anandtech” z naciskiem na stronie 6 ( anandtech.com/show/4380/discrete-htpc-gpus-shootout/6 ). Ostatecznie kupiłem Radeon HD 6570 z powodu tej recenzji i wykonuje fantastyczną robotę - nie idealną, ale średnio lepszą niż wszystko inne.
evilspoons

Odpowiedzi:


13

Sprawdź SmoothVideo Project :

SVP pozwala oglądać dowolne wideo na twoim komputerze z interpolacją klatek (tak jak możesz oglądać je na wysokiej klasy telewizorach i projektorach). Zwiększa szybkość klatek, generując pośrednie klatki animacji między istniejącymi, aby uzyskać bardzo płynny, płynny i wyraźny ruch. Technologia ta jest od dawna znana („TrimensionDNM”, „Motion Plus”, „Motionflow” i inne), ale teraz jest dostępna bezpłatnie dla użytkowników komputerów PC z prostym graficznym interfejsem użytkownika i kilkoma kliknięciami myszy.


Czy masz jakieś osobiste doświadczenia z SmoothVideo, możesz dodać to do pytania! Czy jesteś w jakikolwiek sposób związany z SmoothVideo? Będziemy wdzięczni za pełne ujawnienie, jeśli tak. Happy SUing!
BloodPhilia

Zamierzałem pisać o SVP :-) Znalazłem to około dwa miesiące temu. W zależności od filmu domyślne opcje mogą powodować wiele artefaktów. Z pewnymi poprawkami (głównie zmniejszającymi agresywność w identyfikowaniu ruchu), działa świetnie dla mnie!
netvope

3

Nie znam odtwarzacza, który mógłby to zrobić w locie, ale możesz przekonwertować dowolny film 24/25 klatek na sekundę na ładne wideo 60 klatek na sekundę, ponownie kodując wideo z ramką.

oto bardzo fajny samouczek krok po kroku, aby to zrobić. Obejmuje próbki wideo przed / po. http://www.spirton.com/convert-videos-to-60fps/


2

Twój pomysł na płynniejsze odtwarzanie wideo za pomocą tak zwanej interpolacji liniowej to po prostu metoda mieszania konwersji częstotliwości klatek (lub Blend FRC). MediaPlayer.NET (MPDN) stosuje tę technikę i nazywa ją „płynnym ruchem”. madVR nazywa to „Smooth Motion”.

Ta metoda FRC jest najbardziej podstawowa z tego, co wykorzystuje SVP. Jednak zarówno MPDN, jak i madVR mają możliwość wykrywania rzeczywistej częstotliwości odświeżania wyświetlacza z bardzo wysoką precyzją. Chociaż jest mało prawdopodobne, że zauważysz upuszczoną / powtarzaną klatkę przy 60 Hz, SVP nadal cierpi na (choć niewielkie) niedopasowanie częstotliwości wejścia / wyjścia (np. 60,001 Hz + odchylenie taktowania odniesienia w porównaniu do 60 FPS). Korzystanie z SVP jest również znacznie bardziej wymagające dla GPU niż mieszanka FRC odtwarzacza, która kosztuje tylko ułamek czasu renderowania.

Jeśli jesteś w stanie przetaktować swój wyświetlacz, tuner szybkości MPDN daje alternatywę dla mieszania FRC i jest ogólnie uważany za lepszą opcję. Mieszanie FRC może powodować rozmycie / zjawy, dlatego należy je traktować jako ostateczność. Aby uzyskać więcej informacji, zobacz wiki tunera stawek MPDN na GitHub .

Oświadczenie: Jestem autorem MPDN.


1

Często odtwarzam wideo 24 kl./s w VLC na wyświetlaczu 60 Hz i wyświetla się płynnie przez domyślny renderer z akceleracją sprzętową nVidia, nie wydaje się drżeć (nie jestem pewien, jakiej metody używa).


Dzięki za próbę, ale włączenie akceleracji GPU VLC na moim GeForce 9300 nie poprawia mi drżenia.
netvope

0

Dla każdego na monitorze 60 Hz: w pierwszej kolejności upewnij się, że Twój monitor nie obsługuje 23,976 Hz, 24 Hz, 47 952 Hz lub 48 Hz, korzystając z panelu sterowania karty graficznej (NVIDIA, AMD lub Intel). Prawdopodobnie nie będzie na liście, więc będzie to wymagało utworzenia niestandardowej rozdzielczości i przetestowania jej.

OP mówi, że to zrobił, więc potrzebujemy jakiejś formy interpolacji klatek. Najbardziej bezbolesnym sposobem na zrobienie tego w dzisiejszych czasach byłoby użycie opcji płynnego ruchu madVR.

wprowadź opis zdjęcia tutaj

Aby użyć madVR, zainstaluj MPC-HC i madVR, wybierz madVR jako renderer w opcjach MPC-HC. Jeśli wszystko pójdzie dobrze, w MPC-HC powinieneś być w stanie nacisnąć CTRL-J i zobaczyć to:

wprowadź opis zdjęcia tutaj

To, co jest tutaj podkreślone na czerwono, działa przy 60 Hz, ale z płynnym ruchem. To nie będzie idealne, ale w zasadzie najlepsze, na co możesz liczyć, próbując dopasować 24 klatki w 60 cyklach odświeżania.


0

Ktoś inny wspomniał o Smooth Video Project. Może to potencjalnie pomóc, ale czasami wygładzanie ruchu sprawia, że ​​coś o niższej liczbie klatek wygląda kiepsko, ponieważ wideo 24 klatki na sekundę ma wbudowane rozmycie ruchu w poszczególnych klatkach. Wygładzanie ruchu sprawia, że ​​wideo nagrane cyfrowo wygląda lepiej.

Odtwarzacz wideo MPV ma wbudowane wygładzanie ruchu lub interpolację między klatkami. Powinieneś to sprawdzić.


0

Powinieneś wypróbować mpv z jego --interpolationopcją, najlepiej poprzez GUI, takie jak SMPlayer . Robi coś bardzo podobnego do tego, co opisujesz.

Zainstaluj SMPlayer i wykonaj następujące czynności w ustawieniach:

  • W obszarze Ogólne-> Wideo wybierz „Sterownik wyjściowy”: „zdefiniowany przez użytkownika” i naciśnij opengl-hq
  • W obszarze Zaawansowane-> MPlayer / mpv umieść następujące opcje w Opcjach: --interpolation --video-sync=display-vdrop --tscale=oversample

Filmy powinny być teraz odtwarzane prawie tak płynnie, jak na natywnym wyświetlaczu 24 Hz, ale bez „efektu opery mydlanej”.

Oto (prawdopodobnie nieaktualne) techniczne wyjaśnienie działania tej opcji (sekcja „smoothmotion”).


-1

Czy próbowałeś wyłączyć „Pomiń klatki” w opcjach VLC?


3
pomijanie klatek sprawia, że film bardziej nierówne, nie gładsza
phuclv
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.