Propriedades de marcação de conteúdo de eventos de TV ao vivo

Nesta seção, detalhamos as propriedades de marcação de conteúdo para o tipo de entidade BroadcastEvent. Para entender melhor a relação entre esses tipos, consulte os conceitos de eventos do LiveTV.

Tabela de especificações de BroadcastEvent

Propriedade Tipo esperado Descrição
@context Texto Obrigatório: sempre definido como ["http://schema.org", {"@language": "xx"}]
  • Substitua xx pelo código de idioma da entidade no formato BCP 47, por exemplo, "en".
@type Texto Obrigatório: sempre definido como BroadcastEvent.
@id URL Obrigatório: o identificador do horário de transmissão no formato de URI. Por exemplo, https://example.com/live/channel1/20191012T2100.
@id precisa atender aos seguintes requisitos:
  • Globalmente exclusivo em todo o catálogo e diferente de workPerformed.@id ou broadcastOfEvent.@id (por exemplo, incorporar o canal/serviço e o horário de início da transmissão ao URI)
  • Estático: o ID precisa ser estável e não pode mudar ao longo do tempo. Ele será tratado como uma string opaca e não precisa ser um link funcional.
  • Na forma de identificador de recurso unificado (URI)
  • O domínio usado para o valor @id precisa ser de propriedade da organização.
Importante: não inclua uma propriedade url em BroadcastEvent ou SportsEvent. Forneça o url canônico apenas na entidade de conteúdo subjacente (Movie, TVSeries ou TVEpisode). Consulte a seção Identificador para mais detalhes.
name Texto Obrigatório: o título do programa ou evento.
description Texto A descrição do programa ou evento. Limite de 300 caracteres. Use uma matriz para incluir descrições em vários idiomas (uma por idioma).
startDate Data Obrigatório: o horário de início do evento no formato ISO 8601 com fuso horário.
endDate Data É o horário de término do evento no formato ISO 8601 com fuso horário.
publishedOn BroadcastService Obrigatório, se aplicável: especifique a entidade BroadcastService que transmite esse programa ou evento.

Se o conteúdo for transmitido em um canal de TV, essa propriedade será obrigatória. Se o conteúdo não estiver associado a nenhum canal de TV, não forneça essa propriedade.
publishedOn.@type Texto Defina como BroadcastService.
publishedOn.@id URL O @id da entidade BroadcastService que transmite esse programa ou evento.
workPerformed CreativeWork Obrigatório, se aplicável: use essa propriedade quando o conteúdo for um dos seguintes tipos de entidade: Movie, TVSeries e TVEpisode.
É altamente recomendável que uma entidade BroadcastEvent inclua pelo menos um dos seguintes:
  • workPerformed
  • broadcastOfEvent
  • contentToBeAnnounced teve o endereço definido como true
  • offAir teve o endereço definido como true
workPerformed.@type Texto Defina como Movie, TVSeries ou TVEpisode.
workPerformed.@id URL O @id da entidade de conteúdo.
broadcastOfEvent SportsEvent Obrigatório, se aplicável: use essa propriedade se o conteúdo for um evento ao vivo:
  • Para um evento esportivo, essa propriedade precisa se referir a uma entidade SportsEvent.

É altamente recomendável que uma entidade BroadcastEvent inclua pelo menos um dos seguintes itens:
  • workPerformed
  • broadcastOfEvent
  • contentToBeAnnounced teve o endereço definido como true
  • offAir teve o endereço definido como true
broadcastOfEvent.@type Texto Defina como SportsEvent.
broadcastOfEvent.@id URL O @id da entidade do evento. A entidade do evento precisa existir no feed e ter um @id diferente de BroadcastEvent.
location Texto ou País Obrigatório se o BroadcastEvent for para um SportsEvent, ou seja, tiver a propriedade broadcastOfEvent: o país em que o SportsEvent pode ser transmitido. Esse campo pode ser uma lista de países se vários países puderem transmitir o SportsEvent.
videoFormat Texto A definição de maior qualidade compatível com este serviço de transmissão, por exemplo,
  • "SD" para definição padrão.
  • "HD" para alta definição.
  • "2K" para resolução 2K.
  • "4K" para resolução 4K.
  • "8K" para resolução 8K.
contentToBeAnnounced Booleano Obrigatório, se aplicável: use essa propriedade se o conteúdo for desconhecido no momento da criação do feed.

Defina como true quando o provedor não tiver informações atualizadas sobre o que será transmitido, ou false caso contrário.
É altamente recomendável que uma entidade BroadcastEvent inclua pelo menos um dos seguintes:
  • workPerformed
  • broadcastOfEvent
  • contentToBeAnnounced teve o endereço definido como true
  • offAir teve o endereço definido como true
offAir Booleano Obrigatório, se aplicável: defina como true quando não houver transmissão de conteúdo planejada para o horário em um canal BroadcastService.
  • Defina name e description como "Off Air".
  • Cada offAir BroadcastEvent precisa durar 4 horas ou menos (não emita blocos contínuos de 24 horas). Quando um canal estiver fora do ar por mais de 4 horas, emita várias entidades BroadcastEvent contíguas e não sobrepostas de no máximo 4 horas cada para que o canal mantenha uma cobertura de programação completa 24 horas por dia, 7 dias por semana, sem lacunas no início ou no final da janela do feed.
É altamente recomendável que uma entidade BroadcastEvent inclua pelo menos um dos seguintes itens:
  • workPerformed
  • broadcastOfEvent
  • contentToBeAnnounced teve o endereço definido como true
  • offAir teve o endereço definido como true
isLiveBroadcast Booleano Defina como booleano true (sem aspas) se a transmissão for ao vivo (por exemplo, um jogo de futebol ou um telejornal) ou false para programação gravada e reprises.
potentialAction WatchAction Obrigatório, se aplicável: nunca forneça potentialAction em um BroadcastEvent quando broadcastOfEvent fizer referência a um SportsEvent (coloque todos os links diretos de esportes em SportsEvent.potentialAction) ou quando publishedOn fizer referência a um canal BroadcastService (coloque os links diretos do canal em BroadcastService.potentialAction). Forneça BroadcastEvent.potentialAction apenas para transmissões ao vivo sem canal que não façam referência a um SportsEvent (como conteúdo extra ao vivo independente com contentToBeAnnounced e offAir omitidos ou false).
identifier PropertyValue ID externo que identifica o conteúdo da transmissão. Consulte a seção Propriedades do identificador para mais detalhes.
  • Observação: o tipo de entidade BroadcastEvent só aceita valores propertyID de TMS_ID ou TMS_ROOT_ID.
  • Essa propriedade só deve ser fornecida quando uma entidade Movie, TVSeries, TVEpisode ou SportsEvent de nível superior totalmente formada não é referenciada usando a propriedade workPerformed ou broadcastOfEvent.
  • O valor da propriedade precisa refletir o TMS_ID ou TMS_ROOT_ID da entidade Movie, TVSeries, TVEpisode ou SportsEvent que você referenciaria usando a propriedade workPerformed ou broadcastOfEvent.
  • TMS_ID é preferível ao valor TMS_ROOT_ID.
contentRating Texto ou Classificação Obrigatório para conteúdo adulto, altamente recomendado para outros tipos de conteúdo Por quê? - Classificação geral do conteúdo transmitido. Se a classificação do conteúdo for fornecida na forma de uma string de texto, duas variações serão aceitas:
  • A agência de classificação é adicionada antes da classificação, com um espaço em branco entre elas. Por exemplo, uma classificação "PG-13" da agência "MPAA" nos EUA deve ser descrita como "MPAA PG-13". Confira a lista de agências.
  • Um valor de "RATING NOT KNOWN" (não diferencia maiúsculas de minúsculas) para indicar que você não sabe a classificação do filme.
contentRating.author Organização Obrigatório se contentRating usar Rating: o nome da agência de classificação.
contentRating.ratingValue Texto Obrigatório se contentRating usar Rating: o valor da classificação.
contentRating.advisoryCode Texto O código de aviso do conteúdo. Os valores aceitos incluem D, FV, L, S e V. D = Diálogo, FV = Violência de fantasia, L = Linguagem, S = Conteúdo sexual, V = Violência.

Exemplos

Um episódio de TV é transmitido na rede de televisão Example TV (BroadcastService) entre 21h e 21h30 em 12 de outubro de 2019:

BroadcastEvent

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "BroadcastEvent",
  "@id": "http://example.com/live/event/my_favorite_tv_series/new_episode",
  "name": "My Favorite TV Series - Season 6 - Episode 2 - Three Mice",
  "description": "Three mice leave the town and the trip turns into something more.",
  "startDate": "2019-10-12T21:00-08:00",
  "endDate": "2019-10-12T21:30-08:00",
  "videoFormat": "HD",
  "isLiveBroadcast": false,
  "publishedOn": {
    "@type": "BroadcastService",
    "@id": "http://example.com/stations/example_tv"
  },
  "workPerformed": {
    "@type": "TVEpisode",
    "@id": "http://example.com/tv_series/my_favorite_tv_series/s6/e2_three_mice"
  }
}

BroadcastService

{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"http://example.com/stations/example_tv",
  "name":"EXAMPLE-TV",
  "broadcastDisplayName":"ABCD",
  "callSign": "EXA-TV",
  "videoFormat":"SD",
  "broadcastTimezone":"America/Los_Angeles",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://example.com/networks/abcd-network"
  },
  "identifier": [
   {
     "@type": "PropertyValue",
     "propertyID": "TMS_ID",
     "value": "12258"
   },
   {
     "@type": "PropertyValue",
     "propertyID": "_PARTNER_ID_",
     "value": "exampletv-123456"
   }
  ],
  "potentialAction": {
    "@type": "WatchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "http://example.com/livestream",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform",
        "http://schema.org/MobileWebPlatform",
        "http://schema.org/AndroidPlatform",
        "http://schema.org/IOSPlatform",
        "http://schema.googleapis.com/GoogleVideoCast",
        "http://schema.org/AndroidTVPlatform"
      ]
    },
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "externalsubscription",
      "availabilityStarts": "2018-07-21T10:35:29Z",
      "availabilityEnds": "2019-10-21T10:35:29Z",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://example.com/subscription",
        "name": "ABCD",
        "sameAs": "http://example.com/subscription",
        "identifier": "example.com:basic",
        "commonTier": false
      },
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        }
      ]
    }
  }
}

Exemplo que mostra o uso da propriedade contentToBeAnnounced quando o conteúdo a ser transmitido na rede de televisão Example TV (BroadcastService) entre 21h e 21h30 em 12 de outubro de 2019 não é conhecido no momento da criação do feed:

BroadcastEvent

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "BroadcastEvent",
  "@id": "http://example.com/randomUniqueEventId",
  "name": "Content To Be Announced",
  "description": "Content To Be Announced",
  "startDate": "2019-10-12T21:00-08:00",
  "endDate": "2019-10-12T21:30-08:00",
  "publishedOn": {
    "@type": "BroadcastService",
    "@id": "http://example.com/stations/example_tv"
  },
  "contentToBeAnnounced": true
}

BroadcastService

{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"http://example.com/stations/example_tv",
  "name":"EXAMPLE-TV",
  "broadcastDisplayName":"ABCD",
  "callSign": "EXA-TV",
  "videoFormat":"SD",
  "broadcastTimezone":"America/Los_Angeles",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://example.com/networks/abcd-network"
  },
  "identifier": [
   {
     "@type": "PropertyValue",
     "propertyID": "TMS_ID",
     "value": "12258"
   },
   {
     "@type": "PropertyValue",
     "propertyID": "_PARTNER_ID_",
     "value": "exampletv-123456"
   }
  ],
  "potentialAction": {
    "@type": "WatchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "http://example.com/livestream",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform",
        "http://schema.org/MobileWebPlatform",
        "http://schema.org/AndroidPlatform",
        "http://schema.org/IOSPlatform",
        "http://schema.googleapis.com/GoogleVideoCast",
        "http://schema.org/AndroidTVPlatform"
      ]
    },
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "externalsubscription",
      "availabilityStarts": "2018-07-21T10:35:29Z",
      "availabilityEnds": "2019-10-21T10:35:29Z",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://example.com/subscription",
        "name": "ABCD",
        "sameAs": "http://example.com/subscription",
        "identifier": "example.com:basic",
        "commonTier": false
      },
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        }
      ]
    }
  }
}

O canal da rede de televisão Example TV (BroadcastService) fica fora do ar entre 12h e 20h (modelado como dois blocos contíguos de 4 horas de Off Air) e transmite um programa chamado My favorite show entre 20h e 0h:

BroadcastEvent

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "BroadcastEvent",
  "@id": "http://example.com/randomUniqueEventId1",
  "name": "Off Air",
  "description": "Off Air",
  "startDate": "2019-10-12T12:00-08:00",
  "endDate": "2019-10-12T16:00-08:00",
  "publishedOn": {
    "@type": "BroadcastService",
    "@id": "http://example.com/stations/example_tv"
  },
  "offAir": true
},
{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "BroadcastEvent",
  "@id": "http://example.com/randomUniqueEventId2",
  "name": "Off Air",
  "description": "Off Air",
  "startDate": "2019-10-12T16:00-08:00",
  "endDate": "2019-10-12T20:00-08:00",
  "publishedOn": {
    "@type": "BroadcastService",
    "@id": "http://example.com/stations/example_tv"
  },
  "offAir": true
},
{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "BroadcastEvent",
  "@id": "http://example.com/randomUniqueEventId3",
  "name": "My favorite show",
  "description": "Evening broadcast of My favorite show.",
  "startDate": "2019-10-12T20:00-08:00",
  "endDate": "2019-10-13T00:00-08:00",
  "videoFormat": "HD",
  "isLiveBroadcast": false,
  "workPerformed": {
    "@type": "TVSeries",
    "@id": "http://example.com/tv_series/my_favorite_show"
  },
  "publishedOn": {
    "@type": "BroadcastService",
    "@id": "http://example.com/stations/example_tv"
  }
}

BroadcastService

{
  "@context":"http://schema.org",
  "@type":"BroadcastService",
  "@id":"http://example.com/stations/example_tv",
  "name":"EXAMPLE-TV",
  "broadcastDisplayName":"ABCD",
  "callSign": "EXA-TV",
  "videoFormat":"SD",
  "broadcastTimezone":"America/Los_Angeles",
  "broadcastAffiliateOf":{
    "@type":"Organization",
    "@id":"http://example.com/networks/abcd-network"
  },
  "identifier": [
   {
     "@type": "PropertyValue",
     "propertyID": "TMS_ID",
     "value": "12258"
   },
   {
     "@type": "PropertyValue",
     "propertyID": "_PARTNER_ID_",
     "value": "exampletv-123456"
   }
  ],
  "potentialAction": {
    "@type": "WatchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "http://example.com/livestream",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform",
        "http://schema.org/MobileWebPlatform",
        "http://schema.org/AndroidPlatform",
        "http://schema.org/IOSPlatform",
        "http://schema.googleapis.com/GoogleVideoCast",
        "http://schema.org/AndroidTVPlatform"
      ]
    },
    "actionAccessibilityRequirement": {
      "@type": "ActionAccessSpecification",
      "category": "externalsubscription",
      "availabilityStarts": "2018-07-21T10:35:29Z",
      "availabilityEnds": "2019-10-21T10:35:29Z",
      "requiresSubscription": {
        "@type": "MediaSubscription",
        "@id": "http://example.com/subscription",
        "name": "ABCD",
        "sameAs": "http://example.com/subscription",
        "identifier": "example.com:basic",
        "commonTier": false
      },
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        }
      ]
    }
  }
}

Confira as páginas a seguir para ver os tópicos relacionados a essas propriedades: