cta-wave / dpctf-deploy

Repo for Docker deployment. This is basically the repository you need to deploy the Test Runner (and later the Test Execution Framework) locally. It will make the deployment and configuration of all components much easier
Other
2 stars 5 forks source link

making it easier to target HbbTV and ATSC3 smart TVs #1

Open jpiesing opened 3 years ago

jpiesing commented 3 years ago

We should consider making it easier to target HbbTV and ATSC3 smart TVs.

Specifically, we could include in the UI on the PC a button that generates a file with the correct signalling to launch the test runner on the Smart TV - a file suitable to be played into the TV by a modulator as-is.

I don't know what this file would be for ATSC3 but I'm sure there is something. For HbbTV, it would be an MPEG-2 transport stream with an AIT containing the IP address of the PC.

louaybassbouss commented 3 years ago

@jpiesing maybe in first stage we need just a script that generates the MPEG-2 TS Stream based on input parameters (mainly the endpoint of the test runner). Do you have volunteers in mind who can help with this?

jpiesing commented 3 years ago

@jpiesing maybe in first stage we need just a script that generates the MPEG-2 TS Stream based on input parameters (mainly the endpoint of the test runner). Do you have volunteers in mind who can help with this?

HbbTV uses the open source package opencaster, http://www.avalpa.com/the-key-values/15-free-software/33-opencaster, to generate transport streams with AITs. I suspect it's a matter of finding finding out how to call it with the right arguments. There are examples in the documentation.

nicholas-fr commented 3 years ago

In case it's useful, another alternative is tsduck. For example, you can create an XML file with the AIT definition and update the AIT in an existing TS with the following commands: tstabcomp --compile AIT.xml tsp -I file "wave_test_runner_old_AIT.ts" -P inject --replace --binary AIT.bin --pid 0x1000 -O file wave_test_runner_new_AIT.ts

So one option is to create a TS using ffmpeg and tsduck, with an AIT that can be updated with the correct test runner URL via a script.

jpiesing commented 3 years ago

February 2nd ATSC3 would be more complex to create all the needed layers. ATSC3 test suite is mostly PCAP captures after the signalling layer. This is a single service. STLTP (Studio to Transmitter Link - A/324) captures are also used by some people. A DekTek modulator for ATSC3 would take both PCAP and STLTP. GPAC have an open source implementation for part of the ATSC3 stack.

bobcampbell-resillion commented 3 years ago

I'm sure we can provide an ATSC pcap, presuming CTA agree to share one we'll produce for their NEXTGEN TV logo program anyway.

jpiesing commented 3 years ago

For HbbTV, it has been pointed out HbbTV 2.0.x's support for DIAL would allow the test UI on the PC to push the HTTP server URL straight to a TV without needing a transport stream or a modulator. ATSC A/338 includes something very similar as "Companion Device Application to Primary Device Communication".

@bobcampbell-eurofins Do you know if A/338 is implemented in the real world?

bobcampbell-resillion commented 3 years ago

Hi Jon, It is mandatory for a HbbTV 2 terminal to support this method - correct?

I can't speak for ATSC implementers but A/338 is not something I think has been widely adopted in the real world yet. I think it is considered "optional", for a start, and the CTA's CEB 32.X docs (Recommended Practice for ATSC 3.0 Television Sets) do not address it at all yet. I don't think we could rely on it as a launch mechanism for ATSC receivers.

cta-source commented 3 years ago

Discussion has been around a test setup that would dynamically edit or create a PCAP stream that points to the hosted version so that tests are be launched in the correct user agent. Eurofins is willing to investigate this approach after certain resources are available, so we should hold off on decisions until after the March timeframe. No "due date" for results of this investigation is set yet.

jpiesing commented 3 years ago

I would like to see a button in the landing page (or perhaps the page to configure a session) that;

jpiesing commented 3 years ago

For HbbTV, there is also the option for the reference to the landing page to be pushed to the DUT using DIAL. Due to a lack of suitable web APIs, this would be limited to locally hosted instances of the docker image and would run as part of the docker image. This has particular advantages in the current circumstances as not everyone working from home will have a modulator with them. It also simplifies the process as the session id can be pushed to the DUT in the DIAL messaging. Perhaps there would be an option in the configure session UI to set the IP address or host name of the DUT. The docker image could do DIAL discovery and offer a choice and/or there could be the possibility to enter the IP address / host name manually.

jpiesing commented 3 years ago

After discussions with @louaybassbouss , the DPCTF test runner is derived from the WMAS test runner. Since this issue is also applicable to the WMAS test runner, I've created new issues in that repository. If the WMAS test runner would be updated then hopefully nothing specific to the DPCTF test runner would be needed.

gitwjr commented 1 year ago

Yan is already testing with HbbTV using just the Test Runner. Requires a cloud transport stream (which WMAS does have). It does not appear anything has been done on ATSC. Deferred to a future release.

bobcampbell-resillion commented 8 months ago

For reference the upcoming (Jan 2024) and current (Dec 2023) release of Resillion's test harnesses for HbbTV (Ligada) and ATSC (Arreios) support WMAS testing natively within the tool environment. I.e. no configuration of launch RF streams required and the servers for the tests are hosted by Resillion. These tools are used by all major manufacturers for those standards.

DPCTF capability will follow in subsequent releases, including local hosting of the test infrastructure.