Todos os produtos
Search
Central de documentação

ApsaraVideo Live:Transcodificação de transmissão ao vivo

Última atualização: Oct 17, 2026

A transcodificação de transmissão ao vivo evita problemas de reprodução causados por taxas de bits de ingestão muito altas ou muito baixas. Este tópico aborda cenários de uso, limitações, recursos, parâmetros de modelo, regras de transcodificação e largura adaptativa.

Casos de uso

  • Se a taxa de bits de ingestão for alta, mas a largura de banda do cliente for limitada, a reprodução do vídeo pode apresentar travamentos. Por outro lado, uma taxa de bits de ingestão baixa resulta em má qualidade de reprodução. A transcodificação de transmissão ao vivo resolve esses problemas.

  • Os plugins de player precisam oferecer suporte à troca de múltiplas taxas de bits. Para ativar isso, forneça ao player várias URLs de streaming para o mesmo fluxo de ingestão, cada uma com uma taxa de bits diferente. O recurso de transcodificação em tempo real do ApsaraVideo Live gera essas URLs.

    • Ingera um fluxo com codificação H.264 e transcodifique-o para uma transmissão ao vivo H.265 em tempo real, reduzindo o consumo de largura de banda.

    • Ingera um fluxo com codificação H.265 e transcodifique-o para uma transmissão ao vivo H.265 de baixa taxa de bits em tempo real.

    • Para resolver incompatibilidades de navegadores com H.265, transcodifique o fluxo para uma transmissão ao vivo H.264 em tempo real.

Importante

O recurso de transcodificação de transmissão ao vivo gera taxas de transcodificação. Os valores dependem do padrão de transcodificação, da resolução e da duração total do processo. Para obter mais informações sobre as regras de faturamento, consulte Taxas de transcodificação de transmissão ao vivo.

Limitações

  • Ao configurar modelos de transcodificação para um nome de domínio e AppName, não é possível definir o Template Type de um único modelo como Standard Transcoding e Narrowband HDTM template simultaneamente.

  • Um modelo de transcodificação configurado para um AppName específico só será aplicado se o AppName na URL de ingestão corresponder ao do modelo. Domínios de sub-streaming herdam os modelos de transcodificação do domínio de streaming principal, portanto, quaisquer configurações específicas dos subdomínios são ignoradas.

  • Nos centros de transmissão ao vivo em China (Beijing), China (Shanghai) e China (Shenzhen), cada nome de domínio suporta até 300 fluxos transcodificados simultâneos. Nos demais centros, o limite é de 50 fluxos transcodificados simultâneos por domínio. Por exemplo, se um fluxo de alta definição for ingerido e transcodificado para definições padrão e baixa para reprodução, isso conta como dois fluxos transcodificados simultâneos. Ao atingir o limite, as conexões excedentes reproduzirão o fluxo original. Para visualizar seu uso atual e solicitar aumento de cota, acesse basic configuration > Basic Information do seu domínio de streaming.

  • Caso o service de transmissão ao vivo não atenda aos requisitos do seu negócio, entre em contato com o gerente de conta Alibaba Cloud ou fale conosco por meio de outros canais.

Recursos

O recurso de transcodificação inclui Default Transcoding, Custom Transcoding, Multi-bitrate Transcoding e HTML5 Auto Transcoding.

Default Transcoding: Utilize modelos predefinidos pelo sistema, que incluem o ID do modelo e a resolução de saída. A taxa de bits de saída é predefinida e não pode ser modificada.

Custom Transcoding: Configure o formato de codificação, resolução, taxa de bits, taxa de quadros, GOP de vídeo, gatilho de transcodificação e ID do modelo.

Multi-bitrate Transcoding: Um modelo de transcodificação pode conter múltiplas configurações. Após configurar a transcodificação multibitrate, o player reproduz automaticamente a transmissão ao vivo com a taxa de bits adequada à largura de banda da rede do cliente, melhorando a experiência de reprodução.

HTML5 Auto Transcoding: Este recurso resolve problemas como a falta de suporte a B-frames de vídeo e codificação AAC em navegadores nativos para Real-Time Streaming (RTS) (artc://).

Modelos predefinidos pelo sistema

Detalhes dos modelos

  • Modelos padrão

Template

Quality ID (H.264)

Quality ID (H.265)

Latency ID (H.264)

Latency ID (H.265)

Resolution

Bitrate

LD (Landscape)

lld

lld265

lld-ll

lld265-ll

Largura adaptativa, altura: 360

≤470

SD (Landscape)

lsd

lsd265

lsd-ll

lsd265-ll

Largura adaptativa, altura: 432

≤680

HD (Landscape)

lhd

lhd265

lhd-ll

lhd265-ll

Largura adaptativa, altura: 648

≤1500

UHD (Landscape)

lud

lud265

lud-ll

lud265-ll

Largura adaptativa, altura: 1080

≤2500

SD (Landscape)

lsd540

lsd265-540

lsd540-ll

lsd265-540-ll

Largura adaptativa, altura: 540

≤680

LD (Portrait)

lld-v

lld265-v

lld-v-ll

lld265-v-ll

Largura: 360, altura adaptativa

≤470

SD (Portrait)

lsd-v

lsd265-v

lsd-v-ll

lsd265-v-ll

Largura: 432, altura adaptativa

≤680

HD (Portrait)

lhd-v

lhd265-v

lhd-v-ll

lhd265-v-ll

Largura: 648, altura adaptativa

≤1500

UHD (Portrait)

lud-v

lud265-v

lud-v-ll

lud265-v-ll

Largura: 1080, altura adaptativa

≤2500

SD (Portrait)

lsd540-v

lsd265-540-v

lsd540-v-ll

lsd265-540-v-ll

Largura: 540, altura adaptativa

≤680

Qualidade original - Transcodificação somente áudio

oriopus

Qualidade original - Transcodificação somente áudio

oriaac

  • Modelos Narrowband HD

Template

Quality ID (H.264)

Quality ID (H.265)

Latency ID (H.264)

Latency ID (H.265)

Resolution

Bitrate

LD (Landscape)

ld

ld265

ld-ll

ld265-ll

Largura adaptativa, altura: 360

≤450

SD (Landscape)

sd

sd265

sd-ll

sd265-ll

Largura adaptativa, altura: 432

≤480

HD (Landscape)

hd

hd265

hd-ll

hd265-ll

Largura adaptativa, altura: 648

≤1200

UHD (Landscape)

ud

ud265

ud-ll

ud265-ll

Largura adaptativa, altura: 1080

≤1300

SD (Landscape)

sd540

sd265-540

sd540-ll

sd265-540-ll

Largura adaptativa, altura: 540

≤480

LD (Portrait)

ld-v

ld265-v

ld-v-ll

ld265-v-ll

Largura: 360, altura adaptativa

≤450

SD (Portrait)

sd-v

sd265-v

sd-v-ll

sd265-v-ll

Largura: 432, altura adaptativa

≤480

HD (Portrait)

hd-v

hd265-v

hd-v-ll

hd265-v-ll

Largura: 648, altura adaptativa

≤1200

UHD (Portrait)

ud-v

ud265-v

ud-v-ll

ud265-v-ll

Largura: 1080, altura adaptativa

≤1300

SD (Portrait)

sd540-v

sd265-540-v

sd540-v-ll

sd265-540-v-ll

Largura: 540, altura adaptativa

≤480

Importante
  • O Template ID não corresponde necessariamente à especificação de transcodificação na sua fatura. A especificação real cobrada depende da resolução do vídeo transcodificado. Por exemplo, se você configurar a transcodificação LD (ld) e o vídeo resultante tiver lado menor ≤ 480 e lado maior ≤ 640, o faturamento seguirá a especificação LD. Caso configure LD (ld), mas a resolução do vídeo transcodificado seja 700 × 360, a cobrança ocorrerá conforme a especificação SD. Para mais detalhes, consulte Taxas de transcodificação de transmissão ao vivo.

  • O sistema adapta a resolução do vídeo transcodificado com base na orientação paisagem ou retrato. Para mais informações, consulte Resolução adaptativa.

Regras de transcodificação

  • Por padrão, o ApsaraVideo Live oferece suporte à transcodificação sob demanda. O sistema monitora as transmissões ao vivo transcodificadas e, se não houver espectadores, a transcodificação não é executada. O processo inicia quando o primeiro espectador começa a assistir. Durante a transcodificação, o sistema decide se deve interromper o processo com base no status de reprodução e nas tarefas de backend. Aplicam-se as seguintes regras:

    • Caso tarefas de backend como gravação, time shifting, snapshots ou moderação de conteúdo ainda estejam em execução, o sistema mantém o fluxo conectado e continua a transcodificação mesmo sem espectadores.

    • Se nenhuma tarefa de backend estiver ativa e o sistema não detectar espectadores por cinco minutos, a transcodificação é interrompida automaticamente.

    • Para que o sistema pare a transcodificação sempre que não houver espectadores, independentemente do status das tarefas de backend, envie um ticket solicitando essa configuração. Para saber como enviar um ticket, consulte Fale conosco.

  • Cada fluxo é transcodificado apenas uma vez pelo sistema.

  • A transcodificação é um service opcional que pode ser configurado conforme necessário.

  • Este recurso é compatível com os protocolos FLV, RTMP, HLS e RTS.

Resolução adaptativa

A transcodificação utiliza um algoritmo de resolução adaptativa baseado na orientação paisagem ou retrato do vídeo.

  • Na transcodificação paisagem adaptativa, o sistema ajusta a largura do vídeo transcodificado com base na altura definida no modelo.

  • Na transcodificação retrato adaptativo, o sistema ajusta a altura do vídeo transcodificado com base na largura definida no modelo.

O cálculo da largura adaptativa segue a lógica abaixo.

高度自适应

Por exemplo, ao transcodificar um vídeo de 1920 × 1080 usando o modelo LD (Landscape) (ID do modelo: ld), a altura é fixada em 360 e a largura adaptativa resulta em uma resolução final de 640 × 360.

Outro exemplo: ao transcodificar um vídeo de 1920 × 1080 com o modelo LD (Portrait) (ID do modelo: ld-v), a largura é fixada em 360 e a altura adaptativa resulta em uma resolução final de 360 × 203.

Importante

Atualmente, apenas Default Transcoding e Custom Transcoding oferecem suporte à resolução adaptativa.

Configuração

Importante

A modificação ou exclusão de uma configuração de modelo de transcodificação não afeta uma tarefa de ingestão de stream em andamento. Para que a nova configuração tenha efeito ou para interromper o faturamento da transcodificação, você deve desconectar a transmissão ao vivo atual e reiniciar a ingestão do stream.

Transcodificação padrão

É possível configurar a Transcodificação padrão no ApsaraVideo Live de duas maneiras.

Configurar a Transcodificação padrão no console

  1. Faça login no console do ApsaraVideo Live.

  2. No painel de navegação à esquerda, clique em Feature Management > Transcoding.

  3. Selecione o nome de domínio que deseja configurar, clique na aba Default Transcoding e, em seguida, clique em Add para definir um modelo de transcodificação.

    image

    A tabela a seguir descreve os parâmetros do modelo de transcodificação.

    Parâmetro

    Descrição

    Application Name

    O sistema tenta primeiro corresponder a um modelo de transcodificação com o mesmo AppName da URL de ingestão. Caso não encontre correspondência, utiliza um modelo onde o AppName esteja definido como asterisco (*).

    Trigger Transcoding

    • Ativado: A transcodificação inicia apenas quando o stream transcodificado é solicitado pela primeira vez.

    • Desativado: A transcodificação começa assim que ocorre a ingestão do stream, mesmo que ninguém esteja solicitando a reprodução.

    Template Type

    • Disponibiliza dois tipos de modelo: Standard Transcoding e Narrowband HD™ Transcoding. Essas opções diferem em qualidade, desempenho e preço. O tipo Standard Transcoding inclui a opção Original quality - Audio-only transcoding.

    • É permitido selecionar múltiplos modelos de transcodificação.

    • Ao utilizar um modelo de transcodificação, o Template ID serve como parâmetro para construir a URL de transcodificação. Para obter instruções sobre como montar a URL, consulte Gerar URLs de streaming ao vivo. Para mais detalhes sobre os IDs dos modelos, veja Modelos predefinidos pelo sistema. Os modos de transcodificação incluem prioridade de qualidade e prioridade de latência. No modo de prioridade de latência, o atraso do stream transcodificado é menor.

    • Para um mesmo nome de domínio, a combinação de AppName e Template ID funciona como uma chave primária composta.

    Encryption

    Após ativar este recurso, configure a Alibaba Cloud Proprietary Cryptography ou a DRM Encryption.

    • Alibaba Cloud Proprietary Cryptography

      Nota

      Para reproduzir o stream criptografado HLS, adicione também um campo obrigatório fixo ao endereço original do stream criptografado: aliyunols = on.

      Exemplo de reprodução:https://yourdomain/live/StreamName_ID.m3u8?auth_key=xxxxx&aliyunols=on.

      • A criptografia de vídeo da Alibaba Cloud suporta apenas os formatos de saída HLS e FLV.

      • KMS CMK ID: A região da chave do Key Management Service (KMS) deve ser igual à do centro de transmissão ao vivo do nome de domínio. Se ainda não possuir uma chave, acesse o console do KMS para criar uma. Para mais informações, consulte Adquirir e ativar uma instância do KMS.

      • Alibaba Cloud Proprietary Cryptography: Um número inteiro entre 60 e 3600.

      • Para saber mais sobre o uso da criptografia de vídeo da Alibaba Cloud, consulte Criptografia de vídeo da Alibaba Cloud.

    • DRM Encryption

      Nota

      A DRM Encryption é suportada apenas nos centros de transmissão ao vivo de Shanghai e Singapore.

      • Antes de ativar este recurso, configure uma chave DRM. Para mais informações, consulte Configurar criptografia DRM.

      • A DRM Encryption suporta Widevine e FairPlay via HLS. Para FairPlay, faça upload do certificado obtido da Apple no gerenciamento de certificados DRM. Consulte Solicitar um certificado FairPlay para mais detalhes.

  4. Clique em CMK Rotation Period.

Configurar a Transcodificação padrão via API

// This file is auto-generated, don't edit it. Thanks.
package demo;

import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.core.http.HttpClient;
import com.aliyun.core.http.HttpMethod;
import com.aliyun.core.http.ProxyOptions;
import com.aliyun.httpcomponent.httpclient.ApacheAsyncHttpClientBuilder;
import com.aliyun.sdk.service.live20161101.models.*;
import com.aliyun.sdk.service.live20161101.*;
import com.google.gson.Gson;
import darabonba.core.RequestConfiguration;
import darabonba.core.client.ClientOverrideConfiguration;
import darabonba.core.utils.CommonUtil;
import darabonba.core.TeaPair;

//import javax.net.ssl.KeyManager;
//import javax.net.ssl.X509TrustManager;
import java.net.InetSocketAddress;
import java.time.Duration;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.io.*;

public class AddLiveStreamTranscode {
    public static void main(String[] args) throws Exception {

        // HttpClient Configuration
        /*HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
                .connectionTimeout(Duration.ofSeconds(10)) // Set the connection timeout time, the default is 10 seconds
                .responseTimeout(Duration.ofSeconds(10)) // Set the response timeout time, the default is 20 seconds
                .maxConnections(128) // Set the connection pool size
                .maxIdleTimeOut(Duration.ofSeconds(50)) // Set the connection pool timeout, the default is 30 seconds
                // Configure the proxy
                .proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("<YOUR-PROXY-HOSTNAME>", 9001))
                        .setCredentials("<YOUR-PROXY-USERNAME>", "<YOUR-PROXY-PASSWORD>"))
                // If it is an https connection, you need to configure the certificate, or ignore the certificate(.ignoreSSL(true))
                .x509TrustManagers(new X509TrustManager[]{})
                .keyManagers(new KeyManager[]{})
                .ignoreSSL(false)
                .build();*/

        // Configure Credentials authentication information, including ak, secret, token
        StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
                // Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set.
                .accessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                .accessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
                //.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // use STS token
                .build());

        // Configure the Client
        AsyncClient client = AsyncClient.builder()
                .region("<Your RegionId>") // Region ID
                //.httpClient(httpClient) // Use the configured HttpClient, otherwise use the default HttpClient (Apache HttpClient)
                .credentialsProvider(provider)
                //.serviceConfiguration(Configuration.create()) // Service-level configuration
                // Client-level configuration rewrite, can set Endpoint, Http request parameters, etc.
                .overrideConfiguration(
                        ClientOverrideConfiguration.create()
                                  // For more information about endpoints, see https://api.alibabacloud.com/product/live.
                                .setEndpointOverride("live.aliyuncs.com")
                        //.setConnectTimeout(Duration.ofSeconds(30))
                )
                .build();

        // Parameter settings for API request
        AddLiveStreamTranscodeRequest addLiveStreamTranscodeRequest = AddLiveStreamTranscodeRequest.builder()
                .regionId("<Your RegionId>")
                .domain("<Your Domain>")
                .app("<Your App Name>")
                .template("<Your Template>")
                .encryptParameters("<Your EncryptParameters>")
                // Request-level configuration rewrite, can set Http request parameters, etc.
                // .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
                .build();

        // Asynchronously get the return value of the API request
        CompletableFuture<AddLiveStreamTranscodeResponse> response = client.addLiveStreamTranscode(addLiveStreamTranscodeRequest);
        // Synchronously get the return value of the API request
        AddLiveStreamTranscodeResponse resp = response.get();
        System.out.println(new Gson().toJson(resp));
        // Asynchronous processing of return values
        /*response.thenAccept(resp -> {
            System.out.println(new Gson().toJson(resp));
        }).exceptionally(throwable -> { // Handling exceptions
            System.out.println(throwable.getMessage());
            return null;
        });*/

        // Finally, close the client
        client.close();
    }

}
Nota
  • O exemplo anterior demonstra como configurar a transcodificação para uma transmissão ao vivo com o AppName <AppName>. Os parâmetros utilizam o modelo predefinido pelo sistema <ld>. Para mais informações sobre esses modelos, consulte Modelos predefinidos pelo sistema neste tópico.

  • O método setLazy("&lt;true&gt;") indica que a transcodificação dispara apenas durante a solicitação do stream. Para acionar a transcodificação durante a ingestão do stream, especifique setLazy("false").

  • Para detalhes completos sobre a API, consulte AddLiveStreamTranscode.

Acesse o console do ApsaraVideo Live, escolha DRM Encryption, localize o registro de ingestão correspondente e clique em OK na coluna Actions para visualizar a URL do stream transcodificado.

Nota
  • As URLs de streaming incluem tanto a URL original quanto as URLs dos streams transcodificados.

  • Crie uma URL personalizada para o stream transcodificado utilizando o StreamName da URL original e adicionando _&lt;Template ID&gt;. Para mais informações, consulte Gerar URLs de streaming ao vivo.

Transcodificação personalizada

Caso os modelos de Transcodificação padrão não atendam às suas necessidades, utilize as configurações de Stream Management. Essa opção permite definir formato de codificação, resolução, taxa de bits, taxa de quadros, GOP de vídeo, gatilho de transcodificação e ID do modelo.

Existem duas formas de configurar a Ingest/Streaming URLs no ApsaraVideo Live.

Configurar a Transcodificação personalizada no console

  1. Faça login no console do ApsaraVideo Live.

  2. No painel de navegação à esquerda, clique em Custom Transcoding > Custom Transcoding.

  3. Selecione o nome de domínio desejado, clique na aba Custom Transcoding e depois clique em Feature Management para configurar o modelo.image.png

    A tabela abaixo detalha os parâmetros disponíveis para o modelo de transcodificação.

    Parâmetro

    Descrição

    Transcoding

    O sistema busca inicialmente um modelo com o mesmo AppName da URL de ingestão. Na ausência de correspondência, aplica-se um modelo com AppName definido como asterisco (*).

    Custom Transcoding

    • O Add é necessário para compor a URL de transcodificação. Veja Gerar URLs de streaming ao vivo para instruções de montagem da URL.

    • Evite usar um ID idêntico ao de modelos predefinidos pelo sistema. Consulte Modelos predefinidos pelo sistema para verificar os IDs existentes.

    • Dentro do mesmo domínio, o par formado por AppName e Template ID atua como uma chave primária composta.

    Application Name

    • As opções incluem Template ID, Template ID e Template Type. Existem diferenças de qualidade, performance e custo entre os modelos padrão e Narrowband HD™.

    • A opção Audio-only Transcoding remove a faixa de vídeo e gera apenas o stream de áudio.

    Narrowband HD™ Transcoding

    Suporta H.264 e H.265.

    Recommend Parameter Settings

    Quatro conjuntos de parâmetros recomendados estão disponíveis: LD, SD, HD e UHD. Ao escolher um preset, o sistema preenche automaticamente taxa de quadros, taxa de bits e resolução com valores padrão, que podem ser ajustados posteriormente conforme necessário.

    Resolution

    Define a resolução de saída do vídeo em pixels. Escolha entre uma resolução fixa ou siga a origem.

    Seguir a origem: Se largura e altura do stream original forem menores que as dimensões adaptativas, a saída mantém a resolução original. Caso contrário, aplica-se a dimensão adaptativa. Métodos de adaptação disponíveis:

    • Lado menor adaptativo

    • Lado maior adaptativo

    • Adaptação paisagem/retrato

    Resolução fixa: Define uma resolução específica para a saída. Cada nível de resolução possui um preço diferente, conforme listado abaixo:

    • LD: até (640 × 480).

    • SD: até (1280 × 720).

    • HD: até (1920 × 1080).

    • 2K: até (2560 × 1440).

    • 4K: até (3840 × 2160).

    Observação

    • O faturamento da transcodificação baseia-se no nível de resolução (LD, SD, HD, 2K ou 4K). Esses níveis são independentes dos IDs de modelos padrão (como lld, lsd, lhd e lud) e Narrowband HD™ (como ld, sd, hd e ud), que servem apenas como identificadores em chamadas de API. Não confunda os conceitos.

    • O console não permite configurar resoluções superiores a 1080p manualmente. Para cenários que exigem 2K ou 4K, abra um ticket de suporte.

      Saiba como abrir um ticket em Fale conosco.

    Regra de determinação do nível: A especificação de saída depende se os lados maior e menor da resolução do vídeo se enquadram nos limites definidos para aquele nível.

    Por exemplo, para o nível SD (1280 × 720):

    • Se o lado maior for ≤ 1280 e o menor ≤ 720, o vídeo pertence a esta especificação.

    • Se o lado maior exceder 1280 ou o menor ultrapassar 720, o vídeo será classificado numa especificação superior.

    Video Frame Rate

    Seguir a origem: Mantém a taxa de quadros original se estiver dentro do intervalo permitido. Valores acima do limite máximo são ajustados para o máximo; valores abaixo do mínimo são elevados ao mínimo.

    Taxa fixa: Especifique a taxa de quadros de saída em FPS. O valor informado deve ser igual ou inferior à taxa de entrada.

    Video Bitrate

    Seguir a origem: Replica a taxa de bits original caso esteja no intervalo válido. Excessos são limitados ao teto e valores baixos são elevados ao piso. Também é possível definir por proporção.

    Taxa fixa: Defina a taxa de bits em kbps. Intervalos por nível de resolução:

    • LD: 100 a 800.

    • SD: 200 a 1500.

    • HD: 500 a 4000.

    • 2K: 2000 a 8000.

    • 4K: 4000 a 30000.

    Video GOP (frames)

    Define o Group of Pictures (GOP), ou seja, o intervalo entre dois I-frames. Deve ser igual ou menor que o GOP do stream original e nunca superior a 3 segundos para garantir baixa latência.

    Audio Bitrate (transcodificação apenas de áudio)

    Visível apenas quando o Template Type for Audio Only. Unidade: kbps. Intervalo válido: 8 a 1.000.

    Profile (transcodificação apenas de áudio)

    Exibido quando o Template Type for Audio Only.

    • LC-AAC: Low Complexity-Advanced Audio Coding. Proporciona alta eficiência na transcodificação.

    • HE-AAC: High-Efficiency Advanced Audio Coding. Entrega melhor qualidade sonora que o LC-AAC em taxas de bits reduzidas, geralmente abaixo de 128 kbps.

    Sampling Rate (transcodificação apenas de áudio)

    Determina a taxa de amostragem do áudio. Aparece somente se o Template Type for Audio Only. Valores aceitos: 22050, 32000, 44100, 48000 e 96000.

    Sound Channels (transcodificação apenas de áudio)

    Especifica o número de canais de áudio. Disponível apenas quando o Template Type for Audio Only. Opções: 1 ou 2.

    Transcoding Mode (Configuração Avançada)

    Opções de prioridade de qualidade ou de latência. O modo de prioridade de latência reduz o atraso na entrega do stream transcodificado.

    Template Type (Configuração Avançada)

    • Ativado: Inicia a transcodificação somente na primeira solicitação do stream.

    • Desativado: Processa a transcodificação imediatamente após a ingestão, independente de haver espectadores.

    Video Encryption (Configuração Avançada)

    Ao habilitar esta função, escolha entre Alibaba Cloud Proprietary Cryptography ou DRM Encryption.

    • Alibaba Cloud Proprietary Cryptography

      Nota

      A reprodução de streams HLS criptografados exige adicionar o campo obrigatório aliyunols = on ao endereço original.

      Exemplo de URL de reprodução:https://yourdomain/live/StreamName_ID.m3u8?auth_key=xxxxx&aliyunols=on.

    • Trigger Transcoding

      Nota

      Disponível exclusivamente nos centros de transmissão de Shanghai e Singapore.

    All SEI Passed-through (Configuração Avançada)

    Habilite para repassar todos os tipos de mensagens SEI. Se desabilitado, nenhuma mensagem SEI será transmitida.

    Alibaba Cloud Proprietary Cryptography (Configuração Avançada)

    Sincroniza os keyframes do stream de saída com os do stream original quando ativado.

    DRM Encryption (Configuração Avançada)

    Alinha o Presentation Timestamp (PTS) da saída transcodificada com o PTS da fonte original ao ser habilitado.

  4. Clique em Alibaba Cloud Proprietary Cryptography.

Configurar a Transcodificação personalizada via API

Utilize a API AddCustomLiveStreamTranscode para adicionar informações de configuração da DRM Encryption para um domínio e AppName específicos.

Devido à complexidade dos parâmetros da Custom Transcoding, recomendamos combinar o uso do console com a API para realizar essa configuração.

Primeiro, adicione uma configuração de Source-based Keyframe através do console.

Nota

O console oferece uma prévia do efeito de resolução e facilita o preenchimento rápido dos parâmetros para LD, SD, HD e UHD.

Depois de ajustar os parâmetros, chame a API DescribeLiveStreamTranscodeInfo para consultar as informações de configuração da transcodificação.

Transcodificação multi-bitrate

Com a Source-based PTS, você define vários perfis de transcodificação dentro de um único grupo de modelos. Em regiões onde a conexão varia muito, oscilações na rede podem prejudicar a experiência de reprodução. Configurar múltiplas taxas de bits permite que o player se adapte à largura de banda disponível. Assim, após configurar a OK, o player escolhe automaticamente a taxa mais adequada para a rede do usuário, otimizando a qualidade da exibição.

A configuração da Custom Transcoding está disponível apenas no console do ApsaraVideo Live.

Configurar a Transcodificação Multi-bitrate no console

  1. Faça login no console do ApsaraVideo Live.

  2. No painel de navegação à esquerda, clique em Custom Transcoding > Custom Transcoding.

  3. Escolha o domínio alvo, vá para a aba Custom Transcoding e clique em Multi-bitrate Transcoding para criar um novo grupo de modelos de Multi-bitrate Transcoding.

    1. Clique em Multi-bitrate Transcoding para editar os dados básicos do grupo de Feature Management.

      多码率转码模板组-基本信息

      Os parâmetros são descritos na tabela a seguir:

      Parâmetro

      Descrição

      Transcoding

      O modelo só será aplicado se este AppName corresponder exatamente ao da URL de ingestão. Para cada domínio, o conjunto AppName + Template Group ID forma uma chave primária composta.

      Multi-bitrate Transcoding

      Identificador do grupo de modelos de transcodificação. Este ID é usado para montar a URL da Add. Aceita até 10 caracteres, incluindo números, letras maiúsculas, minúsculas e hífens (-).

      Multi-bitrate Transcoding

      Atualmente, apenas o formato HLS é suportado.

      Basic Information

      No momento, o acionamento ocorre apenas mediante ingestão do stream, gerando custos de transcodificação. O acionamento sob demanda (pull) ainda não é suportado.

      Multi-bitrate Transcoding

      Quando ativo, sobrepõe a configuração de GOP dos modelos individuais e adota o GOP do vídeo original.

    2. Clique em Application Name para inserir um novo modelo.image

      Clique no modelo adicionado para ajustar seus parâmetros. Os campos obrigatórios variam conforme o tipo escolhido. Confira a descrição dos parâmetros abaixo:

      Parâmetro

      Descrição

      Template Group ID

      Identifica um modelo específico dentro do grupo. Cada Template ID deve ser único dentro do mesmo grupo.

      Multi-bitrate Transcoding

      Valores válidos: Standard Transcoding, Trigger Transcoding e Audio-only Transcoding.

      O + Add descarta o vídeo e entrega apenas o fluxo de áudio.

      Template ID

      Resolução de saída em pixels. O custo varia conforme o nível de resolução:

      • LD: até (640 × 480).

      • SD: até (1280 × 720).

      • HD: até (1920 × 1080).

      • 2K: até (2560 × 1440).

      • 4K: até (3840 × 2160).

      Nota

      O faturamento segue o nível de resolução (LD, SD, HD, 2K ou 4K). Esses níveis de cobrança são distintos dos IDs de modelos padrão (como lld, lsd, lhd e lud) e dos IDs Narrowband HD™ (como ld, sd, hd e ud), usados meramente como identificadores. Atenção para não confundir os conceitos.

      Critério de classificação: O nível é definido verificando se os lados maior e menor da resolução de saída cabem nos limites estabelecidos.

      Tomando como exemplo a especificação SD (1280 × 720):

      • Vídeos com lado maior ≤ 1280 e lado menor ≤ 720 enquadram-se nesta categoria.

      • Se o lado maior passar de 1280 ou o menor de 720, o vídeo subirá para a próxima faixa de resolução.

      Template Type

      Taxa de bits em kbps para a Resolution escolhida. Faixas permitidas:

      • LD: 100 a 800.

      • SD: 200 a 1500.

      • HD: 500 a 4000.

      • 2K: 2000 a 8000.

      • 4K: 4000 a 30000.

      Standard Transcoding

      Taxa de quadros de saída em FPS. Não pode exceder a taxa de entrada.

      Narrowband HD™ Transcoding

      Define o intervalo entre I-frames (Group of Pictures). Limite máximo de 3 segundos para preservar a baixa latência, devendo ser igual ou inferior ao GOP da fonte.

      Encoding Format

      Atualmente limitado ao formato AAC.

      Audio-only Transcoding (transcodificação apenas de áudio)

      • LC-AAC: Baixa complexidade, alta eficiência de processamento.

      • HE-AAC: Alta eficiência, ideal para manter qualidade em taxas abaixo de 128 kbps.

      Encoding Format (transcodificação apenas de áudio)

      Taxa de bits do áudio. Varia de 8 a 1.000.

      Resolution (transcodificação apenas de áudio)

      Quantidade de canais. Escolha entre 1 ou 2.

      Video Bitrate

      Valor inteiro ou decimal (até duas casas) entre 100 Kbps e 100 Mbps. Sugere-se configurar entre 1,2 e 1,5 vezes a taxa de bits do vídeo.

  4. Clique em Video Frame Rate.

Importante
  • Atualmente, os streams da Video GOP (frames) estão disponíveis exclusivamente como URLs de stream transcodificado HLS.

  • A reprodução de streams com Encoding Format exige o parâmetro aliyunols=on. O parâmetro aliyunols=on tem valor fixo e é mandatório.

  • Tanto para streams de Profile quanto para streams HLS criptografados, acrescente o campo obrigatório aliyunols=on ao endereço original.

    Exemplo:https://yourdomain/live/StreamName_ID.m3u8?auth_key=xxxxx&amp;aliyunols=on.

Veja abaixo um exemplo de URL:

http://<DomainName>/<AppName>/<StreamName>_<Template Group ID>.m3u8?aliyunols=on&auth_key=1234****

O cenário a seguir ilustra o uso prático da Bitrate.

Suponha que você adicione uma configuração de Sound Channels conforme a imagem abaixo.

image

Nota

Este grupo personaliza quatro níveis de transcodificação. Consulte Modelos predefinidos pelo sistema neste tópico para ver os valores de parâmetros de cada nível.

Em seguida, inicie a ingestão do stream e utilize o Alibaba Cloud Player SDK baseado em web para reproduzir. Durante testes, note que o player seleciona dinamicamente a taxa de bits ideal conforme a disponibilidade da rede do cliente.

stream_transcode-lld.m3u8?aliyunols=on&auth_key=17260391...  200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=17260391...  200
stream_transcode-lld.m3u8?aliyunols=on&auth_key=17260391...  200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=17260391...  200
stream_transcode-lld.m3u8?aliyunols=on&auth_key=17260391...  200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=17260391...  200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=17260391...  200
stream_transcode-lhd.m3u8?aliyunols=on&auth_key=1726039...   200
stream_transcode-lsd.m3u8?aliyunols=on&auth_key=1726039...   200
stream_transcode-lhd.m3u8?aliyunols=on&auth_key=1726039...   200
stream_transcode-lhd.m3u8?aliyunols=on&auth_key=1726039...   200
stream_transcode-lhd.m3u8?aliyunols=on&auth_key=1726039...   200
Nota

Para utilizar o player da Alibaba Cloud, consulte Player SDK.

Transcodificação automática H5

O Real-Time Streaming (RTS) opera sobre o protocolo WebRTC. Como navegadores nativos frequentemente não suportam B-frames de vídeo ou codificação AAC para WebRTC, a transcodificação automática H5 resolve essas incompatibilidades para assegurar uma reprodução fluida.

Ative a transcodificação automática H5 ao habilitar o RTS. Consulte Etapa 5: Ativar o recurso RTS para mais detalhes.

Nota
  • A transcodificação automática H5 foca em resolver problemas de compatibilidade (como B-frames e AAC) na reprodução RTS em navegadores nativos. Para alterar propriedades do vídeo como bitrate, framerate ou resolução, continue usando a Transcodificação padrão ou a Maximum Bandwidth.

  • É perfeitamente viável combinar a transcodificação automática H5 com a Transcodificação padrão ou com a OK.

  • O uso da transcodificação automática H5 gera cobranças referentes à transcodificação apenas de áudio. Veja Taxas de transcodificação de streaming ao vivo para valores.

Importante
  • Para desativar a transcodificação apenas de áudio, acesse o console do ApsaraVideo Live e navegue até Multi-bitrate Transcoding > Multi-bitrate Transcoding no menu lateral. Verifique se existe algum modelo de Multi-bitrate Transcoding vinculado ao domínio. Caso exista, remova-o ou edite-o.

  • Se a reprodução via Web SDK disparar automaticamente a Multi-bitrate Transcoding (por exemplo, convertendo AAC para Opus), prefira utilizar um Native SDK da Alibaba Cloud. Os SDKs nativos já suportam formatos como AAC diretamente, evitando esse processo automático e prevenindo custos extras de transcodificação.

Criptografia de vídeo

As configurações de Transcodificação padrão e de Multi-bitrate Transcoding oferecem opções de proteção de conteúdo. Configure a Custom Transcoding diretamente nessas telas. Para instruções completas e detalhes, acesse Criptografia de vídeo da Alibaba Cloud.

Referências

Para saber mais sobre as APIs de configuração de transcodificação, consulte transcodificação de stream ao vivo.

Para usar o Java SDK, consulte o guia do Java SDK.