Navigation Menu

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

VP9 codec name in manifest #469

Closed
lpluto opened this issue Sep 10, 2018 · 8 comments
Closed

VP9 codec name in manifest #469

lpluto opened this issue Sep 10, 2018 · 8 comments
Assignees
Labels
status: archived Archived and locked; will not be updated status: bad content Caused by invalid, broken, or unsupported content type: enhancement New feature or request type: external An issue with an external dependency; not our issue; sometimes kept open for tracking
Milestone

Comments

@lpluto
Copy link

lpluto commented Sep 10, 2018

System info

Operating System: Ubuntu 16
Shaka Packager Version: v2.2.0

Issue and steps to reproduce the problem

I'm using MP4 with VP9 as source file to create a MPEG-DASH stream and in the manifest I have a codec name: "vp09.00.00.08.00.02.02.02.00", which seems not to be supported in players. When I change the codec name manually to "vp09.00.10.08" the stream plays in Shaka Player and Dashif players.

What is proper codec name for VP9?

KR,
Lukasz

@kqyang
Copy link
Collaborator

kqyang commented Sep 10, 2018

It does not play because level is set to 0, which is not a valid value.

It seems like a problem in your source stream. Can you share the source file and the packager command you used? You can email it to shaka-packager-issues@google.com if it cannot be shared publicly.

We'll look into workaround the problem in Shaka Packager when seeing invalid level values in the source file.

@kqyang kqyang added type: enhancement New feature or request status: waiting on response Waiting on a response from the reporter(s) of the issue status: bad content Caused by invalid, broken, or unsupported content and removed needs triage labels Sep 10, 2018
@kqyang kqyang added this to the v2.3 milestone Sep 10, 2018
@kqyang
Copy link
Collaborator

kqyang commented Sep 11, 2018

@lpluto Thanks for the content and FFmpeg information.

FFMpeg version: ffmpeg version 4.0.2
libvpx-vp9 version: 1.7.0
FFMpeg command: ffmpeg -i ~/Downloads/tears_of_steel_720p.mov -map 0 -map -0:d -c:v libvpx-vp9 -r 30 -g 60 -keyint_min 60 -profile 0 -level 2.1 -threads 8 -speed 2 -tile-columns 4 -pix_fmt yuv420p -vf scale=640:-2 -b:v 480k -minrate 480k -maxrate 480k -c:a aac -b:a 96k -ac 2 video_vp9.mp4

Unfortunately, FFmpeg does not fill in "level" in vp9 in ISO-BMFF on and before 4.0.2. It is fixed in FFmpeg/FFmpeg@5b6cc3a.

I'll prepare a workaround in packager code.

@kqyang kqyang self-assigned this Sep 11, 2018
@kqyang
Copy link
Collaborator

kqyang commented Sep 12, 2018

@lpluto Reply to your email to shaka-packager-issues@:

I used latest snapshot of FFMpeg (N-91876-g8822e2b) and I get codec name "vp09.00.33.08.00.02.02.02.00" now. Unfortunately, when I try to play this MPEG-DASH stream, Shaka Packager informs that is not supported by browser. But, source mp4 plays well in browser.

Thanks for trying out latest FFMpeg. Looks like there are still problems in latest FFmpeg in handling VP9 levels. "33" is not a valid level. I'll submit a fix to FFmpeg repository sometime this week.

The workaround in packager code is done and will be pushed soon.

@kqyang
Copy link
Collaborator

kqyang commented Sep 13, 2018

@lpluto The workaround in packager has been merged! Let us know how it goes.

@shaka-bot shaka-bot removed the status: waiting on response Waiting on a response from the reporter(s) of the issue label Sep 13, 2018
@lpluto
Copy link
Author

lpluto commented Sep 13, 2018

Thank you @kqyang I created a stream using Shaka Packager with workaround and it plays on Shaka Player.

Could you maybe let me know after you add a fix to FFMpeg?

@kqyang
Copy link
Collaborator

kqyang commented Sep 13, 2018

Sure, I will keep you posted.

@kqyang kqyang added the type: external An issue with an external dependency; not our issue; sometimes kept open for tracking label Sep 14, 2018
@kqyang
Copy link
Collaborator

kqyang commented Sep 15, 2018

@lpluto The FFMpeg bug has just been fixed today: FFmpeg/FFmpeg@63c69d5 (coincidentally, another developer found the bug and fixed it). It will be included in FFMpeg v4.1 release.

kqyang added a commit that referenced this issue Sep 17, 2018
The VP9 level is computed when the container is missing a codec config
or if the level is missing from the codec config.

This fixes VP9 in ISO-BMFF files generated by FFmpeg v4.0.2 or earlier
which does not have level set in the codec config.

Fixes #469.

Change-Id: I685bfd48be16ee6b2209da1c3173f7d6bb02b36a
@kqyang
Copy link
Collaborator

kqyang commented Sep 17, 2018

Cherry-picked to v2.2.1.

@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Nov 12, 2018
@shaka-project shaka-project locked and limited conversation to collaborators Nov 12, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated status: bad content Caused by invalid, broken, or unsupported content type: enhancement New feature or request type: external An issue with an external dependency; not our issue; sometimes kept open for tracking
Projects
None yet
Development

No branches or pull requests

3 participants