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

Mapping CFHD test stream IDs & mezzanine to test content #13

Closed
nicholas-fr opened this issue Dec 8, 2020 · 12 comments
Closed

Mapping CFHD test stream IDs & mezzanine to test content #13

nicholas-fr opened this issue Dec 8, 2020 · 12 comments

Comments

@nicholas-fr
Copy link
Collaborator

nicholas-fr commented Dec 8, 2020

Our expectation is that test content should be generated using the mezzanine file matching the resolution of the generated track.
This would ensure the video contains the appropriate label: a specific letter for each resolution, and a number to differentiate tracks part of a switching set that share the same resolution but have other differences such as bitrate or frame rate.

Please see this spreadsheet with an overview of the test streams, mapped to the different CFHD/AVC tests, as well as a README with the background.
Based on the tests, there are essentially 3 groups of test streams:

  • A set of streams that exercise all the different content options in as few streams as possible (streams 1-3).
  • A set of streams that exercise each of the content options individually for debugging if one of the previous set of streams fails (streams 10-17).
  • A set of streams covering the resolutions likely to be used in adaptive bitrate switching & to be used for CMAF switching set testing (streams >=20).

Currently each of the 11 switching sets created, has the same number of tracks with the same resolutions, resulting in some overlap.
There are also additional streams that should be generated to provide coverage of the resolutions from the WAVE device test suite spec.

Below is a proposal for the switching sets and tracks to generate, with the corresponding mezzanine content. The stream IDs refer to the spreadsheet linked above.
The following list covers the 15/30/60Hz frame rate family. Propose to generate the equivalent sets for the 14.985/29.97/59.94Hz and 12.5/25/50Hz frame rate families.
New mezzanine content will need to be generated for the 15/30Hz and 14.985/29.97Hz streams. For 12.5/25/50Hz content, a new batch of Croatia mezzanine streams in SDR will need generating from the current HDR streams.

  • CFHD/AVC switching set X (updated to include frame rate multiples 15/30/60 in a single switching set):

    • representation 0 using stream ID 20 content options & tos_L2_1920x1080@60_60.mp4
    • representation 1 using stream ID 1 content options & tos_L1_1920x1080@30_60.mp4
    • representation 2 using stream ID 23 content options & tos_J1_1280x720@60_60.mp4
    • representation 3 using stream ID 24 content options & tos_I2_1024x576@30_60.mp4
    • representation 4 using stream ID 25 content options & tos_I1_1024x576@30_60.mp4
    • representation 5 using stream ID 28 content options & tos_F1_768x432@30_60.mp4
    • representation 6 using stream ID 32 content options & tos_B1_512x288@30_60.mp4
    • representation 7 using stream ID 34 content options & tos_A1_480x270@15_60.mp4
       
  • CFHD/AVC switching set with a single video track 1 (exercising specific content options):

    • representation 0 using stream ID 1 content options & tos_L1_1920x1080@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 2 (exercising specific content options):

    • representation 0 using stream ID 2 content options & tos_L1_1920x1080@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 3 (exercising specific content options):

    • representation 0 using stream ID 3 content options & tos_L1_1920x1080@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 10 (exercising specific content options for debugging):

    • representation 0 using stream ID 10 content options & tos_L1_1920x1080@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 11 (exercising specific content options for debugging):

    • representation 0 using stream ID 11 content options & tos_L1_1920x1080@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 12 (exercising specific content options for debugging):

    • representation 0 using stream ID 12 content options & tos_L1_1920x1080@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 13 (exercising specific content options for debugging):

    • representation 0 using stream ID 13 content options & tos_L1_1920x1080@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 14 (exercising specific content options for debugging):

    • representation 0 using stream ID 14 content options & tos_L1_1920x1080@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 15 (exercising specific content options for debugging):

    • representation 0 using stream ID 15 content options & tos_L1_1920x1080@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 16 (exercising specific content options for debugging):

    • representation 0 using stream ID 16 content options & tos_L1_1920x1080@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 17 (exercising specific content options for debugging):

    • representation 0 using stream ID 17 content options & tos_L1_1920x1080@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 20 (with specific resolution and double frame rate):

    • representation 0 using stream ID 20 content options & tos_L1_1920x1080@60_60.mp4
       
  • CFHD/AVC switching set with a single video track 21 (with specific resolution):

    • representation 0 using stream ID 21 content options & tos_K1_1600x900@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 22 (with specific resolution):

    • representation 0 using stream ID 22 content options & tos_J1_1280x720@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 23 (with specific resolution and double frame rate):

    • representation 0 using stream ID 23 content options & tos_J1_1280x720@60_60.mp4
       
  • CFHD/AVC switching set with a single video track 24 (with specific resolution):

    • representation 0 using stream ID 24 content options & tos_I1_1024x576@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 26 (with specific resolution):

    • representation 0 using stream ID 26 content options & tos_H1_960x540@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 27 (with specific resolution):

    • representation 0 using stream ID 27 content options & tos_G1_852x480@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 28 (with specific resolution):

    • representation 0 using stream ID 28 content options & tos_F1_768x432@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 29 (with specific resolution):

    • representation 0 using stream ID 29 content options & tos_E1_720x404@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 30 (with specific resolution):

    • representation 0 using stream ID 30 content options & tos_D1_704x396@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 31 (with specific resolution):

    • representation 0 using stream ID 31 content options & tos_C1_640x360@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 32 (with specific resolution):

    • representation 0 using stream ID 32 content options & tos_B1_512x288@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 33 (with specific resolution):

    • representation 0 using stream ID 33 content options & tos_A1_480x270@30_60.mp4
       
  • CFHD/AVC switching set with a single video track 34 (with specific resolution and quarter frame rate):

    • representation 0 using stream ID 34 content options & tos_A1_480x270@15_60.mp4
@jpiesing
Copy link
Contributor

December 15th meeting

Our expectation is that test content should be generated using the mezzanine file matching the resolution of the generated track.
This would ensure the video contains the appropriate label: a specific letter for each resolution, and a number to differentiate tracks part of a switching set that share the same resolution but have other differences such as bitrate or frame rate.

Confirmed.

Choice of which streams to generate is deferred pending resolution of staffing issues.

@haudiobe
Copy link
Member

Call QC/GPAC on Jan 28, 2021: Please add the mezzanine content to the table: https://github.com/cta-wave/Test-Content-Generation/blob/master/Instructions/cfhd.md @rbouqueau will do so

@rbouqueau
Copy link
Collaborator

See newly updloaded content at https://dash.akamaized.net/WAVE/vectors/avc_sets/?cache=clear

@jpiesing
Copy link
Contributor

@nicholas-fr Please can you review this?

@nicholas-fr
Copy link
Collaborator Author

Looking at the mezzanine to test content mapping, for the non-encrypted test content in the 15_30_60 folder, I only have some very minor comments.

3 of the switching sets are not needed (t18,t19,t25):

  1. Unclear what t18 and t19 are for as nothing was defined for these as far as I know.
  2. t25 is not needed: this variant was only relevant for ss1, only t24 is needed for standalone track testing (but no harm in having it).

There are 3 cases where the intended labels weren't used, but the content encoding is correct and can be used for the intended test:

  1. t20 uses tos_L2_1920x1080@60_60 when use of tos_L1_1920x1080@60_60 was expected, but the resolution and frame rate (i.e. 1080p60) are correct.
  2. In ss1, representation 5 (I1) has a higher bandwidth than representation 6 (I2), but would expect that to be the other way around (I1 bandwidth < I2 bandwidth).

Only the first point needs clarifying, just so we are clear about the encoding of t18 and t19, the other points are only cosmetic.

rbouqueau added a commit that referenced this issue May 25, 2021
@rbouqueau
Copy link
Collaborator

  1. t20 uses tos_L2_1920x1080@60_60

Ok I understand. That's because t1 was marked based on L1 already but there is no t1 (so this is ignored in the implementation).

  1. also fixed.

Let's close if ok.

@nicholas-fr
Copy link
Collaborator Author

My apologies, I misunderstood. I now understand that the streams (media segments) used in ss1 are those created for some of the individual tracks (t1 .. tN). So points 2 and 3 in my previous comment above are incorrect and should be disregarded. Sorry about that.

because t1 was marked based on L1 already but there is no t1

Why is there no t1 (or t2 or t3) any more? t1, t2 and t3 are required.

t1, t2, and t3 should be created.

t20 should indeed use tos_L2_1920x1080@60_60, that was correct before commit f943b50

And now ss1 is missing a track without t1 and has the wrong label (due to incorrect t20 change):
representation 0 using stream ID 20 content options & tos_L2_1920x1080@60_60.mp4 <-- now with the wrong label (L1 iso L2)
representation 1 using stream ID 1 content options & tos_L1_1920x1080@30_60.mp4 <-- now missing
representation 2 using stream ID 23 content options & tos_J1_1280x720@60_60.mp4
representation 3 using stream ID 24 content options & tos_I2_1024x576@30_60.mp4
representation 4 using stream ID 25 content options & tos_I1_1024x576@30_60.mp4
representation 5 using stream ID 28 content options & tos_F1_768x432@30_60.mp4
representation 6 using stream ID 32 content options & tos_B1_512x288@30_60.mp4
representation 7 using stream ID 34 content options & tos_A1_480x270@15_60.mp4

rbouqueau added a commit that referenced this issue Jun 3, 2021
@rbouqueau
Copy link
Collaborator

Updated. I'll regenerate the streams tonight.

@rbouqueau
Copy link
Collaborator

Done.

@nicholas-fr
Copy link
Collaborator Author

Thanks @rbouqueau.
Although, one last issue, the CMAF fragment duration is missing in switching_sets_single_track.csv for t1, t2, t3.

@rbouqueau
Copy link
Collaborator

Thanks. I had fixed that locally with other things but not pushed. Now it is done!

@nicholas-fr
Copy link
Collaborator Author

Thanks!

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

4 participants