VLC smoother playback

macOS specific usage questions
Lornadoo
Blank Cone
Blank Cone
Posts: 52
Joined: 13 Oct 2016 21:27
VLC version: 3.0.11.1
Operating System: Mac OS 10.14.6

VLC smoother playback

Postby Lornadoo » 10 Jul 2018 04:38

Not really a bug in VLC, more like MacOS itself, I notice perfectly smooth playback of .h264 files with Quicktime Player X, as opposed to using legacy Quicktime 7 or VLC (or any other media player for MacOS) on latest supported Mac mini, as well as 12" Macbook.

Using Quartz debug, I can monitor the fps of Quicktime Player X while it is actively playing a 29.97fps .m4v file, and the Quartz Debug Framemeter is sitting at about 40-44 fps, and the video is 100% smooth and stutter-free, perfect.

When I play the same file in VLC or legacy Quicktime, Quartz Debug Framemeter is at 30 fps, and the video on the screen has perceptible micro-stuttering.

Is there a way to configure VLC to use the same API that the latest Quicktime uses to interface with the GPU? It would really make the VLC experience so much better.

Lornadoo
Blank Cone
Blank Cone
Posts: 52
Joined: 13 Oct 2016 21:27
VLC version: 3.0.11.1
Operating System: Mac OS 10.14.6

Re: VLC smoother playback

Postby Lornadoo » 15 Jul 2018 16:28

Something new I noticed. When playing any video file with Quicktime Player X, VTDecoderXPCService is invoked, as seen in Activity Monitor (CPU).

When I play any video with VLC, I notice that VTDecoderXPCService is NOT invoked. Is there a way to force VLC to use VTDecoderXPCService? I would like to see if there is a difference in video quality (smoothness).

edit: Nevermind. VTDecoderXPCService has more to do with sandboxing than decoding. So, I guess it wouldn't make a difference. Maybe I should be looking at how libsdl works instead?

Lornadoo
Blank Cone
Blank Cone
Posts: 52
Joined: 13 Oct 2016 21:27
VLC version: 3.0.11.1
Operating System: Mac OS 10.14.6

Re: VLC smoother playback

Postby Lornadoo » 16 Jul 2018 11:27

edit: I thought I was on to something last night when I was experimenting with OpenGL Driver Monitor, but it turns out my results were flawed. Please disregard the test files I posted here earlier.

I ended up turning off Hardware Acceleration in VLC and I was getting the same micro-stutters every 16 seconds. So, using OpenGL Driver Monitor for troubleshooting is pointless if HW acceleration is off. Something else is going on.

Lornadoo
Blank Cone
Blank Cone
Posts: 52
Joined: 13 Oct 2016 21:27
VLC version: 3.0.11.1
Operating System: Mac OS 10.14.6

Re: VLC smoother playback

Postby Lornadoo » 22 Jul 2018 00:58

Ok, I think I finally figured out what the problem is. All my mp4 files are sourced from NTSC DVD or North American Blu-rays. When I transcode the DVD/BD rips to mp4, I have been keeping the frame rate the same as the source, such as 23.98p, 24p, 29.97i/p, 30p.

When VLC plays these video source frame rates, there is very noticeable stutter because it does not match the 60hz refresh rate of my display.

Tonight I experimented by re-encoding one of these mp4 with a constant 60fps. VLC plays the 60fps video without any stutter! It looks just the same now as it does when Quicktime X plays back the file, nice and smooth, absolutely flawless.

So I guess Quicktime X is somehow able to play all these files with their original source frame rates without any stutter. It is able to sync the video frame rate to the monitor refresh automatically. This behavior is not happening with VLC though.

Is there anything else I can do besides re-encode my entire video library in order for VLC to playback these files smoothly? Is there anyway VLC can perform similar behavior to Quicktime X regarding synching frame rate to monitor refresh rate?

P.S., I also tried the same files (with original source frame rate) with the latest VLC in Windows 7, and they experience the same stutter, but they playback perfectly smooth with Windows Media Player (as smooth as they do in Quicktime X on MacOS). So I am thinking it is the same situation with monitor refresh rates with VLC on Windows.

Thank you for any advice you can give on this!

snix
Cone that earned his stripes
Cone that earned his stripes
Posts: 103
Joined: 20 Aug 2006 02:53

Re: VLC smoother playback

Postby snix » 22 Jul 2018 21:59

i think most monitors run at 60 Hz. the framerate of the video file shouldn't really matter. not sure what you're seeing exactly.
VLC 3.0.11 / Mac OS X 10.13.6 / Intel Core i7 HD3000

Lornadoo
Blank Cone
Blank Cone
Posts: 52
Joined: 13 Oct 2016 21:27
VLC version: 3.0.11.1
Operating System: Mac OS 10.14.6

Re: VLC smoother playback

Postby Lornadoo » 23 Jul 2018 01:22

"not sure what you're seeing exactly."

Thanks for your reply. What I am seeing is a micro-stutter that lasts for 1-3 seconds and occurs about every 15 seconds.

This micro stutter does not occur when I use Quicktime X, Windows Media Player, or if I re-encode the video to a constant frame rate that matches the refresh rate of the display.

What I want to do to prove my case is to set up a side-by-side playback window of the same video file with VLC and Quicktime X, and record the screen to capture the comparison of the two. You will then be able to see a frame-by-frame comparison of the two and you will also see where VLC's window is skipping frames on the final output (when the micro-stutter occurs), where Quicktime X does not skip a single frame. I will try to set this up and upload to dropbox and paste the link here sometime this week.

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: VLC smoother playback

Postby Jean-Baptiste Kempf » 23 Jul 2018 11:43

Please share your logs.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

Lornadoo
Blank Cone
Blank Cone
Posts: 52
Joined: 13 Oct 2016 21:27
VLC version: 3.0.11.1
Operating System: Mac OS 10.14.6

Re: VLC smoother playback

Postby Lornadoo » 23 Jul 2018 13:57

Here is the log when playing back the mp4 video file with frame rate of 29.98. When the stuttering occurs, there is no log activity going on at the same instance, so I think whatever visual artifacts/stuttering is occuring, it is happening at a point in VLC's pipeline that is beyond what the log can capture. I really think there is a problem with the way VLC hands-off the video output to the OS.

For instance, if I record playback of the 29.97 fps file with VLC's record feature, and I play back that recording, I see absolutely no stutter. That is an important statement because it means that VLC itself is decoding and playing back the file without any error or perceptible stutter from within it's own "domain" (before the video goes to GPU). It is what happens to the video AFTER it leaves VLC and is handed to the OS to process, that is when the stuttering occurs.

This same stuttering behavior occurs (with the same file) using other media players as well, such as LEGACY-Quicktime (version 7 and prior), Elmedia, mpv, Mplayerx, basically anything OTHER than the modern Quicktime X (or Windows Media Player on Windows). However, that statement should not be used as excuse as to why VLC exhibits this behavior. Because I know that the file plays back in smooth in native OS apps, such as Quicktime X, and I know that reencoding the file with constant FPS to match the monitor refresh shows that VLC is capable of playing the file 100% smooth.

Code: Select all

main debug: VLC media player - 3.0.4 Vetinari main debug: Copyright © 1996-2018 the VideoLAN team main debug: revision 3.0.3-1-87-gcee79263f3 main debug: configured with /Users/jenkins/workspace/vlc-nightly/vlc-3.0-nightly-macOS/extras/package/macosx/../../../configure '--prefix=/Users/jenkins/workspace/vlc-nightly/vlc-3.0-nightly-macOS/build/vlc_install_dir' '--enable-macosx' '--enable-merge-ffmpeg' '--enable-osx-notifications' '--enable-faad' '--enable-flac' '--enable-theora' '--enable-shout' '--enable-ncurses' '--enable-twolame' '--enable-realrtsp' '--enable-libass' '--enable-macosx-qtkit' '--enable-macosx-avfoundation' '--disable-skins2' '--disable-xcb' '--disable-caca' '--disable-pulse' '--disable-sdl-image' '--disable-vnc' '--build=x86_64-apple-darwin16' '--host=x86_64-apple-darwin16' '--with-macosx-version-min=10.7' '--with-macosx-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk' 'build_alias=x86_64-apple-darwin16' 'host_alias=x86_64-apple-darwin16' 'CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang' 'CFLAGS=-g' 'LDFLAGS=' 'CXX=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++' 'CXXFLAGS=-g' 'OBJC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang' 'OBJCFLAGS=-g' main debug: toggling pause main debug: toggling pause macosx debug: Activated assertion NoDisplaySleepAssertion through IOKit (33031) videotoolbox warning: pic_holder_wait timed out main debug: EOF reached main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: killing decoder fourcc `mp4a' main debug: removing module "faad" main debug: removing module "samplerate" main debug: removing module "scaletempo" auhal debug: Stopping the auhal module main debug: removing module "float_mixer" main debug: keeping audio output main debug: killing decoder fourcc `h264' main debug: removing module "videotoolbox" main debug: saving a free vout main debug: reusing provided vout main debug: removing module "mp4" mp4 debug: freeing all memory main debug: Program doesn't contain anymore ES main debug: removing module "record" main debug: removing module "cache_read" main debug: removing module "filesystem" main debug: dead input main debug: changing item without a request (current 0/1) main debug: using item 0 main debug: starting playback of new item main debug: resyncing on Stutter Test 480p 2997.mp4 main debug: Stutter Test 480p 2997.mp4 is at 0 main debug: creating new input thread main debug: Creating an input for 'Stutter Test 480p 2997.mp4' main debug: requesting art for new input thread main debug: using timeshift granularity of 50 MiB main debug: using default timeshift path main debug: `file:///Users/cartoons2/Desktop/Stutter%20Test%20480p%202997.mp4' gives access `file' demux `any' path `/Users/cartoons2/Desktop/Stutter%20Test%20480p%202997.mp4' main debug: creating demux: access='file' demux='any' location='/Users/cartoons2/Desktop/Stutter%20Test%20480p%202997.mp4' file='/Users/cartoons2/Desktop/Stutter Test 480p 2997.mp4' main debug: looking for meta fetcher module matching "any": 1 candidates main debug: looking for access_demux module matching "file": 13 candidates lua debug: Trying Lua scripts in /Users/cartoons2/Library/Application Support/org.videolan.vlc/lua/meta/fetcher lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/lua/meta/fetcher main debug: no access_demux modules matched lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/share/lua/meta/fetcher main debug: creating access: file:///Users/cartoons2/Desktop/Stutter%20Test%20480p%202997.mp4 main debug: (path: /Users/cartoons2/Desktop/Stutter Test 480p 2997.mp4) main debug: no meta fetcher modules matched main debug: looking for access module matching "file": 23 candidates main debug: looking for art finder module matching "any": 2 candidates main debug: using access module "filesystem" main debug: looking for stream_filter module matching "prefetch,cache_read": 26 candidates cache_read debug: Using stream method for AStream* lua debug: Trying Lua scripts in /Users/cartoons2/Library/Application Support/org.videolan.vlc/lua/meta/art lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/lua/meta/art lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/share/lua/meta/art lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/00_musicbrainz.luac lua debug: skipping script (unmatched scope) /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/00_musicbrainz.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/01_googleimage.luac cache_read debug: starting pre-buffering cache_read debug: received first data after 0 ms cache_read debug: pre-buffering done 1024 bytes in 0s - 16393 KiB/s main debug: using stream_filter module "cache_read" main debug: looking for stream_filter module matching "any": 26 candidates lua debug: Trying Lua scripts in /Users/cartoons2/Library/Application Support/org.videolan.vlc/lua/playlist lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/lua/playlist lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/share/lua/playlist lua debug: skipping script (unmatched scope) /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/01_googleimage.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/anevia_streams.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/02_frenchtv.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/anevia_xml.luac lua debug: skipping script (unmatched scope) /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/02_frenchtv.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/03_lastfm.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/appletrailers.luac lua debug: skipping script (unmatched scope) /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/03_lastfm.luac main debug: no art finder modules matched lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/bbc_co_uk.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/cue.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/dailymotion.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/jamendo.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/koreus.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/liveleak.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/newgrounds.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/rockbox_fm_presets.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/soundcloud.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/twitch.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/vimeo.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/vocaroo.luac lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/youtube.luac main debug: no stream_filter modules matched main debug: looking for stream_directory module matching "any": 1 candidates main debug: no stream_directory modules matched main debug: attachment of directory-extractor failed for file:///Users/cartoons2/Desktop/Stutter%20Test%20480p%202997.mp4 main debug: looking for stream_filter module matching "record": 26 candidates main debug: using stream_filter module "record" main debug: creating demux: access='file' demux='any' location='/Users/cartoons2/Desktop/Stutter%20Test%20480p%202997.mp4' file='/Users/cartoons2/Desktop/Stutter Test 480p 2997.mp4' main debug: looking for demux module matching "mp4": 55 candidates mp4 warning: unknown box type chrm (incompletely loaded) mp4 warning: unknown box type titl (incompletely loaded) mp4 debug: dumping root Box "root" mp4 debug: | + ftyp size 28 offset 0 mp4 debug: | + moov size 36034 offset 28 mp4 debug: | | + mvhd size 108 offset 36 mp4 debug: | | + trak size 20388 offset 144 mp4 debug: | | | + tkhd size 92 offset 152 mp4 debug: | | | + edts size 36 offset 244 mp4 debug: | | | | + elst size 28 offset 252 mp4 debug: | | | + mdia size 20252 offset 280 mp4 debug: | | | | + mdhd size 32 offset 288 mp4 debug: | | | | + hdlr size 49 offset 320 mp4 debug: | | | | + minf size 20163 offset 369 mp4 debug: | | | | | + smhd size 16 offset 377 mp4 debug: | | | | | + dinf size 36 offset 393 mp4 debug: | | | | | | + dref size 28 offset 401 mp4 debug: | | | | | | | + url size 12 offset 417 mp4 debug: | | | | | + stbl size 20103 offset 429 mp4 debug: | | | | | | + stsd size 103 offset 437 mp4 debug: | | | | | | | + mp4a size 87 offset 453 mp4 debug: | | | | | | | | + esds size 51 offset 489 mp4 debug: | | | | | | + stts size 24 offset 540 mp4 debug: | | | | | | + stsc size 2056 offset 564 mp4 debug: | | | | | | + stsz size 17168 offset 2620 mp4 debug: | | | | | | + stco size 744 offset 19788 mp4 debug: | | + trak size 15485 offset 20532 mp4 debug: | | | + tkhd size 92 offset 20540 mp4 debug: | | | + edts size 36 offset 20632 mp4 debug: | | | | + elst size 28 offset 20640 mp4 debug: | | | + mdia size 15349 offset 20668 mp4 debug: | | | | + mdhd size 32 offset 20676 mp4 debug: | | | | + hdlr size 49 offset 20708 mp4 debug: | | | | + minf size 15260 offset 20757 mp4 debug: | | | | | + vmhd size 20 offset 20765 mp4 debug: | | | | | + dinf size 36 offset 20785 mp4 debug: | | | | | | + dref size 28 offset 20793 mp4 debug: | | | | | | | + url size 12 offset 20809 mp4 debug: | | | | | + stbl size 15196 offset 20821 mp4 debug: | | | | | | + stsd size 201 offset 20829 mp4 debug: | | | | | | | + avc1 size 185 offset 20845 mp4 debug: | | | | | | | | + avcC size 44 offset 20931 mp4 debug: | | | | | | | | + colr size 19 offset 20975 mp4 debug: | | | | | | | | + fiel size 10 offset 20994 mp4 debug: | | | | | | | | + chrm size 10 offset 21004 (????) mp4 debug: | | | | | | | | + pasp size 16 offset 21014 mp4 debug: | | | | | | + stts size 24 offset 21030 mp4 debug: | | | | | | + stss size 396 offset 21054 mp4 debug: | | | | | | + sdtp size 2751 offset 21450 mp4 debug: | | | | | | + stsc size 100 offset 24201 mp4 debug: | | | | | | + stsz size 10976 offset 24301 mp4 debug: | | | | | | + stco size 740 offset 35277 mp4 debug: | | + udta size 45 offset 36017 mp4 debug: | | | + titl size 37 offset 36025 (????) mp4 debug: | + wide size 8 offset 36062 mp4 debug: | + mdat size 55201612 offset 36070 mp4 debug: unrecognized major media specification (mp42). mp4 debug: found 2 tracks mp4 warning: elst box found mp4 debug: - [0] duration=91391ms media time=0ms) rate=1.0 mp4 debug: track[Id 0x1] read 182 chunk mp4 warning: STTS table of 1 entries mp4 debug: track[Id 0x1] read 4287 samples length:91s main debug: selecting program id=0 mp4 debug: adding track[Id 0x1] audio (enable) language eng mp4 warning: elst box found mp4 debug: - [0] duration=91391ms media time=0ms) rate=1.0 mp4 debug: track[Id 0x2] read 181 chunk mp4 warning: STTS table of 1 entries mp4 debug: track[Id 0x2] read 2739 samples length:91s mp4 debug: adding track[Id 0x2] video (enable) language undef main debug: using demux module "mp4" main debug: looking for a subtitle file in /Users/cartoons2/Desktop/ main debug: looking for audio decoder module matching "any": 21 candidates main debug: using audio decoder module "faad" main debug: looking for video decoder module matching "any": 14 candidates videotoolbox debug: new SPS parsed: 0 videotoolbox debug: new PPS parsed: 0 videotoolbox warning: forcing CVPX format: 420v videotoolbox info: Using Video Toolbox to decode 'h264' main debug: using video decoder module "videotoolbox" main debug: looking for meta reader module matching "any": 2 candidates lua debug: Trying Lua scripts in /Users/cartoons2/Library/Application Support/org.videolan.vlc/lua/meta/reader lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/lua/meta/reader lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/share/lua/meta/reader lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/meta/reader/filename.luac main debug: no meta reader modules matched main debug: `file:///Users/cartoons2/Desktop/Stutter%20Test%20480p%202997.mp4' successfully opened mp4 debug: elst (0) gives 0ms (movie)-> 0ms (track) mp4 debug: elst (0) gives 0ms (movie)-> 0ms (track) mp4 debug: track[Id 0x2] using Sync Sample Box (stss) mp4 debug: stss gives 0 --> 0 (sample number) main debug: Buffering 0% faad warning: decoded zero sample videotoolbox warning: Interlaced content: forcing VT to output I420 videotoolbox warning: restarting vt session (color changed) main debug: reusing audio output main debug: VLC is looking for: 'f32l' 48000 Hz Stereo frame=1 samples/8 bytes auhal debug: attempting to use device 0 auhal debug: using default audio device 46 main debug: Buffering 25% main debug: Buffering 50% videotoolbox warning: forcing CVPX format: y420 main debug: Buffering 75% macosx debug: Continue to use IOKit assertion NoDisplaySleepAssertion (33031) main debug: Buffering 100% auhal debug: output layout of AUHAL is Stereo auhal debug: selected 2 physical channels for device output auhal debug: VLC will output: Stereo main debug: Stream buffering done (1250 ms in 4 ms) auhal debug: Current AU format: [48000.000000][mcpl][9][8][1][8][2][32] auhal debug: Current device has a latency of 104 us auhal debug: analog output successfully opened main debug: output 'f32l' 48000 Hz Stereo frame=1 samples/8 bytes main debug: looking for audio volume module matching "any": 2 candidates main debug: using audio volume module "float_mixer" main debug: input 'f32l' 48000 Hz Stereo frame=1 samples/8 bytes main debug: looking for audio filter module matching "scaletempo": 16 candidates scaletempo debug: format: 48000 rate, 2 nch, 4 bps, fl32 scaletempo debug: params: 30 stride, 0.200 overlap, 14 search scaletempo debug: 1.000 scale, 1440.000 stride_in, 1440 stride_out, 1152 standing, 288 overlap, 672 search, 2400 queue, fl32 mode main debug: using audio filter module "scaletempo" main debug: conversion: 'f32l'->'f32l' 48000 Hz->48000 Hz Stereo->Stereo main debug: conversion pipeline complete main debug: conversion: 'f32l'->'f32l' 48000 Hz->48000 Hz Stereo->Stereo main debug: conversion pipeline complete main debug: looking for audio resampler module matching "any": 3 candidates main debug: using audio resampler module "samplerate" videotoolbox info: vt cvpx chroma: y420 main debug: trying to reuse free vout main debug: removing module "freetype" main debug: looking for text renderer module matching "any": 3 candidates main debug: using text renderer module "freetype" main debug: reusing provided vout main debug: removing module "chain" main debug: removing module "cvpx" main debug: Filter 0x7f98e9630f00 removed from chain main debug: removing module "deinterlace" main debug: Filter 0x7f98e962ae40 removed from chain main debug: Filter 0x7f98e961d990 removed from chain main debug: Adding 'deinterlace' as static main debug: looking for video filter module matching "deinterlace,chain": 50 candidates deinterlace debug: unsupported chroma CVPI chain debug: Trying to use chroma I420 as middle man main debug: looking for video converter module matching "any": 22 candidates main debug: using video converter module "cvpx" main debug: Filter 'cvpx' (0x7f98e964d910) appended to chain main debug: looking for video filter module matching "deinterlace,chain": 50 candidates deinterlace debug: using x deinterlace method deinterlace debug: deinterlacing main debug: using video filter module "deinterlace" main debug: Filter 'deinterlace' (0x7f98e962d9a0) appended to chain main debug: using video filter module "chain" main debug: Filter 'deinterlace' (0x7f98e961d990) appended to chain main debug: removing module "cvpx" main debug: Filter 0x7f98e961e9b0 removed from chain main debug: Adding a filter to compensate for format changes main debug: looking for video converter module matching "any": 22 candidates main debug: using video converter module "cvpx" main debug: Filter 'cvpx' (0x7f98e961e010) appended to chain main debug: Received first picture main debug: Decoder wait done in 32 ms main debug: inserting 958 zeroes auhal warning: underrun of 8192 bytes main debug: EOF reached main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: killing decoder fourcc `mp4a' main debug: removing module "faad" main debug: removing module "samplerate" main debug: removing module "scaletempo" auhal debug: Stopping the auhal module main debug: removing module "float_mixer" main debug: keeping audio output main debug: killing decoder fourcc `h264' main debug: removing module "videotoolbox" main debug: saving a free vout main debug: reusing provided vout main debug: removing module "mp4" mp4 debug: freeing all memory main debug: Program doesn't contain anymore ES main debug: removing module "record" main debug: removing module "cache_read" main debug: removing module "filesystem" main debug: dead input main debug: changing item without a request (current 0/1) main debug: nothing to play main debug: destroying useless vout main debug: removing module "macosx" main debug: removing module "glconv_cvpx" main debug: removing module "cvpx" main debug: Filter 0x7f98e961e010 removed from chain main debug: removing module "chain" main debug: removing module "cvpx" main debug: Filter 0x7f98e964d910 removed from chain main debug: removing module "deinterlace" main debug: Filter 0x7f98e962d9a0 removed from chain main debug: Filter 0x7f98e961d990 removed from chain main debug: removing module "freetype" main debug: removing module "yuvp" main debug: removing module "swscale" macosx debug: toggle playlist from state: removed splitview 0, minimized view 0. Event 2 macosx debug: toggle playlist to state: removed splitview 0, minimized view 0 macosx debug: Playback has been ended macosx debug: Releasing IOKit monitor sleep blocker (33031)
VLC 3.0.4
MacOS 10.13.6

snix
Cone that earned his stripes
Cone that earned his stripes
Posts: 103
Joined: 20 Aug 2006 02:53

Re: VLC smoother playback

Postby snix » 23 Jul 2018 20:03

quicktime x likely utilizes frameworks or private APIs to access the gpu hardware directly. if the stuttering is happening with other media players, then it's probably not an issue specific to vlc. the fact that it happens every 15 seconds also seems like it's a system issue, not vlc.

i'm still curious to see what this stuttering looks like though. instead of recording with screen capture tool, could you maybe record the monitor using an iphone or video camera pointed at the screen and recording at 60fps.

also might help to post more details regarding your video file (bitrate, codecs, etc.)

i use a 2011 mac mini with intel hd 3000 with 60Hz monitor and have no issues playing back 1080p h264/hevc with hardware acceleration setting disabled. currently using this nightly version:
https://nightlies.videolan.org/build/ma ... 8-0711.dmg
VLC 3.0.11 / Mac OS X 10.13.6 / Intel Core i7 HD3000

Lornadoo
Blank Cone
Blank Cone
Posts: 52
Joined: 13 Oct 2016 21:27
VLC version: 3.0.11.1
Operating System: Mac OS 10.14.6

Re: VLC smoother playback

Postby Lornadoo » 29 Jul 2018 15:12

I’ve uploaded a few files to dropbox to help provide evidence of the stuttering I am seeing, with hopes that you can see it too, so that we can all agree that the issue exists and we can move forward with a fix action.

The files contain a short clip (02:38) of a documentary on early 1930’s animation history. I know it may not be the most exciting subject matter to watch, but I chose it because it contains a lot of panning scenes and Ken Burns effects, which provide a more effective way to positively identify the visual anomaly that I am seeing.

There are two source files of the same content. One is produced in it’s native 480p 29.97 fps, and the other is produced at 720p 60fps. See Dropbox files “Stutter Test 480p 2997” and “Stutter Test 720p 60” here:
https://www.dropbox.com/s/y42ldoabyxh1c ... 7.mp4?dl=0
https://www.dropbox.com/s/7jjd0u1ly3ybo ... p.mp4?dl=0

I used Quicktime Player X’s Screen Recording feature to record the playback of the 29.97 fps file in separate VLC and Quicktime X windows for side-by-side comparison. There is no audio during playback of the recording as it is only a video capture of the screen. Also visible on the MacOS desktop are two text documents; one containing my system specs, and another containing a list of predicted instances of the stuttering based on 16-second intervals. With the help of a timer in the upper right of the menu bar, I started the clock from the first instance of the stutter as seen in VLC’s window. After 16 seconds, another occurrence of stutter is observed, and this phenomena repeats every 16 seconds until the end of the video. You can follow along with the text document in the lower right of the desktop in the screen capture to see when the stuttering is predicted to occur, and you can compare that to the actual stutter you see during that timeframe. I tried to highlight the times in the text document as they coincided with the timer and the stutter. Comparatively, there is no stutter in Quicktime X’s window. Playback with Quicktime Player X is completely smooth from start to finish. See Dropbox file "Comparison Stutter Test 480p 2997 1” here:
https://www.dropbox.com/s/9zw7g5fhdtlgr ... 1.mov?dl=0

I repeated this same exact experiment two more times so as to show that the stutter happens in VLC once every 16 seconds no matter when the video is started. In other words, the stutter is observed at different parts of the same video window no matter how many times the file is played, and therefore proves that there is no defect with the source video file itself (there are no missing frames). See Dropbox files “Comparison Stutter Test 480p 2997 2” and “Comparison Stutter Test 480p 2997 3” here:
https://www.dropbox.com/s/k0z5nz76l1f92 ... 2.mov?dl=0
https://www.dropbox.com/s/gxaugpp31vh0q ... 3.mov?dl=0

Lastly, I recorded the screen again as above, but this time using the 720p 60fps source file. The file played back completely smooth in both VLC and Quicktime Player X. See Dropbox file “Comparison Stutter Test 720p 60” here:
https://www.dropbox.com/s/kx66jhv8l6w9g ... 0.mov?dl=0

Conclusion: VLC playback produces stutter on final video output unless the source video fps matches the display refresh rate. VLC should have the inherent ability to playback industry standard video frame rates without causing stutter or other artifacts as a basic feature of any modern day media player.

Keatah
Blank Cone
Blank Cone
Posts: 20
Joined: 06 Jun 2015 06:12

Re: VLC smoother playback

Postby Keatah » 27 Apr 2020 11:14

Has there been any update or solution to this?

---

edit: V1.0.0 does not have this problem, all version thereafter do.


Return to “VLC media player for macOS Troubleshooting”

Who is online

Users browsing this forum: No registered users and 22 guests