-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Player stops working when seeking with HTML5 controls. js html5 api seeking works (Win10/Edge) #951
Comments
@mchanton, we can't reproduce your issue from the MPD in your gist without also having access to the segments. Can you post them somewhere for us to try? |
Here's a 2 minute test clip with segments and mpd: Created with this ffmpeg call:
|
With the content you sent via drive, I am unable to reproduce on Edge 15. Here's a demo: What Edge version do you have? (Check |
Thanks for checking my video! I tested your demo page on Edge and it worked for me as well. Then I used the dom inspector of Edge and realized that that Demo page isn't using the html5 native video controls, it uses own controls inside the dom. This means the video is getting seeked with the javascript api and not the native controls. My error only happens with native controls. Seeking with the javascript api works for me too. Is using own custom video controls (seekbar, play button etc.) the way to go? |
We intend to support the native controls, as well. You shouldn't always have to implement your own (although it does give you much more UI and UX freedom to do so). Let us try again with native controls. |
I can reproduce on Edge with native controls, and I'm well on the way to a fix. |
This makes it easier to test and reproduce issues with native controls. Issue #951 Change-Id: I77aa56e735ecfc934d4d79b35e0c1af727421406
This makes it easier to test and reproduce issues with native controls. Issue #951 Change-Id: I77aa56e735ecfc934d4d79b35e0c1af727421406
When the user seeks using Edge's native controls, Edge sets playbackRate to 0 first. This confused Playhead and resulted in a playbackRate stuck at 0 after the seek. To fix it, we filter out rate changes to 0 in the code that remembers the previous setting during a buffering event. Closes #951 Backported to v2.1.x Change-Id: Ia7a9a2a6d65dcf2d74ea6fb4d92594070a1ebe6a
The fix has been cherry-picked for v2.1.7. |
Thanks a lot for fixing it! |
Have you read the FAQ and checked for duplicate issues:
yes
What version of Shaka Player are you using:
2.1.5
Can you reproduce the issue with our latest release version:
yes
Can you reproduce the issue with the latest code from
master
:yes
Are you using the demo app or your own custom app:
custom app
If custom app, can you reproduce the issue using our demo app:
no
What browser and OS are you using:
Works: Windows 10 Chrome, Doesnt work: Windows 10 Edge
What are the manifest and license server URIs:
Manifest: https://gist.github.com/mchanton/af95d168a53daa749bcffe32bb564a6e
No license
What did you do?
Start playing the video, click into the timeline to seek to a different spot of the video.
What did you expect to happen?
The player to seek and continue play.
What actually happened?
The player seeked to the spot, the video changes to that frame, but doesnt continue playing. Also: player is frozen now, not possible to press play again. Console output ends with "calling switch_()" and then "switch_", just like if it would work. It also fires all the "timechanged" and "seek" events, just doesnt ever play again.
Seeking does work if I seek by using the html5 api. It also works if I press the "-30s" Button of the Edge HTML5 video controls. Seeking also works perfectly in Chrome and Firefox.
I encoded the video like this:
ffmpeg -i "$source_absolute" -c:v libx264 -preset ultrafast -tune fastdecode -g 100 -crf 28 -vsync passthrough -c:a aac -strict -2 output.mp4
And then created the dash files like this:
MP4Box -dash 4000 -frag 4000 -rap -bs-switching no -segment-name segment output.mp4
Does anyone have an Idea wat the Problem is?
edit:
Also, the video and audio data is muxed into one file.
If I put seperate segments for audio and video into the mpd file, it works perfectly with the dash-if dash.js.
The text was updated successfully, but these errors were encountered: