TeleMidia / ginga

A Ginga iTV middleware implementation by TeleMídia/PUC-Rio
http://ginga.org.br
GNU General Public License v2.0
50 stars 7 forks source link

Ginga features #170

Closed 24rameshr closed 3 years ago

24rameshr commented 3 years ago

Hi Team,

I am new to Ginga, I have pulled the code and built in on Mac but I am stuck on how to proceed forward from here. I would like to explore 'Ginga' to evaluate its middleware feature of ISDB-T. Also, I want to know whether "ginga" supports the following features

Thanks Ramesh

alanlivio commented 3 years ago

Hi Ramesh. I am Alan Guedes.

I think you may have confusions between the TV middleware layer and the whole TV system. The Brazilian TV System (SBTVD) is a terrestrial TV system based on Japanese ISDBT. So, as the Japanese, SBTVD has majority of features that you mention (Closed caption, multi programs, EWS, parental control, etc.). The main diference is that SBTVD adopts the Ginga middleware Layer. Therefore, no BML support. Today, Ginga is standardized by both Brazilian TV Forum (SBTVD) and ITU. It supports NCL and HTML applications and offer a LAN-service called Ginga-CC-WebService to support second screen and Smart TV integration.

The whole SBTVD is implemented by different TV manufactures (TPV, LG, Samsung, etc) and they embed a comercial Ginga implementation. This github is opensouce version of Ginga middleware but not all SBTVD system. We maintain it for research and experiments proposes to be user as reference for both academy and industry.

Hope I was able to help you. To better understanding of Ginga and SBTVD, I suggest you the following reading:

Best wishes.

OBS: there is a typo in the issue title. Gigna -> Ginga

24rameshr commented 3 years ago

Hi Alan Guedes,

Thank you very much for the reply !. I went through some material you have given. I want to reiterate my understanding based on your response and my readings. Could you please help me to comment on this ?

  1. SBTVD TV System has these features such as Closed caption, multi programs, EWS, parental control, etc. So as ISDB TV System. This is not offered by middleware (Ginga). Who generally implement these features is it SoC vendor such as Samsung, Mediatek or Middleware stack provider who generally implements Live TV applications or EPG applications ?
  2. ISDB Japan has BML support, but it does not have procedure support, whereas ISDB-Tb has Ginga-NCL support and Ginga-J as procedure support. What does Ginga middleware offers, is it just interactive broadcasting through Ginga-NCL or Ginga-J or something more ?
  3. Can I use Ginga middleware to build Japan TV receiver, or it can only be used for ISDB-T alone ?
  4. What does TV middleware here like Ginga or BML ? Does it just offer interactive broadcasting or much more than that ?

Looking forward to your reply. Thanks once again.

Regards, Ramesh

alanlivio commented 3 years ago

Hi @24rameshr. Please see my answer inline below. Hope it helps.

SBTVD TV System has these features such as Closed caption, multi programs, EWS, parental control, etc. So as ISDB TV System. This is not offered by middleware (Ginga). Who generally implement these features is it SoC vendor such as Samsung, Mediatek or Middleware stack provider who generally implements Live TV applications or EPG applications ?

These features are inherent to the system and can be used by both: (a) native TV terminal applications. Ex. closed caption is commonly accessed by TV menu or remote-control button. EWS alerts are implemented natively by TV terminals. (b) ginga applications thought APIs. Ex. there is API for chance service or gather EPG information.

ISDB Japan has BML support, but it does not have procedure support, whereas ISDB-Tb has Ginga-NCL support and Ginga-J as procedure support. What does Ginga middleware offers, is it just interactive broadcasting through Ginga-NCL or Ginga-J or something more?

As a mentioned, today (D-Profile) Ginga supports three application environments: Ginga-NCL, Ginga-HTML, Ginga-CC-WebService. The last one support SmartTV and LAN-application thought REST APIs. Please look at "A Brief Overview about D-Profile of Ginga DTV Receivers" at https://sites.google.com/ice.ufjf.br/imxlatam. OBS: The Ginga-J become decrypted recently given royalty issues of Java environment.

Can I use Ginga middleware to build Japan TV receiver, or it can only be used for ISDB-T alone?

The short answer is no. Today Japan uses the HTML5 with extended JS API. Maybe it's possible a create compatibility layer. Something similar was done to HbbTV (https://ieeexplore.ieee.org/abstract/document/8662049). OBS: the correct term for ISDBT used in Brazil is ISDB-Tb.

What does TV middleware here like Ginga or BML ? Does it just offer interactive broadcasting or much more than that ?

TV middleware standards software layer to implemente by different TV manufatures to enable application compatibility. This layer has a set of API and application environment for different usage scenarios: addition information, multi video, hypervideo navigation, EPG, second screen, etc. OBS: BML is not a middleware. It is application environment inside the ISDBT middleware.

24rameshr commented 3 years ago

Hi Alan Guedes,

Thank you once again for your reply. Sorry for some layman questions.

These features are inherent to the system and can be used by both: (a) native TV terminal applications. Ex. closed caption is commonly accessed by TV menu or remote-control button. EWS alerts are implemented natively by TV terminals. (b) ginga applications thought APIs. Ex. there is API for chance service or gather EPG information.

I have worked on Android's TV input service and built some applications using that. Below is my understanding with respect to Android TVs,

"Live TV player -> Android Framework {TIF API} -> TV input service -> Broadcast Middleware -> SoC Vendor HAL APIs -> Tuner driver"

SoC vendor provides APIs for TS stream and a bunch of HAL APIs to access Subtitle, Closed Caption, EWS alerts etc. The broadcast middleware should use these APIs to build Tv Input service and also expose a bunch of Java APIs for the applications to consume. Applications(Live TV, EPG) build their business logic using TvInputService and Java APIs. With the above context, Could you please answer the below questions

  1. What do you mean by TV terminal in your response ?
  2. Can Ginga is a replacement for the above-mentioned broadcast middleware for ISDB-Tb ?

As a mentioned, today (D-Profile) Ginga supports three application environments: Ginga-NCL, Ginga-HTML, Ginga-CC-WebService. The last one support SmartTV and LAN-application thought REST APIs. Please look at "A Brief Overview about D-Profile of Ginga DTV Receivers" at https://sites.google.com/ice.ufjf.br/imxlatam. OBS: The Ginga-J become decrypted recently given royalty issues of Java environment.

  1. Thanks for sharing the link, I will go through and ask more questions.
  2. There is no support for Ginga-J going forward , is that correct ?

The short answer is no. Today Japan uses the HTML5 with extended JS API. Maybe it's possible a create compatibility layer. Something similar was done to HbbTV (https://ieeexplore.ieee.org/abstract/document/8662049).

  1. So, Ginga can be used to build HbbTV as well ?

TV middleware standards software layer to implemente by different TV manufatures to enable application compatibility. This layer has a set of API and application environment for different usage scenarios: addition information, multi video, hypervideo navigation, EPG, second screen, etc. OBS: BML is not a middleware. It is application environment inside the ISDBT middleware.

  1. So, Can I say Ginga provides a set of interfaces a.k.a APIs, the TV manufactures implement these APIs to enable application compatibility ?
  2. Also, Ginga provides environment for the applications to run on this environment, applications here could be Ginga-NCL based or Ginga-HTML based etc.
alanlivio commented 3 years ago

Hi again @24rameshr. Please see my answer inline below. Best regards.

What do you mean by TV terminal in your response?

I am talking from a perspective of open standardized middlewares (e.g. Ginga, HbbTV, etc), where government broadcast entities define a middleware layer to enable long-term compatibility to support broadcasters. I call AndroidTV (and others) as proprietaries middlewares defined by manufactures and they are oriented to businesses/branding. In many TV terminals, they may both existis accessing the same HAL APIs. So, when I say TV terminal or natively, I mean any non-open standardized middleware application accessing the HAL. In a AndroidTV example, it may be android app or a native app (e.g. C++).

Can Ginga is a replacement for the above-mentioned broadcast middleware for ISDB-Tb ?

I would not say replacement. It depends on terminal. In a SmartTV with AndroidTV, they may both exists and access the same HAL. Moreover, a STB commonly will only has the open standardized middleware.

Thanks for sharing the link, I will go through and ask more questions. There is no support for Ginga-J going forward , is that correct ?

Ginga-J is legacy.

So, Ginga can be used to build HbbTV as well?

I just say that a compatibility layer may be implement for HbbTV. Take look in the paper for more details.

So, Can I say Ginga provides a set of interfaces a.k.a APIs, the TV manufactures implement these APIs to enable application compatibility ?

Yes. Such like any other open standardized middleware.

Also, Ginga provides environment for the applications to run on this environment, applications here could be Ginga-NCL based or Ginga-HTML based etc.

When I say environment, I mean application runtime environment. It is runtime with set of APIs for specific application type. As I mention before, Ginga today has three: Ginga-NCL for NCL applications, Ginga-HTML for HTML applications, and Ginga-CC-WebService for any native (e.g. AndroidTV) or any local-network-based applications (e.g. second screen).

alanlivio commented 3 years ago

Hi @24rameshr. Given the absence of discussion, I will close the issue. Please feel free to reopen or create new ones in the future.