Herdado de: : Object
Definido em: : lib/opentok/broadcasts.rb
Visão geral
Uma classe para trabalhar com transmissões ao vivo do OpenTok. Veja / Transmissões ao vivo.
Resumo dos métodos de instância
-
#add_stream(broadcast_id, stream_id, options) ⇒ Objeto
Adiciona uma transmissão à transmissão em andamento que foi iniciada com o parâmetro streamMode definido como “manual”.
-
#todos(options = {}) ⇒ BroadcastList
Retorna uma BroadcastList, que é uma matriz de transmissões concluídas e em andamento, para a sua chave de API.
-
#criar(session_id, options = {}) ⇒ Transmissão
Inicia uma transmissão ao vivo de uma sessão do OpenTok.
-
#encontrar(broadcast_id) ⇒ Transmissão
Obtém um objeto Broadcast para o ID de transmissão fornecido.
-
#layout(broadcast_id, options = {}) ⇒ Objeto
Altera dinamicamente o layout de uma transmissão do OpenTok.
-
#remove_stream(broadcast_id, stream_id) ⇒ Objeto
Remove uma transmissão de uma transmissão em andamento que foi iniciada com o parâmetro streamMode definido como “manual”.
-
#pare(broadcast_id) ⇒ Transmissão
Interrompe uma transmissão do OpenTok.
Detalhes do método de instância
#add_stream(broadcast_id, stream_id, options) ⇒ Objeto
Adiciona um stream à transmissão atualmente em andamento que foi iniciada com o streamMode definido como “manual”. Para obter uma descrição do recurso, consulte <https://tokbox.com/developer/rest/#selecting-broadcast-streams>.
Você pode chamar o método repetidamente com `add_stream` definido com o mesmo ID de stream para ativar ou desativar o áudio ou o vídeo do stream na transmissão. Se você definir tanto `has_audio` quanto `has_video` como `false`, receberá uma resposta de erro.
Parâmetros:
-
broadcast_id (String) —
O ID da transmissão.
-
stream_id (String) —
O ID da transmissão a ser adicionada à transmissão ao vivo
-
opts (Hash) —
um conjunto de opções personalizáveis
Aumentos:
-
(ArgumentError) —
O parâmetro broadcast_id está vazio.
-
(ArgumentError) —
O parâmetro stream_id está vazio.
-
(ArgumentError) —
As propriedades has_audio e has_video do parâmetro options estão ambas definidas como “false”
#todos(options = {}) ⇒ Lista de Transmissões
Retorna uma BroadcastList, que é uma matriz de transmissões concluídas e em andamento, para a sua chave de API.
tokbox.com/developer/rest/#list_broadcasts
Parâmetros:
-
opções (Hash) (valor padrão: {}) —
Um hash com chaves que definem qual intervalo de transmissões deve ser recuperado.
Hash de opções (options):
-
:offset (número inteiro)
—
Opcional. O deslocamento de índice da primeira transmissão. 0 corresponde ao deslocamento da transmissão iniciada mais recentemente. 1 corresponde ao deslocamento da transmissão iniciada antes da mais recente. Se você não especificar um deslocamento, será usado o valor 0.
-
:count (inteiro)
—
Opcional. O número de transmissões a serem retornadas. O número máximo de transmissões retornadas é 1.000.
-
:session_id (String)
—
Opcional. O ID da sessão à qual as transmissões pertencem.
Devoluções:
-
Um objeto BroadcastList, que é uma matriz de objetos Broadcast.
Aumentos:
- (ArgumentError)
#criar(session_id, options = {}) ⇒ Transmissão
Inicia uma transmissão ao vivo de uma sessão do OpenTok.
Os clientes devem estar conectados ativamente à sessão do OpenTok para que você consiga iniciar uma transmissão.
Isso transmite a sessão para um fluxo HLS (HTTP Live Streaming) ou para fluxos RTMP.
Broadcasts#find method.
Parâmetros:
-
session_id (String) —
O ID da sessão do OpenTok a ser transmitida.
-
opções (Hash) (valor padrão: {}) —
Um hash que define as opções para a transmissão.
Hash de opções (options):
-
:layout (Hash)
—
Especifique isso para atribuir o tipo de layout inicial à transmissão. Trata-se de um hash que contém três chaves:
:type,:stylesheet<code> and <code>:screenshare_type. Valores válidos para:typesão “bestFit” (melhor ajuste), “custom” (personalizado),Copiar"horizontalPresentation" (horizontal presentation),“pip” (imagem na imagem) e “verticalPresentation” (apresentação vertical)). Se você especificar um tipo de layout “personalizado”, defina o
:stylesheetchave da folha de estilo (CSS). (Para outros tipos de layout, não defina a:stylesheetchave.) Valores válidos para:screenshare_typesão “bestFit”, “pip”, “verticalPresentation” e “horizontalPresentation”. Essa propriedade é opcional. Se for especificada, então o:typepropriedade deve deve ser definido como “bestFit”. Se você não especificar um tipo de layout inicial, a transmissão utilizará o tipo de layout mais adequado. -
:multiBroadcastTag (String)
— padrão: Opcional —
Defina este parâmetro para permitir a transmissão simultânea de várias transmissões para a mesma sessão. Defina-o como uma sequência de caracteres exclusiva para cada transmissão simultânea de uma sessão em andamento. Observe que o valor de ‘multiBroadcastTag’ é não incluídos na resposta sobre os métodos para lista de transmissões ao vivo e obter informações sobre uma transmissão ao vivo. Veja as transmissões simultâneas.
-
maxBitRate (int)
—
A taxa de bits máxima para o(s) fluxo(s) de transmissão, em bits por segundo. O valor mínimo é 100.000 e o máximo é 6.000.000.
-
maxDuration (int)
—
A duração máxima da transmissão, em segundos. A transmissão será interrompida automaticamente quando a duração máxima for atingida. Você pode definir a duração máxima em um valor entre 60 (60 segundos) e 36.000 (10 horas). A duração máxima padrão é de 4 horas (14.400 segundos).
-
resultados (Hash)
— padrão: Obrigatório —
Este objeto define os tipos de fluxos de transmissão que você deseja iniciar (tanto HLS quanto RTMP). Você pode incluir HLS, RTMP ou ambos como fluxos de transmissão. Se incluir a transmissão por RTMP, poderá especificar até cinco fluxos RTMP de destino (ou apenas um).
No caso de múltiplas transmissões RTMP, o (
:rtmp) a propriedade é definida como um [Array] de objetos Rtmp [Hash]. Para cada hash RTMP, especifique (:serverUrl) para a URL do servidor RTMP, (:streamName) como o nome da transmissão ao vivo no YouTube ou a chave da transmissão no Facebook), e (opcionalmente) (:id), um ID exclusivo para o stream. Se você especificar um ID, ele será incluído no (broadcast_json) resposta da chamada ao método Client#start_broadcast, e também está disponível no (broadcast_json) resposta do método Broadcasts#find. A Vonage transmite a sessão para cada URL RTMP que você especificar. Observe que a transmissão ao vivo do OpenTok é compatível com RTMP e RTMPS. Se você precisar suportar apenas um URL RTMP, pode definir um objeto Rtmp [Hash] (em vez de uma matriz de objetos) para o (:rtmp) valor da propriedade no (:outputs) [Hash].Para o HLS, o (
:hls) propriedade na (:outputs) [Hash] é definido como um objeto HLS [Hash]. Esse objeto inclui as seguintes propriedades opcionais:- (
:dvr) (booleano). Se deve ser ativado Funcionalidade de DVR (retrocesso, pausa e retomada) em reprodutores que oferecem suporte a esse recurso (verdadeiro) ou não (falso, o padrão). Com o DVR ativado, a URL HLS incluirá uma string de consulta ?DVR anexada ao final. - (
:low_latency) (booleano). Se deve ser ativado modo de baixa latência para o HLSstream. Alguns reprodutores HLS não oferecem suporte ao modo de baixa latência. Esse recurso é incompatível com transmissões HLS no modo DVR (os dois não podem ser ativados ao mesmo tempo). Este é um recurso em fase beta.
A URL do HLS está incluída no (
broadcast_json) resposta da chamada ao método Client#start_broadcast, e também está disponível no (broadcast_json) resposta do - (
-
resolução (cadeia de caracteres)
—
A resolução da transmissão: “640x480” (SD horizontal, padrão), “1280x720” (HD horizontal), “1920x1080” (FHD paisagem), “480x640” (SD retrato), “720x1280” (HD retrato) ou “1080x1920” (FHD retrato).
-
:streamMode (String)
— padrão: Opcional —
Se os fluxos incluídos na transmissão são selecionados automaticamente (“auto”, a configuração padrão) ou manualmente (“manual”). Quando os streams são selecionados automaticamente (“auto”), todos os streams da sessão podem ser incluídos na transmissão. Quando os streams são selecionados manualmente (“manual”), você especifica quais streams devem ser incluídos com base nas chamadas à função #adicionar_stream método. É possível especificar se o áudio, o vídeo ou ambos de um stream serão incluídos na transmissão. Tanto no modo automático quanto no manual, o compositor de transmissões inclui os streams com base em regras de priorização de fluxos. Importante: no momento, esse recurso está disponível apenas no ambiente Padrão.
-
:hasAudio (Booleano)
—
Se a transmissão possui áudio (padrão: ‘true’)
-
:hasVideo (Booleano)
—
Se a transmissão contém vídeo (padrão: “true”)
Devoluções:
-
(Transmissão) —
O objeto de transmissão, que inclui propriedades que definem a transmissão, incluindo o ID da transmissão.
Aumentos:
-
Não foi possível iniciar a transmissão. A solicitação era inválida ou a transmissão já havia começado
-
(Erro de autenticação do OpenTok) —
Falha na autenticação ao iniciar uma transmissão. Chave de API inválida.
-
(Erro do OpenTok) —
Erro no servidor OpenTok.
#encontrar(broadcast_id) ⇒ Transmissão
Obtém um objeto Broadcast para o ID de transmissão fornecido.
Parâmetros:
-
broadcast_id (String) —
O ID da transmissão.
Devoluções:
-
(Transmissão) —
O objeto de transmissão, que inclui propriedades que definem a transmissão.
Aumentos:
-
Não foi encontrada nenhuma transmissão correspondente.
-
(Erro de autenticação do OpenTok) —
Falha na autenticação. Chave de API inválida.
-
(Erro do OpenTok) —
Erro no servidor OpenTok.
#layout(broadcast_id, options = {}) ⇒ Objeto
Altera dinamicamente o layout de uma transmissão do OpenTok. Para obter mais informações, consulte Para obter mais informações, consulte Configuração do layout de vídeo para transmissões ao vivo no OpenTok.
Parâmetros:
-
broadcast_id (String) —
O ID da transmissão.
-
opções (Hash) (valor padrão: {}) —
um conjunto de opções personalizáveis
Hash de opções (options):
-
:tipo (String)
—
O tipo de layout. Defina-o como “bestFit”, “pip”, “verticalPresentation”, “horizontalPresentation”, “focus” ou “custom”.
-
:folha de estilo (String)
—
A folha de estilo para um layout personalizado. Defina este parâmetro se você definir
typepara"custom". Caso contrário, deixe-o sem definir. -
:screenshare_type (String)
—
O tipo de layout do compartilhamento de tela. Defina-o como “bestFit”, “pip”, “verticalPresentation” ou “horizonalPresentation”. Se essa opção for definida, então o
typeO parâmetro deve ser definido como"bestFit".
Aumentos:
-
Não foi possível atualizar o layout da transmissão.
-
(Erro de autenticação do OpenTok) —
Falha na autenticação. Chave ou segredo da API inválido.
-
(Erro do OpenTok) —
Erro no servidor OpenTok.
-
(ArgumentError) —
O parâmetro broadcast_id ou options está vazio.
-
(ArgumentError) —
O tipo “custom” foi especificado sem uma opção de folha de estilo.
-
(ArgumentError) —
Foi passada uma folha de estilo para um tipo diferente de “custom”. Ou foi passado um tipo inválido.
-
(ArgumentError) —
Foi passado um tipo de layout inválido.
#remove_stream(broadcast_id, stream_id) ⇒ Objeto
Remove uma transmissão de uma transmissão em andamento que foi iniciada com o streamMode definido como “manual”. Para obter uma descrição do recurso, consulte <https://tokbox.com/developer/rest/#selecting-broadcast-streams>.
Parâmetros:
-
broadcast_id (String) —
O ID da transmissão.
-
stream_id (String) —
O ID da transmissão a ser removida da programação
Aumentos:
-
(ArgumentError) —
O parâmetro broadcast_id está vazio.
-
(ArgumentError) —
O parâmetro stream_id está vazio.
#pare(broadcast_id) ⇒ Transmissão
Interrompe uma transmissão do OpenTok
Observe que as transmissões são interrompidas automaticamente após 120 minutos
Parâmetros:
-
broadcast_id (String) —
O ID da transmissão.
Devoluções:
-
(Transmissão) —
O objeto de transmissão, que inclui propriedades que definem a transmissão.
Aumentos:
-
Não foi possível interromper a transmissão. A solicitação era inválida.
-
(Erro de autenticação do OpenTok) —
Falha na autenticação. Chave de API inválida.
-
(Erro do OpenTok) —
Erro no servidor OpenTok.