Todos os produtos
Search
Central de documentação

Intelligent Media Services:Defina a faixa principal e alinhe as outras faixas a ela

Última atualização: Jun 28, 2026

Controle a duração de um vídeo produzido em cenários de edição comuns usando a faixa principal, MaxDuration ou ajuste automático de velocidade.

Defina a faixa principal

Quando usar a faixa principal

Ao combinar áudio com vídeos ou imagens de durações desconhecidas, definir parâmetros de tempo em cada clipe torna-se repetitivo e propenso a erros. Em vez disso, designe uma faixa como faixa principal. O serviço alinha todas as outras faixas à duração da faixa principal e trunca qualquer faixa que exceda esse tempo. Assim, você conclui a edição sem precisar saber a duração exata de cada clipe e sem configurar In, Out, TimelineIn ou TimelineOut em cada ativo.

Como configurar a faixa principal

Defina MainTrack como true em uma faixa de vídeo ou áudio no objeto Timeline. A duração do vídeo final corresponderá à duração dessa faixa.

  • O sistema trunca qualquer faixa mais longa que a faixa principal para igualar sua duração.

  • Apenas uma faixa principal é permitida. Se várias faixas tiverem MainTrack: true, somente a primeira terá efeito.

  • Somente faixas de vídeo e áudio podem ser definidas como faixa principal.

    Nota
    • Apenas uma faixa pode ser especificada como principal em um vídeo. Caso múltiplas faixas sejam marcadas como principais, a primeira terá precedência.

    • Defina apenas uma faixa de vídeo ou áudio como a faixa principal.

    • Se TimelineOut estiver definido no objeto Timeline, ele terá precedência e o serviço ignorará a lógica da faixa principal. Use TimelineIn e InOut para posicionar ativos na linha do tempo.

Exemplo

A linha do tempo abaixo possui duas faixas: uma faixa de vídeo com quatro clipes totalizando 20 segundos e uma faixa de áudio com um único arquivo de 15 segundos. A faixa de áudio é a faixa principal.

{
    "VideoTracks": [{
        "VideoTrackClips": [{
            "MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video1.mp4",
            "Out": 5
        }, {
            "MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video2.mp4",
            "Out": 5
        }, {
            "MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video3.mp4",
            "Out": 5
        }, {
            "MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video4.mp4",
            "Out": 5
        }]
    }],
    "AudioTracks": [{
        "MainTrack": true,
        "AudioTrackClips": [{
            "MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_audio.mp3"
        }]
    }]
}

Duração final do vídeo: 15 segundos. A faixa de vídeo é truncada de 20 segundos para corresponder à faixa principal de áudio.

Nota

Como apenas o arquivo de áudio determina a duração da saída, você pode substituir vídeos e imagens livremente sem alterar nenhum parâmetro de tempo. Isso torna a abordagem da faixa principal ideal para produção em lote, onde o áudio permanece fixo, mas o conteúdo visual varia.

Especifique MaxDuration

Quando usar MaxDuration

Quando você dispõe de um grande volume de materiais de vídeo, áudio e legendas e precisa produzir muitos clipes com duração fixa, configurar parâmetros de tempo em cada ativo torna-se inviável. Defina MaxDuration em OutputMediaConfig para impor um limite rígido à saída. O sistema trunca automaticamente todas as faixas até esse limite, e materiais sem duração de exibição explícita (como imagens globais e textos de banner) recebem automaticamente o valor de MaxDuration.

Como configurar MaxDuration

Ao chamar a API SubmitMediaProducingJob, defina MaxDuration em OutputMediaConfig para limitar a duração do vídeo de saída.

Funcionamento de MaxDuration:

  1. Se a duração de alguma faixa exceder MaxDuration, essa faixa será truncada para MaxDuration. O vídeo final nunca ultrapassará MaxDuration.

  2. Caso todas as faixas sejam mais curtas que MaxDuration, a duração da saída será a mesma que seria sem o uso de MaxDuration.

Nota
  • Se tanto MaxDuration quanto a faixa principal estiverem definidos, MaxDuration prevalecerá e a configuração da faixa principal será ignorada.

Exemplo

Os exemplos a seguir mostram configurações de amostra para OutputMediaConfig e Timeline.

OutputMediaConfig: Defina MaxDuration como 15 segundos.

{
    "MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_output.mp4",
    "MaxDuration": 15
}

Timeline: Quatro faixas — duas faixas de vídeo, uma faixa de áudio e uma faixa de legenda. Nenhum parâmetro relacionado a tempo está definido em nenhum clipe.

  • Faixa de vídeo 1: uma imagem JPG configurada como imagem global.

  • Faixa de vídeo 2: dois vídeos adicionados em sequência.

  • Faixa de áudio: um arquivo de áudio.

  • Faixa de legenda: texto de banner.

    {
        "VideoTracks": [{
            "VideoTrackClips": [{
                "Type": "GlobalImage",
                "MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_image1.jpg"
            }]
        }, {
            "VideoTrackClips": [{
                "MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video1.mp4"
            }, {
                "MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video2.mp4"
            }]
        }],
        "AudioTracks": [{
            "AudioTrackClips": [{
                "MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_audio.mp3"
            }]
        }],
        "SubtitleTracks": [{
            "SubtitleTrackClips": [{
                "Type": "Text",
                "Content": "Banner text",
                "Alignment": "CenterCenter"
            }]
        }]
    }

Duração final do vídeo: 15 segundos, correspondendo a MaxDuration. Especificamente:

  1. A duração de exibição da imagem global é definida automaticamente como 15 segundos.

  2. A faixa de vídeo (dois clipes) e a faixa de áudio são truncadas para 15 segundos se suas durações combinadas ou individuais excederem esse limite.

  3. A duração de exibição do texto do banner é definida automaticamente como 15 segundos.

Ajuste automático de velocidade

Quando usar o ajuste de velocidade

Quando a faixa principal está definida, as faixas mais longas são truncadas por padrão. O truncamento pode comprometer a integridade do conteúdo — por exemplo, uma narração pode ser cortada no meio de uma frase. O problema inverso também ocorre: se o vídeo for mais curto que a faixa principal de áudio, o vídeo termina antes e o áudio restante é reproduzido sobre uma tela preta.

O ajuste de velocidade resolve ambos os problemas. Em vez de truncar, o serviço acelera ou desacelera automaticamente a faixa para que ela termine exatamente ao mesmo tempo que a faixa principal, preservando todo o conteúdo e mantendo a saída perfeitamente alinhada.

Como configurar o ajuste de velocidade

Defina TrackShortenMode e TrackExpandMode em uma faixa de vídeo ou áudio na linha do tempo para controlar como a faixa se comporta em relação à faixa principal. Atualmente, ambos os parâmetros suportam apenas AutoSpeed, que ajusta a velocidade de reprodução automaticamente.

  • TrackShortenMode: "AutoSpeed" — acelera a faixa quando ela é mais longa que a faixa principal.

  • TrackExpandMode: "AutoSpeed" — desacelera a faixa quando ela é mais curta que a faixa principal.

    1. Não use o ajuste automático de velocidade simultaneamente com o alinhamento de material entre faixas. O ajuste de velocidade altera o tempo dos clipes, o que prejudica a precisão do alinhamento.

    2. O ajuste automático de velocidade não se aplica a faixas configuradas para reprodução em loop. O modo de loop já preenche automaticamente toda a duração da faixa.

Exemplos

Exemplo 1: A faixa de vídeo é a faixa principal. A faixa de áudio possui TrackShortenMode: "AutoSpeed". Se o áudio for mais longo que o vídeo, sua velocidade será aumentada automaticamente para que termine junto com o vídeo.

{
	"VideoTracks": [{
		"MainTrack": true,
		"VideoTrackClips": [{
			"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video1.mp4",
			"In": 0,
			"Out": 10
		}, {
			"Type": "Image",
			"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_image1.jpg",
			"Duration": 4
		}, {
			"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video2.mp4",
			"In": 0,
			"Out": 5
		}]
	}],
	"AudioTracks": [{
		"TrackShortenMode": "AutoSpeed",
		"AudioTrackClips": [{
			"Content": "Freshippo just opened a store in Huilongguan. It is the grand opening day, and there is quite a crowd at the store. Freshippo offers some great deals on snacks and drinks. Come check it out."
			"Type": "AI_TTS",
			"Voice": "zhiqing",
			"Effects": [{
				"Type": "Volume",
				"Gain": 1
			}, {
				"FontSize": 34,
				"Y": 0.658,
				"Alignment": "TopCenter",
				"AdaptMode": "AutoWrap",
				"Type": "AI_ASR",
				"Font": "FZHei-B01S"
			}]
		}]
	}]
}

Exemplo 2: A faixa de áudio é a faixa principal. A faixa de vídeo tem tanto TrackShortenMode quanto TrackExpandMode definidos como "AutoSpeed". A velocidade do vídeo é aumentada automaticamente se o vídeo for mais longo que o áudio, ou diminuída se for mais curto — garantindo que o vídeo termine exatamente quando o áudio terminar.

{
	"VideoTracks": [{
		"TrackExpandMode": "AutoSpeed",
		"TrackShortenMode": "AutoSpeed",
		"VideoTrackClips": [{
				"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video1.mp4",
				"In": 0,
				"Out": 10
			},
			{
				"Type": "Image",
				"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_image1.jpg",
				"Duration": 4
			},
			{
				"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video2.mp4",
				"In": 0,
				"Out": 5
			}
		]
	}],
	"AudioTracks": [{
		"MainTrack": true,
		"AudioTrackClips": [{
			"Content": "Freshippo just opened a store in Huilongguan. It is the grand opening day, and there is quite a crowd at the store. Freshippo offers some great deals on snacks and drinks. Come check it out."
			"Type": "AI_TTS",
			"Voice": "zhiqing",
			"Effects": [{
					"Type": "Volume",
					"Gain": 1
				},
				{
					"FontSize": 34,
					"Y": 0.658,
					"Alignment": "TopCenter",
					"AdaptMode": "AutoWrap",
					"Type": "AI_ASR",
					"Font": "FZHei-B01S"
				}
			]
		}]
	}]
}