0.12.2
Safari 12.0.2 – macOS High Sierra 10.13.6
Play video, initial first seconds will stutter. When playing video on vimeo.com there are no stutters (https://vimeo.com/313759552)
No stutters
Video stutters
### Console output
-
@michaelcunningham19 Can you see the stutter? I wasn't able to repro myself.
@itsjamie Yup, I was able to reproduce the stuttering in Safari (12.0)
Turning on Media Logging in Safari (verbose mode) revealed nothing of interest.
Maybe Media Lighthouse will reveal something
Play video, initial first seconds will stutter. When playing video on vimeo.com there are no stutters (https://vimeo.com/313759552)
@intelligence After looking at that, it appears vimeo.com is referencing a different stream entirely. On vimeo.com it's referencing a stream with fmp4 segments (with what looks like a custom JSON manifest)

☝️ Neat
Ah! Didn't even cross me that they'd use something else for their own player.
I'm getting some more reports from testing that the stutter is present on other videos as well. Is this a hls.js issue or something in the way that Vimeo transcode and serve these videos?
Sent an issue report to Vimeo regarding this issue and got this back:
After taking an extensive look at this, it appears that the stuttering is coming from the hls.js implementation in Safari. Here is why:
Playing the hls manifest in Safari using the native player does not result in any stuttering.
Playing the video at https://vimeo.com/313759552 on an iPhone which uses the m3u8 not the json manifest, resulted in no playback stuttering.
Playing the hls manifest in VLC results in no playback trouble.
The only environment where this issue occurs is in hls.js, which is why this is not a error on our side.
Also, in regards to the video-dev comments on GitHub, we server the json manifest on the site and anywhere we can. Users have the ability to serve m3u8 and we serve it over to any device that can handle MPEG-DASH. So there answers/comments don't really pertain to your issue.
@intelligence 👍
Also, in regards to the video-dev comments on GitHub, we server the json manifest on the site and anywhere we can. Users have the ability to serve m3u8 and we serve it over to any device that can handle MPEG-DASH. So there answers/comments don't really pertain to your issue.
Yeah - I was simply calling out that there was a difference, that's all.
I'll take a closer look at this when time allows 😄 The next step would be to try running it through media lighthouse
Hello again!
Is there some sort of help I can provide to help solve this issue? Let me know and I'll look into it.
I can repo on 0.12.4 but not v0.11.x
Thanks for the test stream @gkindel. Unfortunately I don't see anything obvious in the logs, and it's still an issue in the 1.0.0 test branch. The next steps are to dump the stream into ffprobe and analyze the timings. It works in Chrome which leads me to believe that we have some safari-specific logic that is not working correctly.
anyone looking into this issue ? I was able to reproduce this issue and fix it by reducing the liveSyncDuration as close to your chunk duration * 3 as possible, but reducing this causes playback getting stucks on microsoft edge, I'm experimenting with the different config that works with both safari and edge, but at the same time. not break other browsers that are currently working
See #2902
With e07232f4a02f2fc1b7022121e4921b7fc7b18950, I don't see any stuttering in that build, but there is some glitching in the first second (https://deploy-preview-2902--hls-js-dev.netlify.app/demo/).
After removing changes to the composition time of frames 114e25d817368f85607aed714eac50cef4f0c052, the glitch is gone, but when starting playback from 0, the video briefly flashes transparent. This is reproducible on Vimeo if you seek back to 0 and play. It's not happening or not noticeable when starting playback from the poster fading to video (https://deploy-preview-2902--hls-js-dev.netlify.app/demo/).
Latest build with fix https://deploy-preview-2902--hls-js-dev.netlify.app/demo/
Awesome!