Contrôlez la durée d'une vidéo produite dans des scénarios de montage classiques en utilisant la piste principale, le paramètre MaxDuration ou l'ajustement automatique de la vitesse.
Définir la piste principale
Quand utiliser la piste principale
Lorsque vous combinez de l'audio avec des vidéos ou des images dont la durée est inconnue, définir des paramètres temporels sur chaque clip s'avère fastidieux et source d'erreurs. Désignez plutôt une piste comme piste principale. Le service aligne toutes les autres pistes sur la durée de la piste principale et tronque toute piste qui dépasse cette durée. Vous pouvez ainsi finaliser le montage sans connaître la durée exacte de chaque clip et sans définir les paramètres In, Out, TimelineIn ou TimelineOut pour chaque ressource.
Comment configurer la piste principale
Définissez MainTrack sur true pour une piste vidéo ou audio dans l'objet Timeline. La durée finale de la vidéo correspond à celle de cette piste.
Toute piste plus longue que la piste principale est tronquée pour correspondre à sa durée.
Une seule piste principale est autorisée. Si plusieurs pistes ont
MainTrack: true, seule la première est prise en compte.-
Seules les pistes vidéo et audio peuvent servir de piste principale.
RemarqueUne seule piste peut être désignée comme piste principale dans une vidéo. Si plusieurs pistes sont spécifiées comme principales, la première a priorité.
Vous ne pouvez définir qu'une piste vidéo ou audio comme piste principale.
Si
TimelineOutest défini dans l'objetTimeline, ce paramètre a priorité et le service ignore la logique de la piste principale. UtilisezTimelineInetInOutpour positionner les ressources sur la chronologie.
Exemple
La chronologie ci-dessous comprend deux pistes : une piste vidéo avec quatre clips totalisant 20 secondes, et une piste audio avec un seul fichier de 15 secondes. La piste audio est définie comme piste principale.
{
"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"
}]
}]
}
Durée finale de la vidéo : 15 secondes. La piste vidéo est tronquée de 20 à 15 secondes pour s'aligner sur la piste audio principale.
Étant donné que seul le fichier audio détermine la durée de sortie, vous pouvez remplacer les vidéos et les images sans modifier aucun paramètre temporel. Cette approche par piste principale convient parfaitement à la production en lot lorsque l'audio reste fixe mais que le contenu visuel change.
Spécifier MaxDuration
Quand utiliser MaxDuration
Lorsque vous disposez d'un grand nombre de ressources vidéo, audio et de sous-titres et souhaitez produire de nombreux clips de durée fixe, il est peu pratique de définir des paramètres temporels sur chaque ressource. Définissez MaxDuration dans OutputMediaConfig pour imposer une limite stricte à la sortie. Chaque piste est automatiquement tronquée à cette limite, et les ressources sans durée d'affichage explicite (comme les images globales et le texte de bannière) se voient automatiquement attribuer la valeur MaxDuration.
Comment configurer MaxDuration
Lors de l'appel à l'API SubmitMediaProducingJob, définissez MaxDuration dans OutputMediaConfig pour limiter la durée de la vidéo de sortie.
Fonctionnement de MaxDuration :
Si la durée d'une piste dépasse
MaxDuration, cette piste est tronquée à la valeur deMaxDuration. La durée finale de la vidéo ne dépassera jamaisMaxDuration.Si toutes les pistes sont plus courtes que
MaxDuration, la durée de sortie reste identique à celle obtenue sansMaxDuration.
Si
MaxDurationet la piste principale sont tous deux définis,MaxDurationprend effet et le paramètre de la piste principale est ignoré.
Exemple
Les exemples suivants illustrent des configurations types pour OutputMediaConfig et Timeline.
OutputMediaConfig : Définissez MaxDuration sur 15 secondes.
{
"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_output.mp4",
"MaxDuration": 15
}
Timeline : Quatre pistes — deux pistes vidéo, une piste audio et une piste de sous-titres. Aucun paramètre temporel n'est défini sur les clips.
Piste vidéo 1 : une image JPG configurée comme image globale.
Piste vidéo 2 : deux vidéos ajoutées consécutivement.
Piste audio : un fichier audio.
-
Piste de sous-titres : texte de bannière.
{ "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" }] }] }
Durée finale de la vidéo : 15 secondes, correspondant à MaxDuration. Plus précisément :
La durée d'affichage de l'image globale est automatiquement définie sur 15 secondes.
La piste vidéo (deux clips) et la piste audio sont tronquées à 15 secondes si leurs durées combinées ou individuelles dépassent cette limite.
La durée d'affichage du texte de bannière est automatiquement définie sur 15 secondes.
Ajustement automatique de la vitesse
Quand utiliser l'ajustement de vitesse
Lorsque la piste principale est définie, les pistes plus longues sont tronquées par défaut. Cette troncature peut nuire à l'intégrité du contenu ; par exemple, une narration peut être coupée au milieu d'une phrase. Le problème inverse survient également : si la vidéo est plus courte que la piste audio principale, la vidéo se termine prématurément et l'audio restant est lu sur un écran noir.
L'ajustement de vitesse résout ces deux problèmes. Au lieu de tronquer, le service accélère ou ralentit automatiquement une piste afin qu'elle se termine exactement en même temps que la piste principale, préservant ainsi tout le contenu tout en maintenant un alignement précis de la sortie.
Comment configurer l'ajustement de vitesse
Définissez TrackShortenMode et TrackExpandMode sur une piste vidéo ou audio dans la chronologie pour contrôler le comportement de la piste par rapport à la piste principale. Ces deux paramètres ne prennent actuellement en charge que AutoSpeed, qui ajuste automatiquement la vitesse de lecture.
TrackShortenMode: "AutoSpeed": accélère la piste lorsqu'elle est plus longue que la piste principale.-
TrackExpandMode: "AutoSpeed": ralentit la piste lorsqu'elle est plus courte que la piste principale.L'ajustement automatique de la vitesse et l'alignement des ressources entre pistes ne peuvent pas être utilisés conjointement. L'ajustement de vitesse modifie le timing des clips, ce qui compromet la précision de l'alignement.
L'ajustement automatique de la vitesse ne s'applique pas aux pistes configurées en lecture en boucle. Le mode boucle remplit déjà automatiquement toute la durée de la piste.
Exemples
Exemple 1 : La piste vidéo est la piste principale. La piste audio a TrackShortenMode: "AutoSpeed". Si l'audio est plus long que la vidéo, sa vitesse est automatiquement augmentée pour qu'il se termine en même temps que la vidéo.
{
"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"
}]
}]
}]
}
Exemple 2 : La piste audio est la piste principale. La piste vidéo a à la fois TrackShortenMode et TrackExpandMode définis sur "AutoSpeed". La vitesse de la vidéo est automatiquement augmentée si la vidéo est plus longue que l'audio, ou diminuée si elle est plus courte, garantissant ainsi que la vidéo se termine exactement en même temps que l'audio.
{
"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"
}
]
}]
}]
}