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

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:

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 :type são “bestFit” (melhor ajuste), “custom” (personalizado),

    "horizontalPresentation" (horizontal presentation),
    

    “pip” (imagem na imagem) e “verticalPresentation” (apresentação vertical)). Se você especificar um tipo de layout “personalizado”, defina o :stylesheet chave da folha de estilo (CSS). (Para outros tipos de layout, não defina a :stylesheet chave.) Valores válidos para :screenshare_type são “bestFit”, “pip”, “verticalPresentation” e “horizontalPresentation”. Essa propriedade é opcional. Se for especificada, então o :type propriedade 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:

#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:

#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 type para "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 type O parâmetro deve ser definido como "bestFit".

Aumentos:

  • (OpenTokBroadcastError) —

    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: