Skip to content
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 load the whole mpeg dash webm file #2298

Closed
KhodyrevDS opened this issue Nov 20, 2017 · 3 comments
Closed

Player load the whole mpeg dash webm file #2298

KhodyrevDS opened this issue Nov 20, 2017 · 3 comments

Comments

@KhodyrevDS
Copy link

KhodyrevDS commented Nov 20, 2017

I'm trying to play mpeg dash webm file https://dev2-portal.videonotion.com/web/guest/preview?v=5757f876-c575-4969-a37d-450d7c65d015
After start playing the whole video downloading (For example, I see in the response Content-Range:bytes 433-9781613/9781614). It's too much (about 9 mb) so it's loading too long.

How I can affect to this?

Video encoded by ffmpeg with this instruction http://wiki.webmproject.org/adaptive-streaming/instructions-to-playback-adaptive-webm-using-dash

@KhodyrevDS
Copy link
Author

KhodyrevDS commented Nov 23, 2017

Checked with shaka player, it is playing fine.

ffmpeg command

ffmpeg -i in.mp4 -c:v libvpx -threads 4 -vf setdar=dar=0,setsar=sar=0,scale=trunc(oh*a/2)*2:1080 -b:v 524288 -minrate, 524288 -maxrate 524288 -bufsize 1835k -an -pix_fmt, yuv420p
 -movflags faststart -keyint_min 96 -g 96 -frame-parallel 1 -f webm -dash 1 -strict -2 out.webm -y

@davemevans
Copy link
Contributor

The problem is that the EBML parser in general, and - importantly here - the cue parser is very strict and not at all permissive.

FFMPEG is including CueRelativePosition elements in the CueTrackPosition elements, and the strict parser doesn't expect these so fails, returning a single cue which is deemed to cover the entire presentation.

Matroska marks CueRelativePosition as not valid in webm [1], and mkvalidator agrees, but the webm spec implies they are ok [2], so the parser probably should handle them (and other unknown tags).

I've made a patch that makes the parser more permissive in cue parsing, and the content referenced above now loads correctly. @KhodyrevDS can you test davemevans@340e082?

I also tested the webm streams in #1732 (comment) and they continue to play as expected.

[1] https://www.matroska.org/technical/specs/index.html
[2] https://www.webmproject.org/docs/container/#CueRelativePosition

@KhodyrevDS
Copy link
Author

It's working greate

epiclabsDASH added a commit that referenced this issue Nov 27, 2017
Fix #2298 - be more permissive in webm parsing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants