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.

netvope
źródło
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.

shthed
źródło
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/

Stephane
źródło
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.

Zach Saw
źródło
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).

Matthieu Cartier
źródło
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.

Asik
źródło
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ć.

Robert Headley
źródło
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”).

użytkownik697683
źródło
-1

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

Cześć71
źródło
3
pomijanie klatek sprawia, że film bardziej nierówne, nie gładsza
phuclv