<story><title>Mpv – A free, open source, and cross-platform media player</title><url>https://mpv.io/</url></story><parent_chain><item><author>mrob</author><text>My favorite feature is &amp;quot;video-sync=display-resample&amp;quot;. This gives you perfect frame pacing by synchronizing the video to vertical refresh and resampling the audio to match. If you set your refresh rate to an integer multiple of the frame rate, every frame will be shown for the exact same time. The audio resampling compensates for very small discrepancies between speeds by imperceptibly changing the audio speed. It&amp;#x27;s similar to the proprietary DirectShow filter &amp;quot;ReClock&amp;quot;, but AFAIK ReClock does not dynamically adjust the speed to compensate for clock drift like MPV does, in which case you could theoretically still get imperfect frame pacing. (I haven&amp;#x27;t actually used ReClock so I could be mistaken here.)&lt;p&gt;Also great is MPV&amp;#x27;s support for arbitrary OpenGL shaders. This can include very complicated shaders, e.g. real-time neural network upscaling:&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;igv&amp;#x2F;FSRCNN-TensorFlow&amp;#x2F;releases&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;igv&amp;#x2F;FSRCNN-TensorFlow&amp;#x2F;releases&lt;/a&gt;&lt;p&gt;SD video can look surprisingly good after upscaling with this.</text></item></parent_chain><comment><author>nyanpasu64</author><text>One of my least favorite features of VLC (tied with network stream interruptions killing the playback rather than reconnecting) is that VLC guesses your audio hardware&amp;#x27;s sampling rate itself (rather than using the hardware&amp;#x27;s self-reported rate), and resamples even audio-only files that match your hardware&amp;#x27;s self-reported rate. And every time you seek in a file, VLC&amp;#x27;s guess of the hardware sampling rate is thrown off, causing VLC to start pitch-shifting the sound just enough (usually just barely, but sometimes up to 1 semitone) for you to notice and start doubting your sanity, if the audio pitch actually changed or if you&amp;#x27;re hallucinating things. There&amp;#x27;s a long-running bug report at &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;code.videolan.org&amp;#x2F;videolan&amp;#x2F;vlc&amp;#x2F;-&amp;#x2F;issues&amp;#x2F;14287&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;code.videolan.org&amp;#x2F;videolan&amp;#x2F;vlc&amp;#x2F;-&amp;#x2F;issues&amp;#x2F;14287&lt;/a&gt;.&lt;p&gt;I think PipeWire does something similar to synchronize multiple audio devices without a shared word clock, but I haven&amp;#x27;t tested how much its rate analyzer drifts when starting&amp;#x2F;stopping playback or in steady state.</text></comment>
<story><title>Mpv – A free, open source, and cross-platform media player</title><url>https://mpv.io/</url></story><parent_chain><item><author>mrob</author><text>My favorite feature is &amp;quot;video-sync=display-resample&amp;quot;. This gives you perfect frame pacing by synchronizing the video to vertical refresh and resampling the audio to match. If you set your refresh rate to an integer multiple of the frame rate, every frame will be shown for the exact same time. The audio resampling compensates for very small discrepancies between speeds by imperceptibly changing the audio speed. It&amp;#x27;s similar to the proprietary DirectShow filter &amp;quot;ReClock&amp;quot;, but AFAIK ReClock does not dynamically adjust the speed to compensate for clock drift like MPV does, in which case you could theoretically still get imperfect frame pacing. (I haven&amp;#x27;t actually used ReClock so I could be mistaken here.)&lt;p&gt;Also great is MPV&amp;#x27;s support for arbitrary OpenGL shaders. This can include very complicated shaders, e.g. real-time neural network upscaling:&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;igv&amp;#x2F;FSRCNN-TensorFlow&amp;#x2F;releases&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;igv&amp;#x2F;FSRCNN-TensorFlow&amp;#x2F;releases&lt;/a&gt;&lt;p&gt;SD video can look surprisingly good after upscaling with this.</text></item></parent_chain><comment><author>capableweb</author><text>&amp;gt; Also great is MPV&amp;#x27;s support for arbitrary OpenGL shaders. This can include very complicated shaders, e.g. real-time neural network upscaling:&lt;p&gt;Holy shit, I had no idea about this (that mpv could load OpenGL shaders nor that there is shaders that do RT neural upscaling), literally blowing my mind.</text></comment>