Wie kann ich ein 24-fps-Video auf einem 60-Hz-Display flüssig abspielen?


18

Ich benutze mpc-hc , um Videos auf Win7 x64 abzuspielen. Mit den Standardeinstellungen (Nr. 1) ist die Videowiedergabe die meiste Zeit großartig. Bei Schwenks ist die Wiedergabe jedoch nicht flüssig . Ich ging das Video Bild für Bild durch und stellte fest, dass die Schwenkbewegung gleichmäßig ist (z. B. verschiebt sich jedes Bild horizontal um 10 Pixel). Das Problem ist also, wie das 23,976-fps-Video auf 60 Hz interpoliert wird.

Das Ruckeln sieht aus wie bei einem "2: 3 Pulldown" , bei dem die Frames ungleichmäßig abgespielt werden:

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

Wenn Sie "Optimale Renderer-Einstellungen" (# 3) anstelle der Standardeinstellung verwenden, wird das Aero-Design deaktiviert und es werden Risse verursacht .

Wenn ich mein LCD-Display auf 50 Hz stelle, hat sich das Ruckeln möglicherweise geringfügig verbessert (was ich aber nicht wirklich sagen kann). Mein Display unterstützt keine 24Hz oder 48Hz, und wenn Sie diese im Nvidia-Bedienfeld erzwingen, wird der Bildschirm unscharf.

Ich habe andere Videoplayer ( VLC und KMPlayer ), den ReClock Directshow-Filter , Videodateien aus verschiedenen Quellen (Nr. 4) , das Ein- und Ausschalten von DXVA und einen Computer mit einer anderen GPU ausprobiert, aber das Ruckeln bei der Wiedergabe ist ähnlich . Keiner von ihnen hat das Problem gelöst.

Ist es möglich, Videos mit 23,976 oder 24 fps reibungslos auf einem 60-Hz-Display abzuspielen?

Ich denke, ein Videoplayer könnte das Video glatter machen, indem er eine lineare Interpolation durchführt, wie zum Beispiel:

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

Kann ein vorhandener Videoplayer dies tun?

Fußnoten:
(# 1) Video-Renderer: EVR Custom Pres.
(# 2) Dieses Beispiel wandelt ein 24 fps - Video in 30 fps
(# 3) Ansicht> Renderer Einstellungen> Zurücksetzen> Zurücksetzen , um eine optimale Renderer - Einstellungen
(# 4) Die Dateien , ich habe , sind alle H.264 MKV - Dateien, aber ich don‘ Ich denke nicht, dass das Dateiformat / die Kodierung wichtig ist.


3
Das kommt mir bekannt vor - ich habe das bei fast jedem Video, das ich abspiele, bis zu einem gewissen Grad bemerkt. Wenn ich andere frage, sagen sie immer, dass es für sie glatt aussieht ...
OKTOSITE

Ein Teil dieser Verarbeitung liegt in der Verantwortung Ihrer Grafikkarte, und einige GPUs sind weitaus besser als andere. Es ist Teil der Standardvideotests, die Anandtech.com verwendet, um Videokarten im Kontext der HTPC-Nutzung zu überprüfen. Keine Antwort, ich weiß, aber eine nützliche Information, würde ich hoffen. Schauen Sie sich Anandtechs "Discrete HTPC GPU Shootout" mit Schwerpunkt auf Seite 6 an ( anandtech.com/show/4380/discrete-htpc-gpus-shootout/6 ). Aufgrund dieser Bewertung habe ich mir eine Radeon HD 6570 gekauft und sie macht einen fantastischen Job - nicht perfekt, aber im Durchschnitt besser als alles andere.
evilspoons

Antworten:


13

Schauen Sie sich das SmoothVideo-Projekt an :

Mit SVP können Sie jedes Video auf Ihrer PC-Datei mit Frame-Interpolation ansehen (wie Sie es auf High-End-Fernsehern und -Projektoren sehen können). Die Bildrate wird erhöht, indem zwischen vorhandenen Animationsbildern Zwischenbilder erstellt werden, um eine sehr gleichmäßige, flüssige und klare Bewegung zu erzielen. Die Technologie ist seit einiger Zeit bekannt ("TrimensionDNM", "Motion Plus", "Motionflow" und andere), steht PC-Benutzern jetzt kostenlos mit einer einfachen Benutzeroberfläche und nur wenigen Mausklicks zur Verfügung.


Haben Sie irgendwelche persönlichen Erfahrungen mit SmoothVideo? Vielleicht möchten Sie das der Frage hinzufügen! Stehen Sie in irgendeiner Weise mit SmoothVideo in Verbindung? Wir würden uns über eine vollständige Offenlegung freuen, wenn Sie dies tun. Viel Spaß beim Klagen!
BloodPhilia

Ich wollte etwas über SVP posten :-) Ich habe es vor ungefähr zwei Monaten gefunden. Je nach Video können die Standardoptionen viele Artefakte verursachen. Mit einigen Optimierungen (die das Erkennen von Bewegungen meistens weniger aggressiv machen) funktioniert es für mich hervorragend!
Netvope

3

Ich kenne keinen Player, der dies im Handumdrehen kann, aber Sie können jedes Video mit 24/25 fps in ein nettes Video mit 60 fps umwandeln, indem Sie das Video mit Interframing neu codieren.

Hier ist eine sehr schöne Schritt-für-Schritt-Anleitung, um es zu tun. Es enthält Vorher / Nachher-Videobeispiele. http://www.spirton.com/convert-videos-to-60fps/


2

Ihre Idee, die Videowiedergabe mithilfe der so genannten linearen Interpolation flüssiger zu gestalten, ist einfach eine Mischmethode zur Konvertierung der Bildrate (oder Blend FRC). MediaPlayer.NET (MPDN) verwendet diese Technik und nennt sie "Fluid Motion". madVR nennt es "Smooth Motion".

Diese Methode der FRC ist die grundlegendste der von SVP verwendeten Methoden. Sowohl MPDN als auch madVR haben jedoch die Möglichkeit, die tatsächliche Anzeigeaktualisierungsrate mit einer sehr hohen Genauigkeit zu erfassen. Während es unwahrscheinlich ist, dass bei 60 Hz ein Bild ausfällt oder sich wiederholt, leidet SVP immer noch an der (jedoch geringfügigen) Nichtübereinstimmung der Eingabe- / Ausgaberate (z. B. 60,001 Hz + Referenztaktabweichung gegenüber 60 FPS). Die Verwendung von SVP ist auch viel GPU-intensiver als die Misch-FRC des Players, die nur einen Bruchteil der Renderzeit kostet.

Wenn Sie in der Lage sind, Ihre Anzeige zu übertakten, bietet der MPDN-Raten-Tuner eine Alternative zum Mischen von FRC und wird im Allgemeinen als die bessere Option angesehen. Beim Mischen von FRC können Unschärfen / Geisterbilder auftreten. Daher sollte dies als letzte Möglichkeit erachtet werden. Weitere Informationen finden Sie im MPDN Rate Tuner-Wiki auf GitHub .

Haftungsausschluss: Ich bin der Autor von MPDN.


1

Ich spiele häufig 24-fps-Videos in VLC auf einem 60-Hz-Display und sie werden über den Standardrenderer mit nVidia-Hardwarebeschleunigung reibungslos angezeigt.


Vielen Dank, dass Sie es versucht haben, aber das Aktivieren der VLC-GPU-Beschleunigung auf meiner GeForce 9300 verbessert das Ruckeln für mich nicht.
Netvope

0

Für alle Benutzer eines 60-Hz-Monitors: Stellen Sie im ersten Schritt sicher, dass Ihr Monitor keine 23,976-Hz-, 24-Hz-, 47,952-Hz- oder 48-Hz-Signale unterstützt. Verwenden Sie dazu das Bedienfeld Ihrer GPU (entweder NVIDIA, AMD oder Intel). Es wird wahrscheinlich nicht aufgelistet, daher müssen Sie eine benutzerdefinierte Auflösung erstellen und diese testen.

OP sagt, er hat das getan, also brauchen wir eine Form der Frame-Interpolation. Heutzutage ist es am einfachsten, die Option für sanfte Bewegungen von madVR zu verwenden.

Bildbeschreibung hier eingeben

Um madVR zu verwenden, installieren Sie MPC-HC und madVR, und wählen Sie in den MPC-HC-Optionen madVR als Renderer aus. Wenn alles gut geht, sollten Sie in MPC-HC in der Lage sein, STRG-J zu drücken und Folgendes zu sehen:

Bildbeschreibung hier eingeben

Rot unterstrichen ist das, was hier wichtig ist: Laufen mit 60 Hz, aber mit gleichmäßiger Bewegung. Es wird nicht perfekt sein, aber es ist im Grunde das Beste, was Sie hoffen können, wenn Sie versuchen, 24 Bilder in 60 Auffrischungszyklen aufzunehmen.


0

Jemand anderes erwähnte das Smooth Video Project. Dies könnte möglicherweise helfen, aber manchmal lässt die Bewegungsglättung etwas, das für eine niedrigere Bildrate vorgesehen ist, schlecht aussehen, da bei 24-fps-Videos Bewegungsunschärfe in die einzelnen Bilder eingebaut ist. Durch die Bewegungsglättung wird das digitale Erscheinungsbild von Videos verbessert.

Der Videoplayer MPV verfügt über eine integrierte Bewegungsglättung oder Intra-Frame-Interpolation. Sie sollten dies überprüfen.


0

Sie sollten mpv mit dieser --interpolationOption ausprobieren , vorzugsweise über eine GUI wie SMPlayer . Es macht etwas sehr Ähnliches wie das, was Sie beschreiben.

Installieren Sie SMPlayer und gehen Sie in den Einstellungen wie folgt vor:

  • Unter Allgemein-> Video wählen Sie "Ausgabetreiber": "Benutzerdefiniert" und geben Sie ein opengl-hq
  • Unter Advanced-> MPlayer / mpv geben Sie unter Options Folgendes ein: --interpolation --video-sync=display-vdrop --tscale=oversample

Videos sollten jetzt fast so flüssig wie auf einem nativen 24-Hz-Display wiedergegeben werden, jedoch ohne "Seifenoper-Effekt".

Hier finden Sie eine (möglicherweise veraltete) technische Erläuterung der Funktionsweise dieser Option (Abschnitt "Smoothmotion").


-1

Haben Sie versucht, "Frames überspringen" in den VLC-Optionen zu deaktivieren?


3
Rahmen macht das Video mehr ruckartig, nicht glatter Skipping
phuclv
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.