[MPlayer-users] Playing 24 fps video on a 60 Hz monitor

Phil Rhodes phil_rhodes at rocketmail.com
Fri Aug 2 15:50:32 CEST 2013


>  Does anyone know exactly what mplayer does to convert the 24 fps in order to play at 60 HZ?  


It doesn't. All that happens in this sort of situation is that (broadly speaking), every so often, mplayer updates the frame in memory, and every so often, the graphics card scans that frame out onto your monitor. As such, you get an ad-hoc series of duplicated frames, with most of the original video frames being played for either two or three monitor updates. There is no deliberate intent to use any particular scheme. The video frames get updated and the graphics card displays them, on whatever fairly random basis those events need to happen. 

Most of the time, video playback on computers is synced to audio, that is, it works on the basis of keeping the sound card's buffer full at 48Khz (or whatever the output sample rate is), and updates video frames to keep in sync. This is done because inconsistencies in sound are very audible, whereas duplicating video frames is something that at least NTSC audiences are quite used to.

It would in theory be possible to write a video player that used a deliberate frame rate interpolation sequence and ensured each video frame was displayed for a controlled number of monitor updates, but I am not sure this is often (or has ever) been done. The problem you'd then have is that the audio and video sync would need to be controlled in some other way, probably by resampling the audio, because there is no sufficiently-accurate synchronisation between the rate at which the sound card clocks out samples, and the rate at which the graphics card clocks out frames. They both have their own sync sources on board and there is no way to lock them together.

This is why people like Blackmagic sell things like the Decklink series of video I/O cards which include audio hardware on board: you can guarantee, with those things, that for every (for instance) 24 frames, you will get (for instance) 48,000 audio samples, and those things are locked together electronically.

This is why you can't really take an HDMI output from a computer and use it as part of a broadcast video mastering system. 

It is theoretically possible write a media player that will video sync, as opposed to audio sync, its output, by resampling the audio. If anyone has any idea if this has ever been done, please tell me!

P


More information about the MPlayer-users mailing list