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

8.8 Playback over WAVE Baseline Splice Constraints #22

Closed
jpiesing opened this issue Mar 2, 2021 · 80 comments
Closed

8.8 Playback over WAVE Baseline Splice Constraints #22

jpiesing opened this issue Mar 2, 2021 · 80 comments
Assignees
Labels
ready issue is ready can be closed if all agree

Comments

@jpiesing
Copy link

jpiesing commented Mar 2, 2021

Two requirements for test 8.8 are extremely unclear to me.

Two CMAF Switching Sets are available for playback following the properties in clause5.3.3.5.

What are the characteristics of these? Do we have the right mezzanine content?

In the March 2nd meeting, it was suggested we might want both big buck bunny and tears of steel mezzanine content but how can we reach a decision?

The playback has the following parameters
• min_buffer_duration: Expresses the minimum buffer that the Source Buffer maintains in the playback.
• playout[i]: Provides the triple (Switching Set, CMAF track number, Fragment number) for every playout position i=1,…,N that is be played out.

Who is responsible for providing the value of the playout array?

@louaybassbouss
Copy link
Collaborator

@dsilhavy FYI

@jpiesing
Copy link
Author

jpiesing commented Mar 3, 2021

@nicholas-fr @rbouqueau this may require addtional test content which in turn requires additional mezzanine content. For example, it might need both tears of steel and big buck bunny.

@jpiesing
Copy link
Author

jpiesing commented Mar 4, 2021

I've re-read the WAVE content format spec and device playback spec sections relating to baseline splice constraints.

My first impression is that a CMAF switching set with 30s of some other content encoded using the same parameters as the switching set used for test 8.5 would be sufficient.

The test for 8.8 would play the switching set for test 8.5, then the new switching set, then back to the switching set from test 8.5.

Do people agree with this?

8.8 will be run separately for video and audio but it would be good for the content to be re-usable for 9.4 which tests the combination. Test 9.4 would probably be the same as the DASH-IF issues Dash-Industry-Forum/Test-Content#1 and following.

Focusing on 9.4 for now & inspired by the DASH-IF issue, it might be best to use 30s of Big Buck Bunny.

In order to meet the requirements for 9.4, it seems to me that the video and audio CMAF fragment lengths would need to be somehow aligned. In DVB, it was mentioned that multiples of 960ms may work well for video and (some) audio codecs.

For DASH-IF test cases 2, Dash-Industry-Forum/Test-Content#2 and Dash-Industry-Forum/Test-Content#3, we would want to avoid perfect alignment between video and audio fragment lengths at the ends of all video fragments.

For DASH-IF test cases 1 and 2, the additional test content would need the video and audio fragment lengths aligned.
Although the additional test content has to be a switching set, it's not obvious why it would need more than one bitrate.

@louaybassbouss
Copy link
Collaborator

Thanks @jpiesing for your investigation I will discuss this tomorrow with @dsilhavy especially in regards to the DASH-IF Test Content issues and will provide feedback.

@andyburras
Copy link

Does this mean the frame number sequence will run 1->X->1->Y->1->Z ?
Presumably the test config file will need to pass the expected duration of each splice "section".

@jpiesing
Copy link
Author

jpiesing commented Mar 4, 2021

Does this mean the frame number sequence will run 1->X->1->Y->1->Z ?

If the two switching sets are A and B then it might be this;

{A,1} -> {A,X} -> {B,1} -> {B,Y} -> {A,X+1} -> {A,Z}

where X is the end of a segment in A, Y is the last segment of A and Z is the last segment of A.

Presumably the test config file will need to pass the expected duration of each splice "section".

I have no idea.

@dsilhavy
Copy link

dsilhavy commented Mar 5, 2021

Some comments from our side, as I discussed this with @louaybassbouss

I find the description in DPCTF 8.8 a bit confusing. Speaking in DASH terminology, it sounds like we are testing a switch of AdaptationSets with similar media types within a single period. So for instance:

  • Audio: Switch between audio language
  • Video: Switch between viewing angle / camera

