Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Fails to parse matroska file with projection metadata #932

Closed
wader opened this issue Apr 16, 2021 · 3 comments · Fixed by #942
Closed

Fails to parse matroska file with projection metadata #932

wader opened this issue Apr 16, 2021 · 3 comments · Fixed by #942
Labels
flag: seeking PR We are actively seeking PRs for this; we do not currently expect the core team will resolve this status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@wader
Copy link
Contributor

wader commented Apr 16, 2021

System info

Operating System: Alpine linux 3.12.1
Shaka Packager Version: 2.4.3 (5bf8ad5-release)

Issue and steps to reproduce the problem

Packager Command:

Matroska file with projection metadata:

$ packager 'input=test_projection.mkv,stream=video,format=webm,init_segment=init.webm,segment_template=$Number$.webm'
[0416/114025:INFO:demuxer.cc(88)] Demuxer::Run() on file 'test_projection.mkv'.
[0416/114025:INFO:demuxer.cc(160)] Initialize Demuxer for file 'test_projection.mkv'.
[0416/114025:ERROR:packager_main.cc(523)] Packaging Error: 8 (PARSER_FAILURE): Cannot parse media file test_projection.mkv

Matroska file without projection metadata:

$ packager 'input=test_no_projection.mkv,stream=video,format=webm,init_segment=init.webm,segment_template=$Number$.webm'
[0416/114136:INFO:demuxer.cc(88)] Demuxer::Run() on file 'test_no_projection.mkv'.
[0416/114136:INFO:demuxer.cc(160)] Initialize Demuxer for file 'test_no_projection.mkv'.
[0416/114136:WARNING:vp_codec_configuration_record.cc(45)] VPx video full range flag is inconsistent, 1 vs 0
[0416/114136:INFO:webm_muxer.cc(57)] WEBM file 'init.webm' finalized.
Packaging completed successfully.

What is the expected result?

Clearer error messge? Maybe possibility to filter out/ignore projection metadata? Maybe automatically ignore if projection metdata is a "identity" projection. In the original file with this metadata the video is just a flat video not meant to be projected on a non-flat surface which makes me think that StereoMode: top - bottom (left eye is first) and
ProjectionType: equirectangular means identify projection and could probably be ignored, but i'm not 3d video expert.

What happens instead?

[0416/114025:ERROR:packager_main.cc(523)] Packaging Error: 8 (PARSER_FAILURE): Cannot parse media file test_projection.mkv

The parse error i suspect is due to that matroska EBML tags Projection/ProjectionType and StereoMode are not defined in https://github.com/google/shaka-packager/blob/master/packager/media/formats/webm/webm_parser.cc

test_no_projection.mkv.zip
test_projection.mkv.zip

@kqyang
Copy link
Contributor

kqyang commented Apr 16, 2021

Yes, you are right. @wader Will you be interested in helping us adding support for it? Alternatively, we can ignore all the unknown tags.

@kqyang kqyang added type: bug Something isn't working correctly flag: seeking PR We are actively seeking PRs for this; we do not currently expect the core team will resolve this and removed needs triage labels Apr 16, 2021
@shaka-bot shaka-bot added this to the v2.5 milestone Apr 16, 2021
@wader
Copy link
Contributor Author

wader commented Apr 16, 2021

Im interested, do you have any ideas how it could work? Im thinking something like this: If there is projection metadata automatically ignore "identity" projections if it is possible detect. Otherwise fail with error unless some explicit argument to ignore has been given?

Another option i think is to just make the error message clearer and not support it. Then it would at least make it clear to a user what they needs to filter out.

@kqyang
Copy link
Contributor

kqyang commented May 6, 2021

@wader Thanks for your interest in helping us!

Your proposal SGTM.

wader added a commit to wader/shaka-packager that referenced this issue May 6, 2021
Warn instead of fail parsing

Fixes shaka-project#932
wader added a commit to wader/shaka-packager that referenced this issue May 7, 2021
Warn instead of fail parsing

Fixes shaka-project#932
kqyang pushed a commit that referenced this issue May 7, 2021
Warn instead of fail parsing.

Closes #932.
nvincen pushed a commit to nvincen/shaka-packager that referenced this issue Jun 8, 2021
Warn instead of fail parsing.

Closes shaka-project#932.
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Jul 6, 2021
@shaka-project shaka-project locked and limited conversation to collaborators Jul 6, 2021
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
flag: seeking PR We are actively seeking PRs for this; we do not currently expect the core team will resolve this status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants