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.
NotaApenas 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
TimelineOutestiver definido no objetoTimeline, ele terá precedência e o serviço ignorará a lógica da faixa principal. UseTimelineIneInOutpara 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.
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:
Se a duração de alguma faixa exceder
MaxDuration, essa faixa será truncada paraMaxDuration. O vídeo final nunca ultrapassaráMaxDuration.Caso todas as faixas sejam mais curtas que
MaxDuration, a duração da saída será a mesma que seria sem o uso deMaxDuration.
Se tanto
MaxDurationquanto a faixa principal estiverem definidos,MaxDurationprevalecerá 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:
A duração de exibição da imagem global é definida automaticamente como 15 segundos.
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.
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.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.
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"
}
]
}]
}]
}