New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Choppy HLS MPEG-2 TS VOD playback with some gap jumping #4975
Comments
As with #4516, I'm able to bisect it to this commit: 58182605. It seems easiest to reproduce with the Apple Advanced TLS Stream (TS) demo, but the Art of Motion demo also sometimes has the same issue. |
I tried to reproduce, and dug into the content a bit since we've also had some unrelated issues with MPEG2TS. I can only reproduce the frame freeze with audio only on the second play in Chrome, when the Shaka instance is re-used. The first play works as expected. In Firefox it works as expected every time. The manifest has several MUST FIX issues when passed through the Apple HLS validator. Regarding the gap jumping, running Video:#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:4
#EXTINF:4.0
../video/1080_4800000/hls/segment_0.ts
#EXTINF:4.0
../video/1080_4800000/hls/segment_1.ts
#EXTINF:4.0
../video/1080_4800000/hls/segment_2.ts
#EXTINF:4.0
../video/1080_4800000/hls/segment_3.ts
# ... ffprobe [h264 @ 0x558709c6bec0] missing picture in access unit with size 8
Input #0, mpegts, from 'segment_3.ts':
Duration: 00:00:04.00, start: 12.080000, bitrate: 5617 kb/s
Program 1
Stream #0:0[0x102]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn TARGETDURATION, EXTINF, and true duration all line up. Audio:
ffprobe Input #0, mpegts, from 'segment_3 (1).ts':
Duration: 00:00:03.97, start: 11.904000, bitrate: 174 kb/s
Program 1
Stream #0:0[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 128 kb/s TARGETDURATION, EXTINF, and true duration don't quite line up. The
I'm not very knowledgeable about the Shaka internals, but I would guess this is what creates multiple buffer ranges on the video element, which in turn causes the gap jumping, and the A/V sync being off. |
…eam (#5079) The VTT cue timing fix in #4217 seems to have caused a regression for videos without VTT streams, where the first segment would sometimes not play smoothly. It also appears to fix the gap jumping seen in the "Art of Motion (HLS, TS)" demo. This was partially fixed for fMP4 in #4553 but didn't fix the issue for MPEG-2 TS. Fixes #4975.
Have you read the FAQ and checked for duplicate open issues?
Yes, this issue is similar to #4516 but seems to be happening for MPEG-2 TS.
What version of Shaka Player are you using?
4.3.4
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from
main
?Haven't tried yet, but it happens in the live demo app
Are you using the demo app or your own custom app?
Custom
If custom app, can you reproduce the issue using our demo app?
Yes
What browser and OS are you using?
Latest Chrome, macOS 12.4
What are the manifest and license server URIs?
Try demo app here.
What configuration are you using? What is the output of
player.getConfiguration()
?Demo site default config
What did you do?
Playing an HLS MPEG-2 TS video has a choppy start, where the first segment seems to not play any video, but still plays audio. Subsequent segments play fine. It sounds a lot like what #4516 mentions.
I'm also seeing some gap jumping, where playback jumps a bit between contiguous segments. In the demo app I linked, I consistently see this output on a fresh page load:
What did you expect to happen?
Smooth playback from the start of the video and no gap jumping.
The text was updated successfully, but these errors were encountered: