HLS stream does not play until the end on IOS devices
See original GitHub issueCurrent Behavior
HLS stream does not play until the end on IOS devices.
Expected Behavior
HLS stream should play all chunks until the end. Expected react-player to reach the played
property with a value of 1
.
Steps to Reproduce
Given you are using an IOS device:
- Go to the demo page: https://cookpete.com/react-player/
- Load the HLS (m3u8) sample file
- Hit the play button and let it play until react-player stops playing
Environment
- URL attempting to play: https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8
- Browser: Both Chrome and Safari for IOS, updated to latest stable
- Device/Operating system: IPhone XS Max (software 13.3.1)
Issue Analytics
- State:
- Created 3 years ago
- Reactions:2
- Comments:5 (2 by maintainers)
Top Results From Across the Web
HLS stream does not play until the end on IOS devices #871
Current Behavior HLS stream does not play until the end on IOS devices. Expected Behavior HLS stream should play all chunks until the...
Read more >Playback Not Working on iOS 14 Beta Version
Hello, We are testing HLS playback on the native player (safari) using the iOS 14 Beta release and the playback fails 100% of...
Read more >Troubleshoot Apple HLS playback
Troubleshooting guide to streaming from Wowza Streaming Engine to iOS and other devices using Apple HLS.
Read more >Azure Media Service HLS stream plays on laptop/desktop ...
It is working on a desktop/laptop browser, but not on iOS or Android in Chrome. The player loads, but the video itself does...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
This looks like a problem with the browsers in iOS, not ReactPlayer.
I can visit https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8 directly in iOS Chrome and I get the same problem.
This person has the same problem in a native iOS app: https://stackoverflow.com/questions/20077118/http-streaming-video-playbackdidfinish-not-called
Could you use
onProgress
and checkplayedSeconds
against theduration
to call a function when the stream has almost finished?I wouldn’t want to include a fix like that in ReactPlayer. It feels very hacky, and we’d be cutting off the last second or so from any HLS stream, even if the device doesn’t have the problem.