Dash-Industry-Forum / DASH-IF-Conformance

This repository provides the source code for MPEG-DASH/DASH-IF Conformance Software/Validator. It has been extended according to further standards, such as CMAF, DVB-DASH, HbbTV, and CTA WAVE.
https://conformance.dashif.org/
Other
66 stars 27 forks source link

Audio AAC_LC gives "nonvalid level information found" but it's a normal ffmpeg encoding. #662

Closed Murmur closed 10 months ago

Murmur commented 1 year ago

https://staging.conformance.dashif.org/ Manifest capped to 24s as the original takes too much time to run. https://refapp.hbbtv.org/videos/00_llama_h264_v8/manifest_1080p_24s.mpd https://refapp.hbbtv.org/videos/00_llama_h264_v8/manifest_1080p.mpd

Is this a false positive? See ffmpeg arguments.

ffmpeg -i input.mp4 -threads 4 -c:a aac -b:a 128k -maxrate:a 128k -bufsize:a 128k -af aresample=48000 -ar 48000 -ac 2 -movflags empty_moov+negative_cts_offsets+faststart -vn -sn -metadata:s:a:0 language=eng -y temp-a2.mp4

Section 10.4: Each AAC elementary stream SHALL be encoded using MPEG-4 AAC LC, HE-AAC Level 2, or HE-AACv2 Level 2, module CMAF

✓ Valid profile found
✗ Nonvalid level information found
✓ Valid profile found
✗ Nonvalid level information found

https://github.com/Dash-Industry-Forum/DASH-IF-Conformance/blob/2ab53f79e410c2b22dd2bf61ebe6e86336cdeef4/CMAF/impl/getAudioTrackMediaProfile.php#L5

dsilhavy commented 1 year ago

The level information is in fact missing in the output of the ISO Segment Validator that is why the test is failing. However, I dont see this information for other content I tested either. We need to find an asset for which this information is present and then compare it to the other ones.

For now I suggest to show a different error message if the level information is missing something like No level information found by the ISO Segment Validator

dsilhavy commented 10 months ago

The test suite was using a wrong global variable, leading to the error of wrong level information. Originally, the test was implemented to check for empty level strings in which it also counts as a success. This was addressed in #685 and is available on https://staging.conformance.dashif.org/

Murmur commented 10 months ago

Confirmed it works. Section 10.4: Each AAC elementary stream SHALL be encoded using MPEG-4 AAC LC, HE-AAC Level 2, or HE-AACv2 Level 2 | ✓ Valid profile found, ✓ Valid level information found, ✓ Valid profile found, ✓ Valid level information found

Test manifest manually capped to 24s as the original takes too much time to run. https://refapp.hbbtv.org/videos/00_llama_h264_v8/manifest_1080p_24s.mpd https://refapp.hbbtv.org/videos/00_llama_h264_v8/manifest_1080p.mpd

dsilhavy commented 10 months ago

Thanks for checking, closing this issue then.