Page 1 of 1
VLC smoother playback
Posted: 10 Jul 2018 04:38
by Lornadoo
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.
Re: VLC smoother playback
Posted: 15 Jul 2018 16:28
by Lornadoo
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?
Re: VLC smoother playback
Posted: 16 Jul 2018 11:27
by Lornadoo
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.
Re: VLC smoother playback
Posted: 22 Jul 2018 00:58
by Lornadoo
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!
Re: VLC smoother playback
Posted: 22 Jul 2018 21:59
by snix
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.
Re: VLC smoother playback
Posted: 23 Jul 2018 01:22
by Lornadoo
"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.
Re: VLC smoother playback
Posted: 23 Jul 2018 11:43
by Jean-Baptiste Kempf
Please share your logs.
Re: VLC smoother playback
Posted: 23 Jul 2018 13:57
by Lornadoo
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
Re: VLC smoother playback
Posted: 23 Jul 2018 20:03
by snix
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
Re: VLC smoother playback
Posted: 29 Jul 2018 15:12
by Lornadoo
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.
Re: VLC smoother playback
Posted: 27 Apr 2020 11:14
by Keatah
Has there been any update or solution to this?
---
edit: V1.0.0 does not have this problem, all version thereafter do.