Exemples de code et tutoriels d'édition vidéo .NET¶
Cette page rassemble des recettes C# prêtes à l'emploi pour les scénarios d'édition les plus courants utilisant Video Edit SDK .Net. Chaque extrait est vérifié par rapport au code source du SDK et aux démos sous Video Edit SDK. Les recettes ci-dessous utilisent le moteur VideoEditCore (Windows uniquement). Le code multi-plateforme basé sur VideoEditCoreX suit une forme similaire avec des types de source et d'effet spécifiques au moteur.
Recettes disponibles¶
Effets visuels et superpositions¶
- Ajout de superpositions d'image sur la vidéo — Apprenez à superposer des images sur votre contenu vidéo
- Mise en œuvre d'une superposition de texte — Techniques d'ajout et de mise en forme de superpositions de texte sur les vidéos
- Effets image dans l'image — Créez des effets PiP professionnels dans vos applications vidéo
Manipulation audio¶
- Effets d'enveloppe de volume audio — Contrôlez les variations de volume audio au fil du temps
- Plusieurs flux audio dans des fichiers AVI — Travailler avec plusieurs pistes audio
- Contrôle de volume personnalisé pour les pistes audio — Techniques précises de gestion des niveaux audio
Composition vidéo¶
- Créer des vidéos à partir de plusieurs sources — Combinez divers fichiers d'entrée en une seule sortie
- Travailler avec des segments vidéo — Extrayez et utilisez plusieurs segments du même fichier source
- Effets de transition entre fragments vidéo — Mise en œuvre de transitions fluides entre clips
- Générer des vidéos à partir de séquences d'images — Exemple d'application console pour la conversion image vers vidéo
- Intégration vidéo multi-flux audio — Travailler avec des combinaisons audio-vidéo complexes
iOS¶
- Éditeur vidéo iOS — Création d'applications d'édition vidéo pour iPhone et iPad
Recette — Concaténer plusieurs fichiers sources en un seul MP4¶
VideoSource accepte un nom de fichier plus des temps de début/fin optionnels. Pour rogner une section d'une source, passez les décalages de début et de fin ; pour utiliser le fichier complet, passez null. Chaque appel à Input_AddVideoFile ajoute à la timeline.
using System;
using System.Threading.Tasks;
using VisioForge.Core.Types.VideoEdit;
using VisioForge.Core.VideoEdit;
using VisioForge.Core.Types.Output;
public async Task JoinClipsAsync(string output)
{
var videoEdit = new VideoEditCore();
// Conteneur de sortie.
videoEdit.Output_Filename = output;
videoEdit.Output_Format = new MP4Output();
// Premier clip — les 10 premières secondes.
var clip1 = new VideoSource(
@"intro.mp4",
TimeSpan.Zero,
TimeSpan.FromSeconds(10),
VideoEditStretchMode.Letterbox);
await videoEdit.Input_AddVideoFileAsync(clip1);
// Deuxième clip — fichier complet ajouté à la timeline.
var clip2 = new VideoSource(
@"content.mp4",
null,
null,
VideoEditStretchMode.Letterbox);
await videoEdit.Input_AddVideoFileAsync(clip2);
// Troisième clip — fichier complet ajouté.
var clip3 = new VideoSource(
@"outro.mp4",
null,
null,
VideoEditStretchMode.Letterbox);
await videoEdit.Input_AddVideoFileAsync(clip3);
// Lancer le moteur.
await videoEdit.StartAsync();
}
Recette — Ajouter un logo image en superposition¶
VideoEffectImageLogo est l'effet de superposition d'image historique. Créez-le avec un nom d'effet unique (le deuxième argument du constructeur), affectez le fichier image via Filename, et ajoutez-le au moteur. La position est contrôlée par Left/Top (en pixels) lorsqu'aucun alignement automatique n'est utilisé.
using VisioForge.Core.Types.VideoEdit;
using VisioForge.Core.VideoEdit;
using VisioForge.Core.Types.Output;
using VisioForge.Core.Types.VideoEffects;
public async Task AddLogoAsync(string source, string output)
{
var videoEdit = new VideoEditCore();
videoEdit.Output_Filename = output;
videoEdit.Output_Format = new MP4Output();
var video = new VideoSource(source, null, null, VideoEditStretchMode.Letterbox);
await videoEdit.Input_AddVideoFileAsync(video);
// Superposition de logo image (PNG avec alpha recommandé pour les logos transparents).
var logo = new VideoEffectImageLogo(enabled: true, name: "logo1")
{
Filename = "logo.png",
Left = 10,
Top = 10
};
videoEdit.Video_Effects_Add(logo);
await videoEdit.StartAsync();
}
Recette — Remplacer l'audio source par une piste musicale¶
Ajoutez le fichier vidéo en tant que source vidéo uniquement (via les surcharges de Input_AddVideoFile conscientes de targetStreamIndex si nécessaire), puis ajoutez un AudioSource séparé pour la piste musicale. Le constructeur AudioSource accepte un nom de fichier plus des décalages de début/fin optionnels.
using VisioForge.Core.Types.VideoEdit;
using VisioForge.Core.VideoEdit;
using VisioForge.Core.Types.Output;
public async Task ReplaceAudioAsync(string source, string music, string output)
{
var videoEdit = new VideoEditCore();
videoEdit.Output_Filename = output;
videoEdit.Output_Format = new MP4Output();
// Vidéo source (l'audio original est ignoré par le moteur quand un AudioSource
// séparé est ajouté ; consultez les surcharges de Input_AddAudioFile pour contrôler le mixage).
var video = new VideoSource(source, null, null, VideoEditStretchMode.Letterbox);
await videoEdit.Input_AddVideoFileAsync(video);
// Musique de fond — fichier complet.
var music_src = new AudioSource(music);
await videoEdit.Input_AddAudioFileAsync(music_src);
await videoEdit.StartAsync();
}
Ressources supplémentaires¶
Trouvez davantage d'exemples de code et de ressources sur notre dépôt GitHub, où nous mettons régulièrement à jour notre collection avec de nouveaux exemples et techniques d'implémentation pour les développeurs .NET.