If this interpretation is correct I suggest to use the same mezzanine root content for this use case and for video maybe flip it by 90 or 180 degrees. That way, there is a clear difference between the SwitchingSets/AdaptationSets but no "real" transition to a totally different content.

However, the result of this test case is important for 9.4 as the same logic applies.

As Jon mentioned: DPCTF 9.4 seems to map to an ad-insertion test case as we are switching between CMAF presentations. From my understanding CMAF presentations can be interpreted as DASH periods or single period DASH MPDs combined via MPD chaining. In this case it corresponds to Dash-Industry-Forum/Test-Content#1 and the following issues. For this, I suggest to use two different types of mezzanine content like BBB and ToS.

Some general comments:

@jpiesing
Copy link
Author

jpiesing commented Mar 5, 2021

Some comments from our side, as I discussed this with @louaybassbouss

I find the description in DPCTF 8.8 a bit confusing.

I'm glad I'm not the only one :)

Speaking in DASH terminology, it sounds like we are testing a switch of AdaptationSets with similar media types within a single period. So for instance:

* Audio: Switch between audio language

* Video: Switch between viewing angle / camera

That's not how I read DPCTF 5.3.3.5 and CSTF 7.2.2. I think these are the equivalent of DASH period-connected but I certainly admit I could be wrong.

If this interpretation is correct I suggest to use the same mezzanine root content for this use case and for video maybe flip it by 90 or 180 degrees. That way, there is a clear difference between the SwitchingSets/AdaptationSets but no "real" transition to a totally different content.

However, the result of this test case is important for 9.4 as the same logic applies.

I ended up seeing 8.8 as a subset of 9.4 and hence trying to work out what is wanted for 9.4 and then working backwards to 8.8.

As Jon mentioned: DPCTF 9.4 seems to map to an ad-insertion test case as we are switching between CMAF presentations. From my understanding CMAF presentations can be interpreted as DASH periods or single period DASH MPDs combined via MPD chaining. In this case it corresponds to Dash-Industry-Forum/Test-Content#1 and the following issues. For this, I suggest to use two different types of mezzanine content like BBB and ToS.

I think this is a multi-period MPD with the periods being period-connected.
WAVE already has mezzanine content for ToS. It is generated by a script so running a version of that script on BBB would not be a lot of work.

Some general comments:

* As described by Jon, media segment alignment can be achieved with segment durations of 1.92 seconds for 25fps and 48khz content for example. No promotion intended, but we gave some more examples in this blog post: https://websites.fraunhofer.de/video-dev/why-and-how-to-align-media-segments-for-abr-streaming/

* It would be great if DASH-IF can reuse the WAVE content for the test cases defined here: https://github.com/Dash-Industry-Forum/Test-Content/issues. For this reason, I think we need:

I agree. It would be good if HbbTV could use this as well.

  * Three different mezzanine files (main content, ad, ad slate). For example BBB, ToS, and a spinning WAVE/DASH-IF logo

Yes. Perhaps DVB and HbbTV logos too :)

  * For each mezzanine file, at least two different segment durations to create the overlaps described in [Dash-Industry-Forum/Test-Content#2](https://github.com/Dash-Industry-Forum/Test-Content/issues/2) and [Dash-Industry-Forum/Test-Content#3](https://github.com/Dash-Industry-Forum/Test-Content/issues/3)

Do you have any suggestions? I'm currently working on a document on how to generate WAVE test content from the mezzanines.

@dsilhavy
Copy link

Hi Jon,

Do you have any suggestions? I'm currently working on a document on how to generate WAVE test content from the mezzanines.

In my opinion we should go with 1.92 and 0.96 seconds as segment duration. Shouldn't this work for Dash-Industry-Forum/Test-Content#2 and Dash-Industry-Forum/Test-Content#3 ? Example:

Testcase 2

Period 1

Video Segment Duration: 0.96
Audio Segment Duration: 1.92
Audio@startNumber: 1
Video@startNumber: 1
Period duration: 6.72
Overlap audio (pdDelta): 0.96

Period 2

Video Segment Duration: 0.96
Audio Segment Duration: 1.92
Period duration: 1.92

Period 3 (resumes from period 1)

Video Segment Duration: 0.96
Audio Segment Duration: 1.92
Audio@presentationTimeOffset: 6.72
Video@presentationTimeOffset: 6.72
Audio@startNumber: 3
Video@startNumber: 8

Buffer@Offset = Period@start - @presentationTimeOffset
Position of segment in the MSE buffer = Segment@EPT + Buffer@Offset

Position of video segment in the buffer = 6.72 + (8.64 - 6.72) = 8.64
Position of audio segment in the buffer = 5.76 + (8.64 - 6.72) = 7.68
Audio overlap (eptDelta) = 0.96

Testcase 3

Similar to testcase 2 but ad period duration is 0.96 and we set Audio@presentationTimeOffset to 0.48.

@jpiesing
Copy link
Author

@dsilhavy Presumably the same original streams can cover Dash-Industry-Forum/Test-Content#1 but with the first period duration being a multiple of 1.92?

@dsilhavy
Copy link

@dsilhavy Presumably the same original streams can cover Dash-Industry-Forum/Test-Content#1 but with the first period duration being a multiple of 1.92?

Correct, thats what I assume as well. We can even use the short 0.96 seconds segments if required. That way audio and video segment durations differ but period boundaries are still aligned.

@louaybassbouss
Copy link
Collaborator

@rbouqueau do we have now multi-period for this content (as described in #22 (comment))?

@rbouqueau
Copy link

Daniel just sent me his feedback on the streams generated for Dash-Industry-Forum/Test-Content#1 this morning. Will process and let you know.

@jpiesing
Copy link
Author

@rbouqueau do we have now multi-period for this content (as described in #22 (comment))?

@louaybassbouss @rbouqueau I wasn't expecting multi-period content with a single MPD but two separate MPDs, one for the main content & one for the insertion.

@louaybassbouss
Copy link
Collaborator

@rbouqueau do we have now multi-period for this content (as described in #22 (comment))?

@louaybassbouss @rbouqueau I wasn't expecting multi-period content with a single MPD but two separate MPDs, one for the main content & one for the insertion.

@jpiesing the test runner accepts only one MPD for video and one for audio. This is why we decided to use multi-period for this test (see discussion in cta-wave/Test-Content-Generation#25 (comment)). The multi-period is generated from the two single MPDs. The media segments from both single-period content will be reused.

@rbouqueau
Copy link

We need to make adjustments as described here but ok. Could we please open an issue on the Test Generation repo when it is confirmed this is needed?

@jpiesing
Copy link
Author

I have re-reviewed section 7 and annex A of the CSTF spec concerning splice conditioning
My conclusion is that what is described there is indeed the same as DASH-IF issue 1 - Dash-Industry-Forum/Test-Content#1 .
A single MPD with 3 Periods would indeed address what is described in the CSTF spec.
This isn't what the DPCTF spec says though so we need to change the spec.
The comments above refer to 3 pieces of content;

@louaybassbouss
Copy link
Collaborator

Just to be clear, my previous comment was really my thought process.

yes I interpreted it in this way and this is a good start point for our meeting next week

IMHO the only things wrong with what's in the spec for 8.8 are 1) missing reference to setting timestampOffset
and 2) it really needs an example of what the playout array somewhat like the one I gave. (Assuming this is what was intended).

Regarding playout array we need to make clear how to address the Switching Set. My proposal is:

  • Keep the structure of the tests.csv as it is (4 columns) but we should allow to specify additional video and audio MPDs in additional lines (keep Test ID empty). Example:
Test ID Video MPD Audio MPD Folder
playback-over-wave-baseline-splice-constraints path/to/video/main.mpd path/to/audio/main.mpd My Folder
  path/to/video/spliced.mpd path/to/audio/spliced.mpd
  • The Switching Set in the playout array is just the index. in this example main has index 1 and spliced 2 (in the order how they appear in the csv file).

@jpiesing
Copy link
Author

From the July 20th meeting.

  • What additional resolutions do we need for the "ad"?
  • Beyond 720p and 1080p
  • Proposal: no.
  • What additional frame rates do we need for the "ad"?
  • Beyond 25 and 30
  • Proposal: no – don't bother with 50 and 60
  • Do we want to do fractional frame rates & what duration would be appropriate for the "ad"?
  • Do we want to create new (shorter) main content?
  • How much shorter?
  • Proposal: New 10s mezzanine streams for 1080 & 720 at 25, 30, 29.97

@nicholas-fr
Copy link

The mezzanine content has been generated, please see here for the details:
cta-wave/mezzanine#18 (comment)

@louaybassbouss louaybassbouss added in progress work in progress and removed waiting labels Aug 2, 2021
@louaybassbouss
Copy link
Collaborator

@jpiesing @yanj-github we are mostly done with the implementation of supporting multiple input Audio/Video MPDs (SwitchingSets) to replace the Multi-Period implementation (Multi-Period support is still there but not used in any test). The code is available in a separate branch feature-multi-mpd for now, before we merge with the master, we need to clarify few things related to the interfaces with the OF mainly the structure of /generated/tests.json.

Current structure of one item in tests.json (structure does not support multiple MPDs):

{
    "path": "avc_15_30_60-2021-07-07-online/sequential-track-playback__t1.html",
    "video": "https://dash.akamaized.net/WAVE/vectors/2021-07-07/avc_sets/15_30_60/t1/stream.mpd",
    "audio": "",
    "code": "sequential-track-playback.html",
    "config": {
        "cmaf_track_duration": "PT0H1M0.000S",
        "fragment_duration": "PT0H0M2.021S",
        "representations": {
            "1": {
                "period": 1,
                "duration": 60,
                "type": "video",
                "fragment_duration": 1.92
            }
        }
    }
}

This is a proposal for the structure of each item in /generated/tests.json with support of multiple MPDs/SwitchingSets:

{
    "path": "avc_15_30_60-2021-07-07-online/sequential-track-playback__t1_t2.html",
    "video": [
        "https://dash.akamaized.net/WAVE/vectors/2021-07-07/avc_sets/15_30_60/t1/stream.mpd",
        "https://dash.akamaized.net/WAVE/vectors/2021-07-07/avc_sets/15_30_60/t2/stream.mpd"
    ],
    "audio": [,],
    "code": "sequential-track-playback.html",
    "switchingSets": {
        "video": [{
            "cmaf_track_duration": "PT0H1M0.000S",
            "fragment_duration": "PT0H0M1.920S",
            "representations": {
                "1": {
                    "period": 1,
                    "duration": 60,
                    "type": "video",
                    "fragment_duration": 1.92
                }
            }
        },{
            "cmaf_track_duration": "PT0H0M9.600S",
            "fragment_duration": "PT0H0M1.920S",
            "representations": {
                "1": {
                    "period": 1,
                    "duration": 9.6,
                    "type": "video",
                    "fragment_duration": 1.92
                }
            }
        }],
        "audio": [,]
    }
}

Changes:

  1. video and audio properties are arrays and not single values
  2. the generated path name will consider the Stream ID of each MPD (in this example __t1_t2.html at the end of the filename).
  3. rename config in switchingSets (easier to map to spec texts)
    • switchingSets includes two elements video and audio. Each of them is an array including information extracted from the corresponding MPD.

Below is an example of playout array (play first 5 segments from first switchingset, the first 5 segments from second switchingset and then the remaining segments of the first switchingset):

{ 
    "playout": [[1,1,1], [1,1,2], [1,1,3], [1,1,4], [1,1,5], [2,1,1], [2,1,2], [2,1,3], [2,1,4], [2,1,5], [1,1,6], [1,1,7], [1,1,8], [1,1,9], [1,1,10] ...]
}

@jpiesing
Copy link
Author

jpiesing commented Aug 16, 2021

@louaybassbouss I have no comments on the proposal.
@yanj-github?

@yanj-github
Copy link
Contributor

Thanks @louaybassbouss
The proposed configuration looks good to me for splicing test.
I can see the "config" changed to "switchingSets" and elements are changed to a list.
Are you going to change this to other configuration as well or only for splicing tests please?
What are the configuration look like for single mpd tests such as sequential-track-playback?

@louaybassbouss
Copy link
Collaborator

louaybassbouss commented Aug 16, 2021

Thanks @louaybassbouss
The proposed configuration looks good to me for splicing test.
I can see the "config" changed to "switchingSets" and elements are changed to a list.
Are you going to change this to other configuration as well or only for splicing tests please?
What are the configuration look like for single mpd tests such as sequential-track-playback?

Our proposal is to apply to all tests. For other tests, the length of arrays will be 1. Example:

{
    "path": "avc_15_30_60-2021-07-07-online/sequential-track-playback__t1.html",
    "video": [
        "https://dash.akamaized.net/WAVE/vectors/2021-07-07/avc_sets/15_30_60/t1/stream.mpd",
    ],
    "audio": [],
    "code": "sequential-track-playback.html",
    "switchingSets": {
        "video": [{
            "cmaf_track_duration": "PT0H1M0.000S",
            "fragment_duration": "PT0H0M1.920S",
            "representations": {
                "1": {
                    "period": 1,
                    "duration": 60,
                    "type": "video",
                    "fragment_duration": 1.92
                }
            }
        }],
        "audio": []
    }
}

wdyt?

@yanj-github
Copy link
Contributor

yanj-github commented Aug 19, 2021

Thanks @louaybassbouss and @jpiesing
I have following questions if you can help, please?
Q1 to Q3 are question about how we stop test configuration fault which will cause OF fault when it is configured in wrong way. OF will raise error or won’t be able to provide correct observation. It would be helpful either we document it clearly or throw error message when user intend to configure the tests in wrong way. Feel free to provide any comments and ideas.

Q4 and Q6 are question about the configuration file.

Q1: In terms of number of mpds to configure for each test, how do we stop configuration fault? Will TR stop user from doing the following by giving error message or have clear documentation to user?
e.g: 2 mpds configured for non-splicing tests such as sequential test.
1 mpd configured for splicing tests
3 mpd configured for splicing tests

Q2: OF will only work when playout is configured for switching set tests and splicing tests. Will TR report failure or when playout is missing?

Q3: The coratia and TOS mezzanine content has same ID. If user configure splice main and ad as same content ID such as coatia A1 and TOS A1 OF won’t be able to handle it due to detected recording has same content ID. Will TR reports error on this or we have clear documentation which state the test should not configured in this way?

Q4: Regarding to the playout for switching sets test, will it remain as it is now for switching set or it will be changed?
Updates from last meeting: We agreed to have 3 sets od value and OF will ignore the 1st value which is swithing set numbers.

Q5: Can we have “frame rate” added in tests.json file please? OF can detect it from QR code but it is helpful for us to know frame rate to expect before OF detect the QR code. This is a blocker for us, if you can confirm this can be done it would be helpful.

Q6: Is there any limitation of playout for splicing test? Or it will be robust that any values are allowed please?

@FritzHeiden
Copy link
Collaborator

I implemented the proposed changes to the structure of the tests.json and regenerated it. You can find the new tests.json in the feature-multi-mpd branch. I've created a branch in the deploy repository for testing it.

@yanj-github
Copy link
Contributor

Hi @louaybassbouss and @FritzHeiden will you be able to add “frame rate” to the "tests.json" file please? It is currently a blocker for us. Thanks.

@FritzHeiden
Copy link
Collaborator

I updated the generate script to include the video frame rate. You can find it on the feature-multi-mpd branch.

@louaybassbouss louaybassbouss added ready issue is ready can be closed if all agree and removed in progress work in progress labels Sep 14, 2021
@louaybassbouss
Copy link
Collaborator

@yanj-github this issue is ready from our side the only missing step is to merge it with master once you finished testing.

@louaybassbouss
Copy link
Collaborator

Thanks @louaybassbouss and @jpiesing
I have following questions if you can help, please?
Q1 to Q3 are question about how we stop test configuration fault which will cause OF fault when it is configured in wrong way. OF will raise error or won’t be able to provide correct observation. It would be helpful either we document it clearly or throw error message when user intend to configure the tests in wrong way. Feel free to provide any comments and ideas.

Q4 and Q6 are question about the configuration file.

Q1: In terms of number of mpds to configure for each test, how do we stop configuration fault? Will TR stop user from doing the following by giving error message or have clear documentation to user?
e.g: 2 mpds configured for non-splicing tests such as sequential test.
1 mpd configured for splicing tests
3 mpd configured for splicing tests

For all tests that expect a single MPD such as sequential test only the first combination will be considered. All other MPDs are ignored. There is no error message.

In the current set of tests, only Splicing tests expect more than 1 MPD and you can control it via the playout parameter. MPDs that are not addressed in the playout parameter are ignored. If an MPD index is not defined, then we throw an error and this will be reported in the QR Code.

Q2: OF will only work when playout is configured for switching set tests and splicing tests. Will TR report failure or when playout is missing?

By default, the first representation of the first MPD is played. We can end the test with an error if this is preferred.

Q3: The coratia and TOS mezzanine content has same ID. If user configure splice main and ad as same content ID such as coatia A1 and TOS A1 OF won’t be able to handle it due to detected recording has same content ID. Will TR reports error on this or we have clear documentation which state the test should not configured in this way?

If mezzanine content with same ID is used in the CSV, we add an increment to the filename. But the preferred way is to use different folders (last column in the CSV). You can still distinguish between the different content since the MPD URLs will be different.

Q4: Regarding to the playout for switching sets test, will it remain as it is now for switching set or it will be changed?
Updates from last meeting: We agreed to have 3 sets od value and OF will ignore the 1st value which is swithing set numbers.

I hope this is answered in last meeting

Q5: Can we have “frame rate” added in tests.json file please? OF can detect it from QR code but it is helpful for us to know frame rate to expect before OF detect the QR code. This is a blocker for us, if you can confirm this can be done it would be helpful.

This is now added to the feature-multi-mpd

Q6: Is there any limitation of playout for splicing test? Or it will be robust that any values are allowed please?

What limitations do you have in mind

@yanj-github
Copy link
Contributor

yanj-github commented Sep 14, 2021

Thanks @louaybassbouss
Q1

For all tests that expect a single MPD such as sequential test only the first combination will be considered. All other MPDs are ignored. There is no error message.

In the current set of tests, only Splicing tests expect more than 1 MPD and you can control it via the playout parameter. MPDs that are not addressed in the playout parameter are ignored. If an MPD index is not defined, then we throw an error and this will be reported in the QR Code.

This sounds good to me. From the branch I can see that multiple MPDs configured for switching test which confuses me. If multiple MPDs only expected for splicing tests can you kindly change it please?
https://github.com/cta-wave/dpctf-tests/blob/feature-multi-mpd/tests.csv

Q2

By default, the first representation of the first MPD is played. We can end the test with an error if this is preferred.

When playout is missing for the test which it is expected, OF will give a result saying playout parameter is missing. User will then find out configuration missing after finished the observation. I would prefer to know playout is missing earlier if I were a user.

Seperate issue raised for this: #49

Q3

If mezzanine content with same ID is used in the CSV, we add an increment to the filename. But the preferred way is to use different folders (last column in the CSV). You can still distinguish between the different content since the MPD URLs will be different.

Thanks for this. But I think I have caused confusion here. I meant the content ID is the ID from the QR code. TOS and Croatia mezzanine have same content ID in its QR code. When user define to use same mpd for splicing tests or use mpds has content ID for splicing tests OF will reports the fault as it failed to detect the playback changes from one content to another.
I amd just aware of we have a document WAVE test content / test code sparse Matrix which state correct content should be used with test code. Thanks for sharing @louaybassbouss. If we only allow listed test then I think I dont need to worry about the user defined test as this in not permitted based on the WAVE test content / test code sparse Matrix.

Q6

Is there any limitation of playout for splicing test? Or it will be robust that any values are allowed please?

with "playout": [[x,y,z],.. ...]
x is 1 or 2: do you allow any other values?
y is 1: do you allow any other values within the switching set?
z is it always in order and covers whole duration or it allows any value?

Seperate issue raised for this: #50

@yanj-github
Copy link
Contributor

@louaybassbouss and @FritzHeiden
Current configuration settings:

  "avc_15_30_60-2021-07-07-online/playback-over-wave-baseline-splice-constraints__t1_t2.html": {
    "playout": [
      [1, 1, 1],  [1, 1, 2],  [1, 1, 3],  [1, 1, 4],  [1, 1, 5],
      [1, 1, 6],  [1, 1, 7],  [1, 1, 8],  [1, 1, 9],  [1, 1, 10],
      [1, 1, 11], [1, 1, 12], [1, 1, 13], [1, 1, 14], [1, 1, 15],
      [2, 1, 7],  [2, 1, 8],  [2, 1, 9],
      [2, 1, 10], [2, 1, 11], [2, 1, 12]
    ]
  },

Just plays back from start to end there is no splicing.

I have also tested the following playout:

  "avc_15_30_60-2021-07-07-online/playback-over-wave-baseline-splice-constraints__t1_t2.html": {
    "playout": [
      [1, 1, 1],  [1, 1, 2],  [1, 1, 3],  [1, 1, 4],  [1, 1, 5],
      [1, 1, 6],  [1, 1, 7],  [1, 1, 8],  [1, 1, 9],  [1, 1, 10],
      [1, 1, 11], [1, 1, 12], [1, 1, 13], [1, 1, 14], [1, 1, 15],
      [2, 1, 1],  [2, 1, 2],  [2, 1, 3],
      [2, 1, 4], [2, 1, 4], [2, 1, 6],
      [2, 1, 7],  [2, 1, 8],  [2, 1, 9],
      [2, 1, 10], [2, 1, 11], [2, 1, 12]
    ]
  },       

This does splice after 30 mins and it back to begining. This is as expected.
However the test timed out after [2, 1, 12]
and the result shows "timedout" with "undefined" from the error message. Can you have a look please?

Also t1 and t2 has same content ID which makes is unable for OF to detected the change in content. Switching set should be used so can we change main ss1 and While abosent in proper splicing content (big bucket bunny), can we use t21 please? t21 has content id "K1" different to what we have in ss1.

@louaybassbouss
Copy link
Collaborator

@louaybassbouss and @FritzHeiden Current configuration settings:

  "avc_15_30_60-2021-07-07-online/playback-over-wave-baseline-splice-constraints__t1_t2.html": {
    "playout": [
      [1, 1, 1],  [1, 1, 2],  [1, 1, 3],  [1, 1, 4],  [1, 1, 5],
      [1, 1, 6],  [1, 1, 7],  [1, 1, 8],  [1, 1, 9],  [1, 1, 10],
      [1, 1, 11], [1, 1, 12], [1, 1, 13], [1, 1, 14], [1, 1, 15],
      [2, 1, 7],  [2, 1, 8],  [2, 1, 9],
      [2, 1, 10], [2, 1, 11], [2, 1, 12]
    ]
  },

Just plays back from start to end there is no splicing.

I have also tested the following playout:

  "avc_15_30_60-2021-07-07-online/playback-over-wave-baseline-splice-constraints__t1_t2.html": {
    "playout": [
      [1, 1, 1],  [1, 1, 2],  [1, 1, 3],  [1, 1, 4],  [1, 1, 5],
      [1, 1, 6],  [1, 1, 7],  [1, 1, 8],  [1, 1, 9],  [1, 1, 10],
      [1, 1, 11], [1, 1, 12], [1, 1, 13], [1, 1, 14], [1, 1, 15],
      [2, 1, 1],  [2, 1, 2],  [2, 1, 3],
      [2, 1, 4], [2, 1, 4], [2, 1, 6],
      [2, 1, 7],  [2, 1, 8],  [2, 1, 9],
      [2, 1, 10], [2, 1, 11], [2, 1, 12]
    ]
  },       

This does splice after 30 mins and it back to begining. This is as expected. However the test timed out after [2, 1, 12] and the result shows "timedout" with "undefined" from the error message. Can you have a look please?

Also t1 and t2 has same content ID which makes is unable for OF to detected the change in content. Switching set should be used so can we change main ss1 and While abosent in proper splicing content (big bucket bunny), can we use t21 please? t21 has content id "K1" different to what we have in ss1.

@yanj-github we will check. yes we can use t21

@jpiesing
Copy link
Author

jpiesing commented Oct 5, 2021

Also t1 and t2 has same content ID which makes is unable for OF to detected the change in content. Switching set should be used so can we change main ss1 and While abosent in proper splicing content (big bucket bunny), can we use t21 please? t21 has content id "K1" different to what we have in ss1.

@yanj-github we will check. yes we can use t21

I'm confused about this discussion. Is there some content missing?

If we need an encoded version of one of the following & it doesn't exist, please open an issue in the test content generation project. If the mezzanine content itself is wrong (content ID?) then please open an issue in the mezzanine content project.

splice_ad_bbb_AD-A1_1280x720@2..> 05-Aug-2021 10:18 5k
[FILE] splice_ad_bbb_AD-A1_1280x720@2..> 05-Aug-2021 10:18 9.0M
[FILE] splice_ad_bbb_AD-A1_1280x720@2..> 05-Aug-2021 10:18 1k
[FILE] splice_ad_bbb_AD-A1_1280x720@2..> 05-Aug-2021 10:18 5k
[FILE] splice_ad_bbb_AD-A1_1280x720@2..> 05-Aug-2021 10:19 27.0M
[FILE] splice_ad_bbb_AD-A1_1280x720@2..> 05-Aug-2021 10:19 1k
[FILE] splice_ad_bbb_AD-A1_1280x720@3..> 05-Aug-2021 10:19 5k
[FILE] splice_ad_bbb_AD-A1_1280x720@3..> 05-Aug-2021 10:19 13.6M
[FILE] splice_ad_bbb_AD-A1_1280x720@3..> 05-Aug-2021 10:19 1k
[FILE] splice_ad_bbb_AD-B1_1920x1080@..> 05-Aug-2021 10:19 5k
[FILE] splice_ad_bbb_AD-B1_1920x1080@..> 05-Aug-2021 10:19 18.0M
[FILE] splice_ad_bbb_AD-B1_1920x1080@..> 05-Aug-2021 10:19 1k
[FILE] splice_ad_bbb_AD-B1_1920x1080@..> 05-Aug-2021 10:19 5k
[FILE] splice_ad_bbb_AD-B1_1920x1080@..> 05-Aug-2021 10:19 56.8M
[FILE] splice_ad_bbb_AD-B1_1920x1080@..> 05-Aug-2021 10:19 1k
[FILE] splice_ad_bbb_AD-B1_1920x1080@..> 05-Aug-2021 10:19 5k
[FILE] splice_ad_bbb_AD-B1_1920x1080@..> 05-Aug-2021 10:19 32.6M
[FILE] splice_ad_bbb_AD-B1_1920x1080@..> 05-Aug-2021 10:19 1k

@yanj-github
Copy link
Contributor

yanj-github commented Oct 5, 2021

@jpiesing Thanks very much. Just wanted to clearify, sorry if I didnt make it clear. Splicing ad should use splice_ad_bbb. In the meantime to unblock us to implement and check splicing logic can we have t21 instead of splicing ad in a absence of the content missing. Current t1 and t2 is not switching set and also has some content ID, OF unable to detected the content change.

@louaybassbouss I am not really familar with the content downloading process between TR and the content pool.
Can you help with this issues please? To me seems like splice_ad_bbb content is not there but we have mezzanine avaliable.
As Jon mentioned we should use splice_ad_bbb if avaliable.

@jpiesing
Copy link
Author

jpiesing commented Oct 5, 2021

As Jon mentioned we should use splice_ad_bbb if avaliable.

If splice_ad_bbb_* don't exist in encoded forms then someone needs to open an issue in the test content generation project asking romain to encode them.

@yanj-github
Copy link
Contributor

yanj-github commented Oct 5, 2021

cta-wave/Test-Content#19

@louaybassbouss
Copy link
Collaborator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready issue is ready can be closed if all agree
Projects
None yet
Development

No branches or pull requests

9 participants