Chaînes de télévision en direct

L'intégration des chaînes de télévision en direct permet aux utilisateurs d'utiliser des commandes vocales pour regarder et changer de chaîne de télévision sur n'importe quel appareil compatible avec l'Assistant Google, comme Google Home, Android, Android TV ou Google TV, etc.

Changer de chaîne TV par commande vocale
Figure 1. Changer de chaîne de télévision à l'aide de commandes vocales

Les fournisseurs de services peuvent utiliser les objets de balisage BroadcastService, CableOrSatelliteService, TelevisionChannel et Organization pour fournir les informations sur les canaux dans les flux d'actions multimédias. Cela permet à Google de répondre aux requêtes utilisateur suivantes:

  • "Hey Google, mets ExampleTV."
  • "Hey Google, mets la chaîne ExampleTV-HD."
  • "Hey Google, passe sur la chaîne 7."
  • "Hey Google, ExampleTV-Drama."

Types d'entités de chaînes de télévision en direct

L'intégration de chaînes de télévision en direct nécessite quatre types d'entités (Organization, BroadcastService, CableOrSatelliteService et TelevisionChannel) dans votre flux de catalogue multimédia. Ces types d'entités permettent de répondre aux questions suivantes:

  • Quel est le fournisseur de services de télévision et quels services propose-t-il ?
  • Quel est l'ensemble de chaînes disponibles dans chacun de ces services (également appelé "grille de chaînes") ?

Les sections suivantes fournissent des informations plus détaillées sur les types d'entités et répondent aux questions précédentes.

Gardez à l'esprit le schéma des relations ci-dessous lorsque vous lisez les sections suivantes:

Liens entre différents types d'entités de chaînes de TV en direct
Figure. Liens entre différents types d'entités de chaînes de télévision en direct.

Représenter le fournisseur de services TV

Un fournisseur de services TV, également appelé opérateur TV, est une organisation qui propose un bouquet de programmes TV à ses abonnés. Dans la plupart des cas, il s'agit également du créateur du flux du catalogue multimédia. Elle est représentée par l'entité Organization. Seule une entité Organization représentant l'opérateur TV doit être ajoutée au flux.

Par exemple, un fournisseur de services IPTV fictif, "ExampleTV Digital", propose à sa base d'utilisateurs aux États-Unis l'accès à 180 chaînes dans le cadre de son service nommé "Digital Prime+".

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type":"Organization",
  "@id":"http://example.com/exampletv/digital",
  "name":"ExampleTV Digital",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_digital"
}

Représenter le service fourni par le fournisseur de services TV

Un CableOrSatelliteService représente un service de télévision par câble, satellite ou Internet régional fourni par un opérateur TV. Il est généralement associé à la grille de chaînes et renvoie à l'opérateur de télévision, représenté par l'entité Organisation. Une ou plusieurs entités CableOrSatelliteService peuvent être ajoutées au flux en fonction du nombre de services fournis par l'opérateur TV.

Dans cet exemple, une entité CableOrSatelliteService est créée pour décrire le service "Digital Prime+" qui couvre l'ensemble des États-Unis. Notez qu'il fait référence au fournisseur de services TV "ExampleTV Digital" à l'aide de la propriété provider.

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type":"CableOrSatelliteService",
  "@id":"http://example.com/example_iptv/us",
  "name":"Example TV Digital Prime Plus US Service",
  "provider": {
    "@type": "Organization",
    "@id": "http://example.com/exampletv/digital",
  },
  "areaServed":[
    {
      "@type":"Country",
      "name": "US",
    }
  ]
}

Représenter les chaînes fournies par le fournisseur de services TV

Les canaux sont représentés ensemble par trois entités: Organization, BroadcastService et TelevisionChannel.

  • L'entité BroadcastService est l'entité principale qui représente une chaîne de télévision qui distribue des programmes linéaires. Elle renvoie vers les entités Organization et TelevisionChannel, et est référencée par l'ensemble d'entités BroadcastEvent qui représentent ensemble son guide de programmes (ou la grille de la chaîne).

  • L'entité Organization représente la chaîne qui produit et distribue des programmes télévisés. Dans la plupart des cas, il s'agit d'une réplique de l'entité BroadcastService, mais il peut aussi représenter la chaîne de télévision à laquelle BroadcastService est affiliée. L'entité BroadcastService fait référence à l'entité Organization à l'aide de la propriété broadcastAffiliateOf. Il est essentiel de comprendre comment ces deux types d'entités sont liés. Pour en savoir plus, consultez la section Comprendre la relation entre l'organisation et l'entité BroadcastService ci-dessous.

  • L'entité TelevisionChannel identifie le BroadcastService par un identifiant unique, tel qu'un numéro de chaîne ou une chaîne, et l'ordre dans lequel il apparaît (sur les propriétés des fournisseurs, telles que les sites Web ou les applications) dans le service de télévision par câble, satellite ou Internet régional, représenté par l'entité CableOrSatelliteService.

Les entités TelevisionChannel, CableOrSatelliteService et Organization forment ensemble la notion de programmation.

Dans notre exemple, supposons que "ABC Movies " soit l'une des 180 chaînes auxquelles le fournisseur de services de télévision "ExampleTV Digital" donne accès dans le cadre de son service "Digital Prime+" aux États-Unis. Cette chaîne apparaît sous le numéro 7 dans la grille et au 18e rang dans l'application Android TV d'ExampleTV Digital. Vous trouverez ci-dessous une représentation de cette situation:

BroadcastService

Une entité BroadcastService représentant chacune la chaîne (dans ce cas, deux entités BroadcastService pour les chaînes fictives ExampleTV-MovieChannel et ExampleTV-ComedyChannel)


{
 "@context": ["http://schema.org", {"@language": "en"}],
 "@type":"BroadcastService",
 "@id":"https://www.example.com/exampletv/broadcast/movie",
 "name": "ExampleTV-Movie Channel",
 "alternateName": [
    "Example Television Movie Channel",
    "Example TV Movie Channel"
 ],
 "description": "A fictional Internet Protocol TV movie channel.",
 "broadcastDisplayName":"ExampleTV-MovieChannel",
 "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv/movie"
 },
 "identifier": [
    {
       "@type": "PropertyValue",
       "propertyID": "TMS_ID",
       "value": "12345"
    }
 ]
 }

Organisation

Une entité Organisation représentant chacune la chaîne TV (dans ce cas, le service numérique ExampleTV (Organisation) permet d'accéder à deux chaînes: ExampleTV-MovieChannel (Organisation) et ExampleTV-ComedyChannel (Organisation))


{
 "@context": ["http://schema.org", {"@language": "en"}],
 "@type":"Organization",
 "@id":"http://example.com/exampletv/movie",
 "name":"ExampleTV Movie Channel",
 "sameAs": "https://en.wikipedia.org/wiki/exampletv_movie"
 },
 {
 "@context": ["http://schema.org", {"@language": "en"}],
 "@type":"Organization",
 "@id":"http://example.com/exampletv/comedy",
 "name":"ExampleTV Comedy Channel",
 "sameAs": "https://en.wikipedia.org/wiki/exampletv_comedy"
 }

TelevisionChannel

Une (ou plusieurs) entité TelevisionChannel pour chaque BroadcastService représentant le numéro de chaîne sur lequel cette entité est disponible dans le service (CableOrSatelliteService) proposé par le fournisseur (Organization - TVOperator) (dans ce cas, les entités TelevisionChannel indiquent que le service IPTV ExampleTV Digital Service propose la programmation ExampleTV Movie sur la chaîne 7 et la programmation ExampleTV Comedy sur la chaîne 9)

  {
    "@context": ["http://schema.org", {"@language": "en"}],
    "@type":"TelevisionChannel",
    "@id":"http://example.com/exampletv/extv-movie",
    "broadcastChannelId":"7",
    "broadcastServiceTier":"Standard",
    "inBroadcastLineup":{
      "@type":"CableOrSatelliteService",
      "@id":"http://example.com/example_iptv/us"
    },
    "providesBroadcastService":{
      "@type":"BroadcastService",
      "@id":"https://www.example.com/exampletv/broadcast/movie"
    }
  }

Comprendre la relation entre l'entité "Organisation" et l'entité "BroadcastService"

L'entité BroadcastService est l'entité principale qui représente la chaîne de télévision. Bien que l'entité Organization soit une entité de flux obligatoire, elle n'existe en réalité que pour permettre aux fournisseurs de modéliser les trois cas d'utilisation d'exception présentés ci-dessous. Par conséquent, les fournisseurs doivent respecter le point clé suivant pour tous les cas d'utilisation, à l'exception des cas d'exception.

Il existe trois exceptions à cette règle, où une relation de type 1:N doit exister entre les entités Organization et BroadcastService. Ils sont décrits ci-dessous:

Chaînes locales ou affiliées

Par exemple, Fox dispose de chaînes affiliées locales appelées KCPQ à Seattle (États-Unis) et KTVU à San Francisco (États-Unis). KCPQ peut diffuser des actualités locales sur Seattle, tandis que KTVU peut diffuser des programmes répondant spécifiquement aux besoins de la base d'utilisateurs de San Francisco. Dans la plupart des cas, les utilisateurs ne connaissent pas le nom local de la chaîne, mais la reconnaissent simplement sous le nom Fox.

Dans ce cas, les chaînes locales ou affiliées doivent chacune être représentées par leurs propres entités BroadcastService, qui doivent toutes être associées à une entité Organization. Lorsque l'utilisateur souhaite changer de chaîne, il peut demander à l'Assistant Google de dire "Passer à Fox" ou "Passer à KTVU/KCPQ". Google passe au canal local approprié en fonction de l'emplacement de l'appareil de l'utilisateur et de son droit de regarder la chaîne demandée. Dans l'exemple précédent, vous devez créer une entité Organisation représentant Fox et l'associer à deux entités BroadcastService, chacune représentant une chaîne affiliée locale, KCPQ et KTVU.

Voici un autre exemple illustrant comment modéliser la chaîne ABC et ses chaînes affiliées locales:

Nom de l'organisationNom de BroadcastServiceEn couple
ABCKAALRelation 1:N entre l'entité Organization et l'entité BroadcastService
ABCKABC
ABCKAEF
ABCKAKE
ABCKAMC
ABCKAPP
ABCKATC
ABCKATN
ABCKATU
ABCKATV

Prenons un autre exemple. Ici, WXVT et WYOU sont des chaînes locales de CBS. CBS Sports Network n'est pas une chaîne locale et est indépendante des chaînes affiliées locales mentionnées précédemment.

Nom de l'organisationNom de BroadcastServiceEn couple
CBSWXVTRelation 1:N entre l'entité Organization et l'entité BroadcastService
CBSWYOU
CBS Sports NetworkCBS Sports Network HDRelation de type un à un entre l'entité Organization et l'entité BroadcastService

Pour illustrer ce point, prenons l'exemple des chaînes EPIX et EPIX 2. Elles sont toutes deux disponibles à l'échelle nationale, proposent des programmes totalement différents, ne sont pas des variantes d'une même chaîne et ne sont donc pas considérées comme des chaînes locales.

Nom de l'organisation Nom de BroadcastService En couple
EPIX EPIX Relation de type un à un entre l'entité Organization et l'entité BroadcastService
EPIX 2 EPIX 2 Relation de type un à un entre l'entité Organization et l'entité BroadcastService

Chaînes décalées dans le temps

Dans ce cas, chaque chaîne décalée dans le temps doit être représentée par sa propre entité BroadcastService, qui doit toutes être connectées à une entité Organization. Voici un exemple illustrant comment modéliser les chaînes différées:

Nom de l'organisationNom de BroadcastServiceEn couple
STARZ EncoreSTARZ Encore WestRelation 1:N entre l'entité Organization et l'entité BroadcastService
STARZ EncoreSTARZ Encore East

Canaux avec différence de qualité de streaming

Par exemple, les chaînes STARZ Encore Action HD et STARZ Encore Action SD diffusent exactement la même programmation (EPG), et la qualité du streaming est la seule différence entre elles. Dans ce cas, chaque canal de diffusion de qualité vidéo doit être représenté par sa propre entité BroadcastService, qui doit toutes se connecter à une entité Organization.

Voici un exemple montrant comment modéliser les chaînes présentant une différence de qualité de streaming:

Nom de l'organisationNom de BroadcastServiceEn couple
SBSSBSRelation 1:N entre l'entité Organization et l'entité BroadcastService
SBSSBS HD

Voici un exemple de cas d'utilisation complexe qui rassemble tous les cas d'utilisation en jeu:

Nom de l'organisation Nom de BroadcastService En couple
Starz STARZ East Relation 1:N entre l'entité Organization et l'entité BroadcastService en raison des chaînes différées
Starz STARZ West
STARZ Kids & FamilySTARZ Kids & FamilyRelation de type un à un entre l'entité Organization et l'entité BroadcastService
STARZ Encore BlackSTARZ Encore BlackRelation de type un à un entre l'entité Organization et l'entité BroadcastService
STARZ Encore ClassicSTARZ Encore ClassicRelation de type un à un entre l'entité Organization et l'entité BroadcastService
STARZ Encore FamilySTARZ Encore FamilyRelation de type un à un entre l'entité Organization et l'entité BroadcastService
STARZ Encore SuspenseSTARZ Encore SuspenseRelation de type un à un entre l'entité Organization et l'entité BroadcastService
STARZ Encore ActionSTARZ Encore Action HDRelation 1:N entre l'entité Organization et l'entité BroadcastService en raison de différences de qualité de streaming
STARZ Encore ActionSTARZ Encore Action SD
STARZ EncoreSTARZ Encore WestRelation 1:N entre l'entité Organization et l'entité BroadcastService en raison des chaînes différées
STARZ EncoreSTARZ Encore East

Exemples

Fournisseur de services de télévision nationaux avec des chaînes régionales

Organisation

Un fournisseur de services de télévision fictif, Example Cable TV Company (Organization), propose un service de télévision en direct sur un réseau câblé dans deux régions: New York et San Francisco. Le service contient deux chaînes: ExampleTV (Organization) et ExampleTV2 (Organization):

{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id": "http://example.com/example_cable_tv_company",
  "name": "Example Cable TV Company",
  "sameAs": "https://en.wikipedia.org/wiki/example_cable_company"
},
{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv",
  "name":"ExampleTV Network",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv"
},
{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv2",
  "name":"ExampleTV2 Network",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv2"
}

BroadcastService

Ces entités BroadcastService fournissent les détails des liens profonds et des exigences d'accès pour les chaînes ExampleTV en HD et ExampleTV2:

{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/exampletv/broadcast/hd",
  "name": "ExampleTV HD",
  "description": "A fictional TV broadcast service in HD",
  "broadcastDisplayName":"ExampleTV-HD",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv"
  },
  "potentialAction": {
    "@type": "WatchAction",
    "target": [
      {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/exampletv/broadcast/hd?autoplay=true",
        "inLanguage": "en",
        "actionPlatform": [
          "http://schema.org/DesktopWebPlatform",
          "http://schema.org/MobileWebPlatform",
          "http://schema.org/AndroidPlatform",
          "http://schema.org/AndroidTVPlatform",
          "http://schema.org/IOSPlatform"
        ]
      },
      {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/exampletv/broadcast/androidtv/hd?autoplay=true",
        "inLanguage": "en",
        "actionPlatform": [
          "http://schema.googleapis.com/GoogleVideoCast"
        ]
      }
    ],
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "subscription",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://www.example.com/exampletv/basic_subscription",
        "name": "Basic subscription",
        "identifier": "example.com:basic",
        "commonTier": true
      },
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        }
      ]
    }
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "TMS_ID",
      "value": "102610"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "exampletv-12345"
    }
  ]
},
{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/exampletv2/broadcast",
  "name": "ExampleTV2",
  "description": "A fictional TV broadcast service ExampleTV 2",
  "broadcastDisplayName":"ExampleTV2",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv2"
  },
  "potentialAction": {
    "@type": "WatchAction",
    "target": [
      {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/exampletv2/broadcast/?autoplay=true",
        "inLanguage": "en",
        "actionPlatform": [
          "http://schema.org/DesktopWebPlatform",
          "http://schema.org/MobileWebPlatform",
          "http://schema.org/AndroidPlatform",
          "http://schema.org/AndroidTVPlatform",
          "http://schema.org/IOSPlatform"
        ]
      },
      {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/exampletv2/broadcast/androidtv/?autoplay=true",
        "inLanguage": "en",
        "actionPlatform": [
          "http://schema.googleapis.com/GoogleVideoCast"
        ]
      }
    ],
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "subscription",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://www.example.com/exampletv/basic_subscription",
        "name": "Basic subscription",
        "identifier": "example.com:basic",
        "commonTier": true
      },
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        }
      ]
    }
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "TMS_ID",
      "value": "333339"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "exampletv2-11115"
    }
  ]
}

CableOrSatelliteService

Ces entités CableOrSatelliteService décrivent les services de télévision par câble à New York (DMA_ID=501) et dans la région de la baie de San Francisco (DMA_ID=807), qui sont fournis par le fournisseur de services de télévision à l'échelle nationale Example Cable TV Company (Organization):

{
  "@context":"http://schema.org",
  "@type":"CableOrSatelliteService",
  "@id":"http://example.com/example_cable_tv_company_new_york",
  "name":"Example Cable TV Company - New York",
  "provider": {
    "@type": "Organization",
    "@id": "http://example.com/example_cable_tv_company",
  },
  "areaServed":[
    {
      "@type": "GeoShape",
      "@id": "http://example.com/newyork_01",
      "identifier": [
        {
          "@type": "PropertyValue",
          "propertyID": "DMA_ID",
          "value": "501"
        }
      ]
    }
  ]
},
{
  "@context":"http://schema.org",
  "@type":"CableOrSatelliteService",
  "@id":"http://example.com/example_cable_tv_company_san_francisco_bay",
  "name":"Example Cable TV Company - San Francisco Bay",
  "provider": {
    "@type": "Organization",
    "@id": "http://example.com/example_cable_tv_company",
    "name": "Example Cable TV Company"
  },
  "areaServed":[
    {
      "@type": "GeoShape",
      "@id": "http://example.com/bayarea_01",
      "identifier": [
        {
          "@type": "PropertyValue",
          "propertyID": "DMA_ID",
          "value": "807"
        }
      ]
    }
  ]
}

TelevisionChannel

Ces entités TelevisionChannel indiquent que le fournisseur de services de télévision régional Example Cable TV Company - San Francisco Bay diffuse ExampleTV-HD sur la chaîne 7 et ExampleTV2 sur la chaîne 11, et que le fournisseur de services de télévision régional Example Cable TV Company - New York diffuse ExampleTV-HD sur la chaîne 12 et ExampleTV2 sur la chaîne 4:

{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/example_cable_tv_company_san_francisco/exampletv",
  "broadcastChannelId":"7",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_cable_tv_company_san_francisco_bay"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv/broadcast/hd"
  }
},
{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/example_cable_tv_company_san_francisco/exampletv2",
  "broadcastChannelId":"11",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_cable_tv_company_san_francisco_bay"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv2/broadcast"
  }
},
{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/example_cable_tv_company_new_york/exampletv",
  "broadcastChannelId":"12",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_cable_tv_company_new_york"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv/broadcast/hd"
  }
},
{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/example_cable_tv_company_new_york/exampletv2",
  "broadcastChannelId":"4",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_cable_tv_company_new_york"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv2/broadcast"
  }
}

Fournisseur de services TV nationaux sur Internet

Organisation

Un fournisseur de services de télévision par protocole Internet fictif, ExampleTV Digital Service (Organization), propose un service de télévision en direct sur Internet, qui comprend les deux chaînes suivantes: ExampleTV-Movie (Organization) et ExampleTV-Comedy (Organization):

{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv/digital",
  "name":"ExampleTV Digital Service",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_digital_service"
},
{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv/movie",
  "name":"ExampleTV Movie",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_movie"
},
{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv/comedy",
  "name":"ExampleTV Comedy",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_comedy"
}

BroadcastService

Ces deux entités BroadcastService fournissent les détails des liens profonds et les exigences d'accès pour les chaînes fictives ExampleTV-Movie et ExampleTV-Comedy:

{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/exampletv/broadcast/movie",
  "name": "ExampleTV-Movie",
  "description": "A fictional Internet Protocol TV movie channel.",
  "broadcastDisplayName":"ExampleTV-Movie",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv/movie"
  },
  "potentialAction": {
    "@type": "WatchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "http://www.example.com/exampletv/broadcast/movie?autoplay=true",
      "inLanguage": "en",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform",
        "http://schema.org/MobileWebPlatform",
        "http://schema.org/AndroidPlatform",
        "http://schema.org/AndroidTVPlatform",
        "http://schema.org/IOSPlatform",
        "http://schema.googleapis.com/GoogleVideoCast"
      ]
    },
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "subscription",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://www.example.com/exampletv/basic_subscription",
        "name": "Basic subscription",
        "identifier": "example.com:basic",
        "commonTier": true
      },
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        }
      ]
    }
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "TMS_ID",
      "value": "12345"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "exampletv-movie-33345"
    }
  ]
},
{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/exampletv/broadcast/comedy",
  "name": "ExampleTV-Comedy",
  "description": "A fictional Internet Protocol TV comedy channel.",
  "broadcastDisplayName":"ExampleTV-Comedy",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv/comedy"
  },
  "potentialAction": {
    "@type": "WatchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "http://www.example.com/exampletv/broadcast/comedy?autoplay=true",
      "inLanguage": "en",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform",
        "http://schema.org/MobileWebPlatform",
        "http://schema.org/AndroidPlatform",
        "http://schema.org/AndroidTVPlatform",
        "http://schema.org/IOSPlatform",
        "http://schema.googleapis.com/GoogleVideoCast"
      ]
    },
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "subscription",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://www.example.com/exampletv/basic_subscription",
        "name": "Basic subscription",
        "identifier": "example.com:basic",
        "commonTier": true
      },
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        }
      ]
    }
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "TMS_ID",
      "value": "15555"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "exampletv-comedy-12323"
    }
  ]
}

CableOrSatelliteService

Cet élément CableOrSatelliteService décrit le fournisseur de services ExampleTV Digital Service, qui couvre l'ensemble du pays:

{
  "@context":"http://schema.org",
  "@type":"CableOrSatelliteService",
  "@id":"http://example.com/example_iptv/us",
  "name":"Example TV Digital Service - US",
  "provider": {
    "@type": "Organization",
    "@id": "http://example.com/exampletv/digital",
  },
  "areaServed":[
    {
      "@type":"Country",
      "name": "US",
    }
  ]
}

TelevisionChannel

Ces entités TelevisionChannel indiquent que le service IPTV ExampleTV Digital Service propose la programmation ExampleTV Movie sur la chaîne ExTV-Movie et la programmation ExampleTV Comedy sur la chaîne ExTV-Comedy:

{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/exampletv/extv-movie",
  "broadcastChannelId":"ExTV-Movie",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_iptv/us"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv/broadcast/movie"
  }
},
{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/exampletv/extv-comedy",
  "broadcastChannelId":"ExTV-Comedy",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_iptv/us"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv/broadcast/comedy"
  }
}

La grille de programmes pour laquelle le changement de chaîne est assuré par le fournisseur de services de télévision

Organisation

ExampleTV Digital Service (Organization), un fournisseur de services de télévision fictif, permet à ses utilisateurs d'accéder aux chaînes IPTV fictives ExampleTV-Sports (Organization) et ExampleTV-Drama (Organization) via un boîtier décodeur qu'il vend.

{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv/digital",
  "name":"ExampleTV Digital Service",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_digital_service"
},
{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv/sports",
  "name":"ExampleTV Sports",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_sports"
},
{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv/drama",
  "name":"ExampleTV Drama",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv_drama"
}

BroadcastService

Ces deux entités BroadcastService décrivent les chaînes ExampleTV-Sports et ExampleTV-Drama (les liens profonds sont facultatifs):

{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/exampletv/sports/broadcast",
  "name": "ExampleTV-Sports",
  "description": "A fictional Internet Protocol TV service that streams live sports events",
  "broadcastDisplayName":"ExampleTV-Sports",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv/sports"
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "exampletv-sports-11123"
    }
  ]
},
{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/exampletv/drama/broadcast",
  "name": "ExampleTV-Drama",
  "description": "A fictional Internet Protocol TV service that streams TV drama shows",
  "broadcastDisplayName":"ExampleTV-Drama",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv/drama"
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "exampletv-drama-11500"
    }
  ]
}

CableOrSatelliteService

Cet élément CableOrSatelliteService décrit le fournisseur de services ExampleTV Digital Service, qui couvre l'ensemble du pays:

{
  "@context":"http://schema.org",
  "@type":"CableOrSatelliteService",
  "@id":"http://example.com/example_iptv/us",
  "name":"Example TV Digital Service - US",
  "provider": {
    "@type": "Organization",
    "@id": "http://example.com/exampletv/digital",
  },
  "areaServed":[
    {
      "@type":"Country",
      "name": "US",
    }
  ]
}

TelevisionChannel

Ces entités TelevisionChannel indiquent que le service IPTV ExampleTV Digital Service propose la programmation ExampleTV Movie sur la chaîne ExTV-Movie et la programmation ExampleTV Comedy sur la chaîne ExTV-Comedy:

{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/exampletv/extv-sports",
  "broadcastChannelId":"ExampleTV-Sports",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_iptv/us"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv/drama/broadcast"
  }
},
{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/exampletv/extv-drama",
  "broadcastChannelId":"ExampleTV-Drama",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_iptv/us"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/exampletv/drama/broadcast"
  }
}

Fournisseur de services TV avec des chaînes affiliées ou locales

Organisation

Example Cable TV Company (Organization), un fournisseur de services TV (également appelé opérateur TV), propose un service de télévision en direct (nommé Example Cable TV Service, un CableOrSatelliteService) sur un réseau câblé aux États-Unis. Le service contient une chaîne TV: ExampleTV Network (Organization):

{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id": "http://example.com/example_cable_tv_company",
  "name": "Example Cable TV Company",
  "sameAs": "https://en.wikipedia.org/wiki/example_cable_company"
},
{
  "@context":"http://schema.org",
  "@type":"Organization",
  "@id":"http://example.com/exampletv",
  "name":"ExampleTV Network",
  "sameAs": "https://en.wikipedia.org/wiki/exampletv"
}

BroadcastService

ExampleTV Network (Organisation) possède deux chaînes locales, NYTV (BroadcastService) à New York et NJTV (BroadcastService) au New Jersey. Ces entités BroadcastService fournissent les détails des liens profonds et des exigences d'accès pour les chaînes NYTV et NJTV. Notez que ces deux BroadcastServices se connectent à la même organisation (ExampleTV Network) via la propriété broadcastAffiliateOf:

{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/nytv/broadcast",
  "name": "NYTV",
  "description": "A fictional TV broadcast service",
  "broadcastDisplayName":"NYTV",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv"
  },
  "potentialAction": {
    "@type": "WatchAction",
    "target": [
      {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/nytv/broadcast/hd?autoplay=true",
        "inLanguage": "en",
        "actionPlatform": [
          "http://schema.org/DesktopWebPlatform",
          "http://schema.org/MobileWebPlatform",
          "http://schema.org/AndroidPlatform",
          "http://schema.org/AndroidTVPlatform",
          "http://schema.org/IOSPlatform"
        ]
      }
    ],
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "subscription",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://www.example.com/nytv/basic_subscription",
        "name": "Basic subscription",
        "identifier": "example.com:basic"
      },
      "eligibleRegion": [
          {
              "@id": "http://sling.com/dma/501",
              "@type": "GeoShape",
              "addressCountry": "US",
              "identifier": {
                  "@type": "PropertyValue",
                  "propertyID": "DMA_ID",
                  "value": "501"
              }
          }
      ]
    }
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "TMS_ID",
      "value": "102610"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "nytv-12345"
    }
  ]
},
{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"https://www.example.com/njtv/broadcast/hd",
  "name": "NJTV HD",
  "description": "A fictional TV broadcast service in HD",
  "broadcastDisplayName":"NJTV-HD",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://www.example.com/exampletv"
  },
  "potentialAction": {
    "@type": "WatchAction",
    "target": [
      {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/njtv/broadcast/hd?autoplay=true",
        "inLanguage": "en",
        "actionPlatform": [
          "http://schema.org/DesktopWebPlatform",
          "http://schema.org/MobileWebPlatform",
          "http://schema.org/AndroidPlatform",
          "http://schema.org/AndroidTVPlatform",
          "http://schema.org/IOSPlatform"
        ]
      }
    ],
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "subscription",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://www.example.com/njtv/basic_subscription",
        "name": "Basic subscription",
        "identifier": "example.com:basic"
      },
      "eligibleRegion": [
          {
              "@id": "http://sling.com/dma/807",
              "@type": "GeoShape",
              "addressCountry": "US",
              "identifier": {
                  "@type": "PropertyValue",
                  "propertyID": "DMA_ID",
                  "value": "807"
              }
          }
      ]
    }
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "TMS_ID",
      "value": "102611"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "_PARTNER_ID_",
      "value": "njtv-12345"
    }
  ]
}

CableOrSatelliteService

L'entité CableOrSatelliteService décrit les services de télévision par câble proposés par le fournisseur de services de télévision à l'échelle nationale Example Cable TV Company (Organization):

{
  "@context":"http://schema.org",
  "@type":"CableOrSatelliteService",
  "@id":"http://example.com/example_cable_tv_company/service",
  "name":"Example Cable TV Service",
  "provider": {
    "@type": "Organization",
    "@id": "http://example.com/example_cable_tv_company",
    "name": "Example Cable TV Company"
  },
  "areaServed": {
    "@type": "Country",
    "name": "US"
  }
}

TelevisionChannel

Ces entités TelevisionChannel indiquent que le fournisseur de services TV Example Cable TV Company propose NYTV sur la chaîne 7 et NJTV HD sur la chaîne 12:

{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/example_cable_tv_company/nytv",
  "broadcastChannelId":"7",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_cable_tv_company/service"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/nytv/broadcast"
  }
}
{
  "@context":"http://schema.org",
  "@type":"TelevisionChannel",
  "@id":"http://example.com/example_cable_tv_company/njtv",
  "broadcastChannelId":"12",
  "broadcastServiceTier":"Standard",
  "inBroadcastLineup":{
    "@type":"CableOrSatelliteService",
    "@id":"http://example.com/example_cable_tv_company/service"
  },
  "providesBroadcastService":{
    "@type":"BroadcastService",
    "@id":"https://www.example.com/njtv/broadcast/hd"
  }
}

Changement de chaîne sur Android TV

Grâce à l'intégration des chaînes de télévision en direct, les utilisateurs peuvent demander à Google de changer de chaîne à l'aide de commandes vocales. Google utilise le traitement du langage naturel (TLN) pour extraire les paramètres des requêtes des utilisateurs et identifier la chaîne qu'ils souhaitent regarder. Google gère ensuite le changement de chaîne de l'une des manières suivantes:

  • Traité par Google : Google effectue le changement de chaîne à l'aide d'un lien profond fourni dans un flux d'actions multimédias. Les informations du flux permettent à Google de rechercher le lien profond de la chaîne que l'utilisateur souhaite regarder. Google redirige ensuite l'utilisateur directement vers le contenu de l'application ou de la plate-forme du fournisseur de services.
  • Traité par le fournisseur de services TV : Google envoie une demande au fournisseur de services. Google et les fournisseurs de services peuvent coordonner le changement de chaîne de plusieurs manières. Contactez Google pour en savoir plus sur l'intégration avec les autres plates-formes de Google (Android TV, Made By Google, Assistant pour les opérateurs, par exemple).

Le type d'informations requis dans un flux d'actions multimédias dépend de la manière dont le fournisseur de services souhaite que Google gère le changement de chaîne.