Todos os produtos
Search
Central de documentação

Object Storage Service:Video transcoding

Última atualização: Jul 03, 2026

A transcodificação de vídeo permite alterar formatos de codificação, reduzir resolução e taxa de bits, converter formatos de contêiner e modificar parâmetros de vídeo para atender a diferentes requisitos de negócios. Este tópico descreve como configurar os parâmetros de transcodificação de vídeo e fornece exemplos práticos.

Cenários

Adaptação a diferentes dispositivos terminais e ambientes de rede

Altere a resolução e a taxa de bits de um arquivo de mídia para garantir compatibilidade com diversos dispositivos terminais e condições de rede.

Codificação eficiente para redução de custos

Utilize algoritmos de codificação eficientes no processamento de mídia para reduzir a taxa de bits e evitar travamentos durante a reprodução, sem comprometer a qualidade do vídeo. Essa abordagem economiza custos de armazenamento e tráfego.

Tecnologias de produção inteligente para aprimoramento e reprodução de vídeo

Aproveite as tecnologias de processamento de mídia e os recursos avançados de produção, como IA de vídeo e super-resolução, para transcodificar vídeos de baixa qualidade em versões de alta definição. Além disso, crie novos arquivos de mídia adicionando marcas d'água, capturando quadros de vídeo ou editando o conteúdo.

Pré-requisitos

  • O Intelligent Media Management (IMM) está ativado. Para mais informações, consulte Ativar o IMM.

  • O bucket correspondente do Object Storage Service (OSS) está vinculado a um projeto do IMM. Para saber como vincular um bucket do OSS a um projeto do IMM no console do OSS, consulte Introdução. Para obter detalhes sobre como vincular um bucket a um projeto do IMM usando a API do IMM, consulte AttachOSSBucket.

  • As permissões necessárias foram concedidas ao usuário do Resource Access Management (RAM) utilizado para acessar os recursos do IMM. Para mais informações, consulte Permissões.

Observações de uso

  • A transcodificação de vídeo suporta apenas processamento assíncrono (x-oss-async-process).

  • A transcodificação de vídeo não suporta acesso anônimo.

  • Formatos de vídeo suportados: MP4, MPEG-TS, MKV, MOV, AVI, FLV, M3U8, WebM, WMV, RM e VOB.

  • O uso da transcodificação de vídeo gera cobranças. As taxas de processamento de mídia constam nas faturas do IMM. Para mais detalhes, consulte Itens faturáveis.

Processo

A figura a seguir ilustra o processo de transcodificação de vídeo.

  1. Faça upload de um arquivo de vídeo para um bucket.

  2. Crie uma tarefa de transcodificação de mídia.

  3. Após a execução da tarefa de transcodificação de mídia, salve o arquivo de vídeo transcodificado no OSS.

Parâmetros

Ação: video/convert

A tabela a seguir descreve os parâmetros para transcodificação de vídeo.

Parâmetro

Tipo

Obrigatório

Descrição

ss

int

Não

Momento inicial do vídeo a partir do qual a transcodificação começa. Unidade: milissegundos. Valores válidos:

  • 0 (padrão): A transcodificação inicia na posição inicial do vídeo.

  • Número inteiro maior que 0: A transcodificação começa após o número especificado de milissegundos no vídeo.

t

int

Não

Duração do conteúdo de vídeo a ser transcodificado após o tempo inicial especificado. Unidade: milissegundos. Valores válidos:

  • 0 (padrão): A transcodificação prossegue até o final do vídeo.

  • Número inteiro maior que 0: A transcodificação dura até atingir a duração especificada.

f

string

Sim

Tipo de contêiner de mídia. Valores válidos:

  • Valores válidos para contêineres de áudio e vídeo: mp4, mkv, mov, asf, avi, mxf, ts, flv e webm.

  • Valores válidos para contêineres de áudio: mp3, aac, flac, oga, ac3, opus e amr.

vn

int

Não

Define se a geração de fluxo de vídeo deve ser desativada. Valores válidos:

  • 0 (padrão): não desativa a geração de fluxo de vídeo.

  • 1: desativa a geração de fluxo de vídeo. Nenhum fluxo de vídeo será incluído no objeto de saída.

vcodec

string

Não

Formato de codificação do vídeo de saída. Valores válidos:

  • copy (padrão): copia o fluxo de vídeo do vídeo original para o objeto de saída.

  • h264: O vídeo de saída estará no formato H.264.

  • h265: O vídeo de saída estará no formato H.265.

  • vp9: O vídeo de saída estará no formato VP9.

fps

float

Não

Taxa de quadros desejada. Valores válidos: 0 a 240.

fpsopt

int

Não

Opção de taxa de quadros. Valores válidos:

  • 0: usa sempre a taxa de quadros desejada.

  • 1: utiliza a taxa de quadros da source quando esta for menor que a taxa desejada.

  • 2: retorna falha se a taxa de quadros da source for menor que a taxa desejada.

pixfmt

string

Não

Formato de pixel desejado. Por padrão, corresponde ao formato de pixel da source. Valores válidos:

  • yuv420p

  • yuva420p

  • yuv420p10le

  • yuv422p

  • yuv422p10le

  • yuv444p

  • yuv444p10le

s

string

Não

Resolução desejada.

  • A resolução segue o formato Largura x Altura.

  • A largura e a altura devem ser múltiplos de 2 e estar entre 64 e 4.096. Exemplos: 4096 x 4096 e 64 x 64.

sopt

int

Não

Opção de resolução. Valores válidos:

  • 0: usa sempre a resolução desejada.

  • 1: utiliza a resolução da source quando esta for menor que a resolução desejada.

  • 2: retorna falha quando a resolução da source for menor que a resolução desejada.

scaletype

string

Não

Modo de redimensionamento. Valores válidos:

  • crop: redimensiona o vídeo proporcionalmente para caber em uma área retangular definida pela largura e altura especificadas (ou pelos lados maior e menor), recortando as partes excedentes a partir do centro.

  • stretch (padrão): força o redimensionamento do vídeo com base na largura e altura especificadas (ou nos lados maior e menor), esticando-o para preencher o espaço restante.

  • fill: redimensiona o vídeo proporcionalmente até a resolução máxima dentro da área retangular definida, preenchendo o espaço vazio com preto a partir do centro.

  • fit: ajusta o vídeo proporcionalmente à resolução máxima permitida dentro da área retangular definida.

arotate

int

Não

Define se a orientação adaptativa da resolução deve ser ativada. Valores válidos:

  • 0 (padrão): não ativa a orientação adaptativa da resolução.

  • 1: ativa a orientação adaptativa da resolução.

g

int

Não

Intervalo de quadros-chave. Valores válidos: 1 a 100000.

vb

int

Não

Taxa de bits de vídeo desejada. Unidade: bit/s. Valores válidos: 10000 a 100000000.

vbopt

int

Não

Opção de taxa de bits de vídeo. Valores válidos:

  • 0: usa sempre a taxa de bits de vídeo desejada.

  • 1: utiliza a taxa de bits da source quando esta for menor que a taxa desejada.

  • 2: retorna falha quando a taxa de bits da source for menor que a taxa desejada.

crf

float

Não

Fator de taxa constante (CRF). Valores válidos: 0 a 51.

maxrate

int

Não

Taxa de bits máxima. Unidade: bit/s. Valores válidos: 10000 a 100000000.

bufsize

int

Não

Tamanho do buffer. Unidade: bit. Valores válidos: 10000 a 200000000.

an

int

Não

Define se a geração de fluxo de áudio deve ser desativada. Valores válidos:

  • 0 (padrão): não desativa a geração de fluxo de áudio.

  • 1: desativa a geração de fluxo de áudio. Nenhum fluxo de áudio será incluído no objeto de saída.

acodec

string

Não

Formato de codificação do áudio. Valores válidos:

  • copy (padrão): copia o fluxo de áudio para o objeto de saída.

  • mp3: O áudio de saída estará no formato MP3.

  • aac: O áudio de saída estará no formato AAC.

  • flac: O áudio de saída estará no formato FLAC.

  • vorbis: O áudio de saída estará no formato Vorbis.

  • ac3: O áudio de saída estará no formato AC3.

  • opus: O áudio de saída estará no formato Opus.

  • amr: O áudio de saída estará no formato AMR.

ar

int

Não

Taxa de amostragem do áudio de saída. Valores válidos:

  • 8000

  • 11025

  • 12000

  • 16000

  • 22050

  • 24000

  • 32000

  • 44100

  • 48000

  • 88200

  • 96000

ac

int

Não

Número de canais de som no áudio de saída. Por padrão, mantém a mesma quantidade de canais do áudio original. Valores válidos: 1 a 8.

aq

int

Não

Qualidade de compressão de áudio. Este parâmetro e o parâmetro ab são mutuamente exclusivos. Valores válidos: 0 a 100.

ab

int

Não

Taxa de bits de áudio desejada. Este parâmetro e o parâmetro aq são mutuamente exclusivos. Valores válidos: 1000 a 10000000.

abopt

int

Não

Opção de taxa de bits de áudio. Valores válidos:

  • 0 (padrão): usa sempre a taxa de bits de áudio alvo.

  • 1: utiliza a taxa de bits da source quando esta for menor que a taxa desejada.

  • 2: retorna falha quando a taxa de bits da source for menor que a taxa desejada.

sn

int

Não

Define se a geração de legendas deve ser desativada. Valores válidos:

  • 0 (padrão): não desativa a geração de legendas.

  • 1: desativa a geração de legendas. Nenhuma legenda será incluída no objeto de saída.

adepth

int

Não

Profundidade de bits de amostragem do áudio de saída. Valores válidos: 16 e 24.

Nota

Este parâmetro só tem efeito se você definir o parâmetro acodec como flac.

segment

string

Não

Configurações de segmentação de mídia. Por padrão, a segmentação não é aplicada.

f

string

Não

Modo de segmentação de mídia. Valores válidos:

  • hls

  • dash

Nó pai: segment

t

int

Não

Duração do segmento. Unidade: milissegundos. Valores válidos: 0 a 3600000.

Nó pai: segment

Talvez seja necessário usar também os parâmetros sys/saveas e notify em uma tarefa de transcodificação de vídeo. Para mais informações, consulte sys/saveas e Notificação de mensagens.

Usar a API do OSS

Converter de AVI para MP4

Informações da tarefa de transcodificação

  • Objeto de origem

    • Formato de vídeo: AVI

    • Nome do vídeo: example.avi

  • Método de processamento: transcodificação de vídeo.

  • Objeto de destino

    • Informações do vídeo

      • Formato de vídeo: MP4

      • Nome do vídeo: outobjprefix.mp4

      • Formato do fluxo de vídeo: H.265

      • Resolução do vídeo: 1920 × 1080

      • Taxa de quadros do vídeo: 30 fps

      • Taxa de bits do vídeo: 2 Mbit/s

    • Informações do áudio

      • Formato do fluxo de áudio: AAC

      • Taxa de bits do áudio: 100 Kbit/s

      • Fluxo de legendas: desativado

    • Caminho de saída: oss://outbucket/outobjprefix.mp4

Exemplo

POST /example.avi?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: SignatureValue
 
// Transcode the example.avi object to the MP4 container format and specify H.265 as the video stream format. Set the resolution to 1920 x 1080, frame rate to 30 fps, and video bitrate to 2 Mbit/s. Specify AAC as the audio stream format and set the audio bitrate to 100 Kbit/s. Disable subtitle stream generation. Save the output object as oss://outbucket/outobjprefix.mp4. 
x-oss-async-process=video/convert,f_mp4,vcodec_h265,s_1920x1080,vb_2000000,fps_30,acodec_aac,ab_100000,sn_1|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ

Converter de AVI para TS

Informações da tarefa de transcodificação

  • Objeto de origem

    • Formato de vídeo: AVI

    • Nome do vídeo: example.avi

  • Método de processamento

    • Trecho a transcodificar: Transcodifique 60.000 milissegundos do vídeo, começando a partir do milissegundo 1.000.

    • Segmentação: Crie segmentos de HTTP Live Streaming (HLS) em intervalos de 30 segundos.

    • Notificação de conclusão da transcodificação: Envie mensagens do Simple Message Queue (SMQ, anteriormente MNS).

  • Objeto de destino

    • Informações do vídeo

      • Formato de vídeo: TS

      • Formato do fluxo de vídeo: H.264

      • Taxa de bits do vídeo: 1 Mbit/s

    • Informações do áudio

      • Formato de áudio: AAC

      • Taxa de bits do áudio: 100 Kbit/s

    • Caminhos de saída:

      • Objetos TS: oss://outbucket/outobjprefix-%d.ts

      • Objeto M3U8: oss://outbucket/outobjprefix.m3u8

Exemplo

POST /example.avi?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: SignatureValue
 
// Transcode the example.avi video. 
x-oss-async-process=video/convert,ss_10000,t_60000,f_ts,vcodec_h264,vb_1000000,acodec_mp3,ab_100000/segment,f_hls,t_30000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ/notify,topic_QXVkaW9Db252ZXJ0

Converter de AVI para MP3

Informações da tarefa de transcodificação

  • Objeto de origem

    • Nome do vídeo: example.avi

    • Formato de vídeo: AVI

  • Método de processamento: Extrair e converter áudio.

  • Objeto de destino

    • Formato de contêiner de áudio: MP3

    • Formato de codificação de áudio: MP3

    • Taxa de bits do áudio: 100 Kbit/s

    • Fluxo de vídeo: desativado

    • Fluxo de legendas: desativado

    • Caminho de saída: oss://outbucket/outobjprefix.mp3 (Se o vídeo contiver vários canais de áudio, apenas o primeiro canal será processado por padrão.)

Exemplo

POST /example.avi?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: SignatureValue
 
// Extract audio from the example.avi object and transcode the extracted audio. 
x-oss-async-process=video/convert,f_mp3,acodec_mp3,ab_100000,vn_1,sn_1|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ

Usar SDKs do OSS

Use o SDK do OSS para Java, Python ou Go para transcodificar vídeos de forma assíncrona.

Java

Para usar o SDK do OSS para Java, certifique-se de que a versão do SDK seja V3.17.4 ou posterior.

import com.aliyun.oss.ClientBuilderConfiguration;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.common.auth.CredentialsProviderFactory;
import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.model.AsyncProcessObjectRequest;
import com.aliyun.oss.model.AsyncProcessObjectResult;
import com.aliyuncs.exceptions.ClientException;

import java.util.Base64;

public class Demo {
    public static void main(String[] args) throws ClientException {
        // Specify the endpoint of the region in which the bucket is located. 
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Specify the ID of the Alibaba Cloud region in which the bucket is located. Example: cn-hangzhou. 
        String region = "cn-hangzhou";
        // Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured. 
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Specify the name of the bucket. Example: examplebucket. 
        String bucketName = "examplebucket";
        // Specify the name of the output video. 
        String targetKey = "dest.avi";
        // Specify the name of the source video. 
        String sourceKey = "src.mp4";

        // Create an OSSClient instance. 
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {
            // Create a style variable of the string type to store video transcoding parameters. 
            String style = String.format("video/convert,f_avi,vcodec_h265,s_1920x1080,vb_2000000,fps_30,acodec_aac,ab_100000,sn_1");
            // Create an asynchronous processing instruction. 
            String bucketEncoded = Base64.getUrlEncoder().withoutPadding().encodeToString(bucketName.getBytes());
            String targetEncoded = Base64.getUrlEncoder().withoutPadding().encodeToString(targetKey.getBytes());
            String process = String.format("%s|sys/saveas,b_%s,o_%s", style, bucketEncoded, targetEncoded);
            // Create an AsyncProcessObjectRequest object. 
            AsyncProcessObjectRequest request = new AsyncProcessObjectRequest(bucketName, sourceKey, process);
            // Execute the asynchronous processing tasks. 
            AsyncProcessObjectResult response = ossClient.asyncProcessObject(request);
            System.out.println("EventId: " + response.getEventId());
            System.out.println("RequestId: " + response.getRequestId());
            System.out.println("TaskId: " + response.getTaskId());

        } finally {
            // Shut down the OSSClient instance. 
            ossClient.shutdown();
        }
    }
}

Python

Para usar o SDK do OSS para Python, certifique-se de que a versão do SDK seja V2.18.4 ou posterior.

# -*- coding: utf-8 -*-
import base64
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

def main():
    # Specify the endpoint of the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. 
    endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'
    # Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured. 
    auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

    # Specify the name of the bucket. 
    bucket_name = 'examplebucket'
    # Specify the ID of the Alibaba Cloud region in which the bucket is located. Example: cn-hangzhou. 
    region = 'cn-hangzhou'
    # Create a bucket. 
    bucket = oss2.Bucket(auth, endpoint, bucket_name, region=region)

    # Specify the name of the source video. 
    source_key = 'src.mp4'
    # Specify the name of the output video. 
    target_key = 'dest.avi'
    # Create a style variable of the string type to store video transcoding parameters. 
    style = 'video/convert,f_avi,vcodec_h265,s_1920x1080,vb_2000000,fps_30,acodec_aac,ab_100000,sn_1'
    process = "{0}|sys/saveas,o_{1}".format(style,
                                            oss2.compat.to_string(base64.urlsafe_b64encode(
                                                oss2.compat.to_bytes(target_key))).replace('=', ''))

    # Call the media processing operation. 
    try:
        # Run the asynchronous processing task. 
        result = bucket.async_process_object(source_key, process)
        print(f"EventId: {result.event_id}")
        print(f"RequestId: {result.request_id}")
        print(f"TaskId: {result.task_id}")
    except Exception as e:
        print(f"Error: {e}")

if __name__ == "__main__":
    main()

Go

Para usar o SDK do OSS para Go, certifique-se de que a versão do SDK seja V3.0.2 ou posterior.

package main

import (
	"encoding/base64"
	"fmt"
	"os"
	"strings"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured. 
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// Create an OSSClient instance. 
	// Specify the endpoint of the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. Specify your actual endpoint. 
	client, err := oss.New("https://oss-cn-hangzhou.aliyuncs.com", "", "", oss.SetCredentialsProvider(&provider), oss.AuthVersion(oss.AuthV4), oss.Region("cn-hangzhou"))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// Specify the name of the bucket in which the source video is stored. Example: examplebucket. 
	bucketName := "examplebucket"
	bucket, err := client.Bucket(bucketName)
	// Specify the name of the output video. 
	targetObject := "dest.avi"
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// Specify the name of the source video. 
	sourceObject := "src.mp4"

	// Create a style variable of the string type to store video transcoding parameters. 
	style := "video/convert,f_avi,vcodec_h265,s_1920x1080,vb_2000000,fps_30,acodec_aac,ab_100000,sn_1"

	process := fmt.Sprintf("%s|sys/saveas,b_%v,o_%v", style, strings.TrimRight(base64.URLEncoding.EncodeToString([]byte(bucketName)), "="), strings.TrimRight(base64.URLEncoding.EncodeToString([]byte(targetObject)), "="))
	fmt.Printf("%#v\n", process)
	rs, err := bucket.AsyncProcessObject(sourceObject, process)
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	fmt.Printf("EventId:%s\n", rs.EventId)
	fmt.Printf("RequestId:%s\n", rs.RequestId)
	fmt.Printf("TaskId:%s\n", rs.TaskId)
}

Perguntas frequentes

Como corrigir um erro ResourceNotFound em uma tarefa de transcodificação de vídeo?

Para resolver o erro "ResourceNotFound: The specified resource Attachment is not found" durante a transcodificação de vídeo, verifique se um bucket de armazenamento foi criado e vinculado ao seu projeto do IMM. Para mais informações, consulte Guia de processamento de dados do OSS.

Posso salvar o objeto de saída de uma tarefa de transcodificação de vídeo no mesmo caminho do objeto de origem?

Não, não é possível salvar o objeto de saída no mesmo caminho do objeto de origem. Para evitar problemas como loops de execução de gatilhos ou substituição acidental do arquivo original, não utilize o caminho de entrada como prefixo do caminho de saída.

Posso especificar uma profundidade de bits de áudio em uma tarefa de transcodificação de vídeo?

Sim, é possível definir a profundidade de bits de áudio incluindo o parâmetro pixfmt em x-oss-process.

Como recupero o resultado da execução de uma tarefa de transcodificação de vídeo usando o ID da tarefa retornado?

Para obter o resultado da execução da tarefa usando o ID retornado, recomendamos chamar a operação GetTask no IMM.

Como o OSS lida com a recuperação e exclusão de objetos com formato específico baseado em sufixo durante a transcodificação de vídeo?

O OSS não oferece suporte à busca de objetos por sufixo, pois fornece um serviço de armazenamento não ordenado.

O que fazer se o envio de mensagens para transcodificação de vídeo estiver configurado, mas o backend não receber as mensagens?

Verifique se o tópico do SMQ foi criado e se a assinatura está configurada. Caso o tópico do SMQ não exista ou tenha sido excluído, reconfigure a assinatura. Reinicie o processo de transcodificação com base na configuração atual da assinatura.

Posso usar um modelo específico para transcodificar um vídeo após fazer upload dele no OSS?

Sim, configure um gatilho para implementar esse recurso. Tanto para vídeos existentes quanto para novos em um bucket, as tarefas de processamento podem ser iniciadas manual ou automaticamente por meio de configurações de processamento em lote e gatilhos. Ao criar tarefas, processadores em lote ou gatilhos, use estilos do sistema ou personalizados. Para mais informações, consulte Processamento em lote e Gatilhos.

Sou cobrado por taxas de armazenamento tanto do vídeo transcodificado quanto do vídeo original? Se o vídeo transcodificado tiver um prefixo diferente do original, ele substituirá o vídeo de origem?

Sim, as taxas de armazenamento incidem sobre ambos, pois o vídeo transcodificado também consome espaço. Se você utilizar o mesmo caminho para o vídeo transcodificado e o original, poderão ocorrer loops de processamento.