Canais de TV ao vivo

A integração de canais de TV ao vivo permite que os usuários usem comandos de voz para assistir e mudar de canal em qualquer dispositivo compatível com o Google Assistente, como Google Home, Android, Android TV ou Google TV, entre outros.

Usar a voz para mudar de canal na TV
Figura 1. Usar a voz para mudar de canal na TV.

Os provedores de serviços podem usar os objetos de marcação BroadcastService, CableOrSatelliteService, TelevisionChannel e Organization para fornecer os detalhes dos canais nos feeds de Ações de mídia, permitindo que o Google ofereça suporte às seguintes consultas do usuário:

  • "Ok Google, tocar ExampleTV".
  • "Ok Google, sintonize ExampleTV-HD."
  • "Ok Google, mude para o canal 7."
  • "Ok Google, ExampleTV-Drama."

Tipos de entidade de canal de TV ao vivo

A integração de canais de TV ao vivo exige quatro tipos de entidade (Organization, BroadcastService, CableOrSatelliteService e TelevisionChannel) no feed do catálogo de mídia. Esses tipos de entidade ajudam a responder às seguintes perguntas:

  • Quem é o provedor de serviços de TV e quais serviços ele oferece?
  • Qual é o conjunto de canais disponível como parte de cada um desses serviços (também chamado de programação de canais)?

As seções a seguir abordam mais detalhadamente os tipos de entidade e fornecem respostas às perguntas anteriores.

Tenha o seguinte diagrama de relacionamento em mente ao ler as seções abaixo:

Conexões entre vários tipos de entidades de canais de TV ao vivo
Figura. Conexões entre vários tipos de entidades de canais de TV ao vivo.

Representar o provedor de serviços de TV

Um provedor de serviços de TV, também chamado de operador de TV, é uma organização que oferece um pacote de programação de TV aos assinantes. Na maioria dos casos, essa pessoa também é a criadora do feed do catálogo de mídia. Isso é representado pela entidade Organization. Apenas uma entidade Organization, que representa o operador de TV, precisa ser adicionada ao feed.

Por exemplo, um provedor de serviços de IPTV fictício "ExampleTV Digital" oferece acesso a 180 canais para a base de usuários nos EUA como parte do serviço chamado "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"
}

Representar o serviço fornecido pelo provedor de serviços de TV

Um CableOrSatelliteService representa um serviço regional de TV a cabo, por satélite ou pela Internet fornecido por um operador de TV. Geralmente, ela está associada à programação dos canais e é vinculada ao operador de TV, representado pela entidade Organização. Uma ou mais entidades CableOrSatelliteService podem ser adicionadas ao feed, dependendo do número de serviços fornecidos pelo operador de TV.

Neste exemplo, uma entidade CableOrSatelliteService é criada para descrever o serviço "Digital Prime+" com cobertura nacional nos EUA. Observe como ele faz referência ao provedor de serviços de TV "ExampleTV Digital" usando a propriedade 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",
    }
  ]
}

Representar os canais fornecidos pelo provedor de serviços de TV

Os canais são representados juntos por três entidades: Organization, BroadcastService e TelevisionChannel.

  • A entidade BroadcastService é a principal que representa um canal de TV que distribui programação linear. Ele vincula as entidades Organization e TelevisionChannel e é referenciado pelo conjunto de entidades BroadcastEvent que, juntas, representam o guia de programação (ou a programação do canal).

    • A entidade BroadcastService também precisa ter links diretos e requisitos de acesso bem definidos. O esquema BroadcastService permite restringir o acesso a um canal com base na localização atual do dispositivo do usuário (usando as propriedades eligibleRegion e ineligibleRegion). Consulte os casos de uso de direitos de TV ao vivo para mais detalhes.
  • A entidade Organization representa o canal que produz e distribui a programação de TV. Na maioria dos casos, essa é uma réplica da entidade BroadcastService. Em outros casos, ela pode representar a rede de TV à qual a BroadcastService está afiliada. A entidade BroadcastService faz referência à entidade Organization usando a propriedade broadcastAffiliateOf. É crucial entender como esses dois tipos de entidade estão relacionados. Saiba mais sobre isso na seção Como entender a relação entre a organização e a entidade BroadcastService abaixo.

  • A entidade TelevisionChannel identifica o BroadcastService por um identificador exclusivo, como um número de canal ou uma string, e a ordem em que ele aparece (em propriedades dos provedores, como sites ou apps) no serviço regional de TV a cabo, por satélite ou pela Internet, representado pela entidade CableOrSatelliteService.

As entidades TelevisionChannel, CableOrSatelliteService e Organization juntas formam a noção de uma programação.

No nosso exemplo, digamos que "ABC Movies" seja um dos 180 canais que o provedor de serviços de TV "ExampleTV Digital" disponibiliza como parte do serviço "Digital Prime+" nos EUA. Esse canal aparece como o número 7 na programação e em 18º no app Android TV do ExampleTV Digital. Confira abaixo:

Uma entidade BroadcastService representando o canal (neste caso, duas entidades BroadcastService para os canais fictícios ExampleTV-MovieChannel e 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"
    }
 ]
 }

Uma entidade de organização que representa a TVNetwork (neste caso, o serviço digital ExampleTV (organização) fornece acesso a dois canais: ExampleTV-MovieChannel (organização) e ExampleTV-ComedyChannel (organização))


{
 "@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"
 }

Uma (ou mais) entidade TelevisionChannel para cada BroadcastService que represente o número do canal em que essa entidade está disponível no serviço (CableOrSatelliteService) oferecido pelo provedor (Organização - TVOperator). Nesse caso, as entidades TelevisionChannel indicam que o serviço IPTV do ExampleTV Digital tem a programação de filmes do ExampleTV no canal 7 e a programação de comédia do ExampleTV no canal 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"
    }
  }

Entender a relação entre a organização e a entidade BroadcastService

A entidade BroadcastService é a principal que representa o canal de TV. Embora a entidade Organization seja uma entidade de feed obrigatória, ela existe apenas para permitir que os provedores modelem os três casos de uso de exceção apresentados abaixo. Por isso, os provedores precisam seguir o ponto principal a seguir para todos os casos de uso, exceto os de exceção.

Há três exceções à regra geral, em que uma relação 1:N entre as entidades Organization e BroadcastService precisa existir. Eles são discutidos abaixo:

Canais locais ou afiliados

Por exemplo, a Fox tem canais afiliados locais, chamados KCPQ em Seattle, EUA e KTVU em São Francisco, EUA. A KCPQ pode transmitir notícias locais sobre Seattle, enquanto a KTVU pode transmitir programas que atendem especificamente às necessidades da base de usuários de São Francisco. Na maioria dos casos, os usuários podem não saber o nome local do canal, mas simplesmente o reconhecem como Fox.

Nesse caso, os canais locais ou afiliados precisam ser representados pelas próprias entidades BroadcastService, que devem se conectar a uma entidade Organization. Quando o usuário quiser mudar para esses canais, ele poderá pedir ao Google Assistente para "Mudar para Fox" ou "Mudar para KTVU/KCPQ". O Google vai mudar para o canal local apropriado dependendo da localização do dispositivo do usuário e se ele tem direito de assistir o canal solicitado. No exemplo anterior, você criaria uma entidade Organization representando Fox e a vincularia a duas entidades BroadcastService, cada uma representando uma afiliada local, KCPQ e KTVU.

Confira outro exemplo que mostra como o canal ABC e os canais afiliados locais devem ser modelados:

Nome da organizaçãoNome do BroadcastServiceRelacionamento
ABCKAALRelação 1:N entre a entidade Organization e a entidade BroadcastService
ABCKABC
ABCKAEF
ABCKAKE
ABCKAMC
ABCKAPP
ABCKATC
ABCKATN
ABCKATU
ABCKATV

Vamos considerar outro exemplo. Aqui, WXVT e WYOU são canais locais da CBS. A CBS Sports Network não é um canal local e é independente das afiliadas locais mencionadas anteriormente.

Nome da organizaçãoNome do BroadcastServiceRelacionamento
CBSWXVTRelação 1:N entre a entidade Organization e a entidade BroadcastService
CBSWYOU
CBS Sports NetworkCBS Sports Network HDRelação de 1:1 entre a entidade Organization e BroadcastService

Para entender melhor, vamos usar os canais EPIX e EPIX 2 como exemplo. Ambos estão disponíveis em todo o país, oferecem programação diferente, não são variações de um canal e, portanto, não são considerados canais locais.

Nome da organização Nome do BroadcastService Relacionamento
EPIX EPIX Relação de 1:1 entre a entidade Organization e BroadcastService
EPIX 2 EPIX 2 Relação de 1:1 entre a entidade Organization e BroadcastService

Canais temporizados

Nesse caso, cada canal com mudança de horário precisa ser representado pela própria entidade BroadcastService, e todos precisam se conectar a uma entidade Organization. Confira um exemplo que mostra como os canais com mudança de horário devem ser modelados:

Nome da organizaçãoNome do BroadcastServiceRelacionamento
STARZ EncoreSTARZ Encore WestRelação 1:N entre a entidade Organization e a entidade BroadcastService
STARZ EncoreSTARZ Encore East

Canais com diferença na qualidade do streaming

Por exemplo, os canais STARZ Encore Action HD e STARZ Encore Action SD têm a mesma programação (EPG), e a única diferença entre eles é a qualidade do streaming. Nesse caso, cada canal de streaming de qualidade de vídeo precisa ser representado pela própria entidade BroadcastService, que precisa se conectar a uma entidade Organization.

Confira um exemplo de como modelar canais com diferenças na qualidade de streaming:

Nome da organizaçãoNome do BroadcastServiceRelacionamento
SBSSBSRelação 1:N entre a entidade Organization e a entidade BroadcastService
SBSSBS HD

Confira um exemplo de caso de uso complicado que reúne todos os casos de uso em jogo:

Nome da organização Nome do BroadcastService Relacionamento
Starz STARZ East Relação 1:N entre a entidade Organization e BroadcastService devido a canais com mudança de horário
Starz STARZ West
STARZ Kids & FamilySTARZ Kids & FamilyRelação de 1:1 entre a entidade Organization e BroadcastService
STARZ Encore BlackSTARZ Encore BlackRelação de 1:1 entre a entidade Organization e BroadcastService
STARZ Encore ClsicSTARZ Encore ClassicRelação de 1:1 entre a entidade Organization e BroadcastService
STARZ Encore FamilySTARZ Encore FamilyRelação de 1:1 entre a entidade Organization e BroadcastService
STARZ Encore SuspenseSTARZ Encore SuspenseRelação de 1:1 entre a entidade Organization e BroadcastService
STARZ Encore ActionSTARZ Encore Action HDRelação 1:N entre a entidade Organization e BroadcastService devido a diferenças na qualidade do streaming
STARZ Encore ActionSTARZ Encore Action SD
STARZ EncoreSTARZ Encore WestRelação 1:N entre a entidade Organization e BroadcastService devido a canais com mudança de horário
STARZ EncoreSTARZ Encore East

Exemplos

Provedor de serviços de TV nacional com programações regionais

Um provedor de serviços de TV fictício, a Example Cable TV Company (Organization), oferece serviço de TV ao vivo em uma rede a cabo em duas regiões: Nova York e São Francisco. O serviço contém dois canais: ExampleTV (Organization) e 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"
}

Essas entidades BroadcastService fornecem os detalhes dos links diretos e o requisito de acesso para os canais ExampleTV em HD e 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"
    }
  ]
}

Essas entidades CableOrSatelliteService descrevem os serviços de TV a cabo em Nova York (DMA_ID=501) e na área da baía de São Francisco (DMA_ID=807), que são fornecidos pelo provedor de serviços de TV nacional 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"
        }
      ]
    }
  ]
}

Essas entidades TelevisionChannel indicam que o provedor de serviços de TV regional Example Cable TV Company - San Francisco Bay tem ExampleTV-HD no canal 7 e ExampleTV2 no canal 11, e o provedor de serviços de TV regional Example Cable TV Company - New York tem ExampleTV-HD no canal 12 e ExampleTV2 no canal 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"
  }
}

Provedor de serviços de TV nacional na Internet

Um provedor de serviços de TV por protocolo de Internet fictício, ExampleTV Digital Service (Organization), oferece um serviço de TV ao vivo na Internet, que contém os seguintes canais: ExampleTV-Movie (Organization) e 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"
}

Essas duas entidades BroadcastService fornecem os detalhes dos links diretos e o requisito de acesso para os canais fictícios ExampleTV-Movie e 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"
    }
  ]
}

Este CableOrSatelliteService descreve o provedor de serviços ExampleTV Digital Service, que tem cobertura nacional:

{
  "@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",
    }
  ]
}

Essas entidades TelevisionChannel indicam que o IPTV do ExampleTV Digital Service tem a programação ExampleTV Movie no canal ExTV-Movie e a programação ExampleTV Comedy no canal 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"
  }
}

Linha de canais em que a troca de canal é feita pelo provedor de serviços de TV

Um provedor de serviços de TV fictício, ExampleTV Digital Service (Organization), oferece aos usuários acesso a canais fictícios de IPTV ExampleTV-Sports (Organization) e ExampleTV-Drama (Organization) por meio de um set-top box que vende.

{
  "@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"
}

Estas duas entidades BroadcastService descrevem os canais ExampleTV-Sports e ExampleTV-Drama (os links diretos são opcionais):

{
  "@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"
    }
  ]
}

Este CableOrSatelliteService descreve o provedor de serviços ExampleTV Digital Service, que tem cobertura nacional:

{
  "@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",
    }
  ]
}

Essas entidades TelevisionChannel indicam que o IPTV do ExampleTV Digital Service tem a programação ExampleTV Movie no canal ExTV-Movie e a programação ExampleTV Comedy no canal 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"
  }
}

Provedor de serviços de TV com canais afiliados ou locais

Um provedor de serviços de TV (também chamado de operador de TV), Example Cable TV Company (Organization), oferece o serviço de TV ao vivo (chamado 'Example Cable TV Service', um CableOrSatelliteService) em uma rede a cabo nos EUA. O serviço contém uma rede de 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"
}

A ExampleTV Network (organização) tem dois canais locais, NYTV (BroadcastService) em Nova York e NJTV (BroadcastService) em Nova Jersey. Essas entidades BroadcastService fornecem os detalhes dos links diretos e o requisito de acesso para os canais NYTV e NJTV. Observe que esses dois BroadcastServices se conectam à mesma organização (ExampleTV Network) pela propriedade 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"
    }
  ]
}

A entidade CableOrSatelliteService descreve os serviços de TV a cabo oferecidos pelo provedor de serviços de TV nacional Exemplo de empresa de TV a cabo (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"
  }
}

Essas entidades TelevisionChannel indicam que o provedor de serviços de TV Example Cable TV Company tem NYTV no canal 7 e NJTV HD no canal 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"
  }
}

Mudança de canal no Android TV

Com a integração do canal de TV ao vivo, os usuários podem pedir ao Google para mudar de canal usando comandos de voz. O Google usa o processamento de linguagem natural (PLN) para extrair parâmetros das consultas dos usuários e identificar qual canal eles querem assistir. O Google processa a troca de canal de uma das seguintes maneiras:

  • Atendido pelo Google: o Google realiza a troca de canal usando um link direto fornecido em um feed de ação de mídia. As informações do feed permitem que o Google procure o link direto do canal que o usuário quer assistir. O Google leva o usuário diretamente ao conteúdo no app ou na plataforma do provedor de serviços.
  • Cumprida pelo provedor de serviços de TV: o Google envia uma solicitação ao provedor de serviços. O Google e os provedores de serviços podem coordenar a tarefa de alternar canais de várias maneiras. Entre em contato com o Google para saber mais sobre a integração com outras plataformas do Google (por exemplo, AndroidTV, Made By Google, Google Assistente para operadores).

O tipo de informação necessária em um feed de ação de mídia depende de como o provedor de serviços quer que o Google gerencie a troca de canal.

Nessa abordagem, o Google usa os links diretos fornecidos na entidade BroadcastService para levar os usuários diretamente ao conteúdo no app ou na plataforma do provedor de serviços. Os usuários indicam qual canal querem assistir de duas maneiras:

Quando uma consulta do usuário contém o nome de um canal, por exemplo, "Ok Google, abra ExampleTV", o Google faz o seguinte:

  • O usuário diz: "Ok Google, abrir ExampleTV".
  • O Google faz a correspondência da consulta do usuário com a intent de troca de canal da NLP do Google.
  • O Google extrai o parâmetro (neste caso, ExampleTV) da consulta do usuário.
  • O Google usa o nome do canal para identificar BroadcastService.
  • O Google recupera o link direto de BroadcastService.
  • O Google usa o link direto para iniciar a reprodução do novo canal de TV.

Quando uma consulta do usuário contém um número de canal, por exemplo, "Ok Google, mude para o canal 7", o Google faz o seguinte:

  • O usuário diz: "Ok Google, mude para o canal 7".
  • O Google faz a correspondência da consulta do usuário com a intent de troca de canal.
  • O Google extrai o parâmetro (neste caso, canal 7) da consulta do usuário.
  • O Google usa a localização do usuário para identificar o serviço de TV regional (CableOrSatelliteService).
  • O Google usa o número do canal e o CableOrSatelliteService para identificar o TelevisionChannel. correspondente.
  • O Google identifica o BroadcastService vinculado a TelevisionChannel.
  • O Google recupera o link direto de BroadcastService.
  • O Google usa o link direto para iniciar a reprodução do novo canal de TV.

Quando o Google transmite o controle para o provedor de serviços de TV para realizar a troca de canal, ele extrai as informações do canal (um ID ou nome) da consulta do usuário e as inclui como um parâmetro na solicitação ao provedor de serviços.

Com essa abordagem, é opcional fornecer links diretos e requisitos de acesso em BroadcastService. Consulte o exemplo de atendimento pelo provedor de serviços de TV.

Como essa abordagem exige que o provedor de serviços estabeleça uma comunicação completa com o Google, ele também precisa concluir a integração do Google Assistente para operadores. Entre em contato com o Google para mais informações.