New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 782498 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

Fragmented AAC samples likely need to be re-encoded; they are triggering decode errors.

Project Member Reported by dalecur...@chromium.org, Nov 8 2017

Issue description

dalecurtis@xorax /d/code/chrome/src/media/test/data $ l *a_frag*
-rw-r----- 1 dalecurtis eng 73304 Jul 20  2015 bear-1280x720-a_frag-cenc_clear-all.mp4
-rw-r----- 1 dalecurtis eng 80032 Jul 20  2015 bear-1280x720-a_frag-cenc-key_rotation.mp4
-rw-r----- 1 dalecurtis eng  1251 Apr 15  2014 bear-1280x720-a_frag-cenc_missing-saiz-saio.mp4
-rw-r----- 1 dalecurtis eng 74428 Jul 20  2015 bear-1280x720-a_frag-cenc.mp4
-rw-r----- 1 dalecurtis eng 80372 Jul 20  2015 bear-640x360-a_frag-cenc-key_rotation.mp4
-rw-r----- 1 dalecurtis eng 74768 Jul 20  2015 bear-640x360-a_frag-cenc.mp4
-rw-r----- 1 dalecurtis eng 72611 Aug 10  2015 bear-640x360-a_frag.mp4

Filed https://trac.ffmpeg.org/ticket/6818 upstream, but not sure it's actually the reason decode is failing.

For now I've just changed the CDM audio decoder to ignore audio decode errors just like we do for the normal ffmpeg audio decoder.

This failure has been happening for a long time upstream (at least 5 rolls), so I haven't been able to bisect to anything specific.

Looks like ffmpeg can handle clear key + cenc encryption these days, so if we regenerate these files we should do so using ffmpeg and publish a script for doing so to make this easier in the future.
 
The decode error being:
[aac @ 0x7f68c8008a60] Multiple frames in a packet.
[aac @ 0x7f68c8008a60] channel element 0.0 is not allocated

Mozilla has some interesting data files here:
https://dxr.mozilla.org/mozilla-beta/source/dom/media/test
https://dxr.mozilla.org/mozilla-beta/source/dom/media/test/short-cenc.xml

Which might be useful in regenerating our own.
Cc: crouleau@chromium.org
Actually many of the bear files generate all sorts of errors these days. When we decide on new telemetry clips we should consider replacing all of our bear test media with more well-formed content.
Cc: kqyang@chromium.org
+kqyang

Then for this specific bug, shall we still use the bear video, or start to use a well-formed content?
We haven't identified new well formed content for testing, so probably just re-encoding/re-encrypting a version of the bear file is the right move for now.

Switching these out to a BBB trailer would probably be fine too. Up to y'all, I was going to try and sort out how to use ffmpeg for a clearkey version of bear today.

Comment 6 by kqyang@google.com, Nov 9 2017

You may use Shaka Packager to re-encrypt after re-encoding the files. I heard that there are problems with FFmpeg's clearkey support (I haven't had a time to confirm / investigate).

Since you'll probably want to have both Widevine PSSH and clear key PSSH in the encrypted file, you need to specify the concatenated PSSH in --pssh: https://cs.chromium.org/chromium/src/media/test/data/README?rcl=7e5fff5cb1b86c4c86fd3e788554254622edef1d&l=85
Blocking: -777555
Removing from blocking m64 ffmpeg roll, doesn't seem to be a problem.
Owner: ----
Status: Available (was: Assigned)

Sign in to add a comment