La réponse de copilot était bonne mais avec un seul fichier son, j'ai demandé un complément de réponse pour avoir chaque commentaire avec son image, la ligne de commande change. Il faut connaitre la durée, ce n'est pas si simple.
Question : et pour synchroniser les commentaires mp3 avec chaque jpg
Réponse :
Pour synchroniser des commentaires audio avec chaque image, tu vas devoir faire appel à des filtres de ffmpeg.
Voici une façon de procéder :
Crée un fichier texte (input.txt) listant chaque image avec la durée de son affichage et le commentaire associé. Par exemple : file 'img1.jpg'
duration 5
file 'img2.jpg'
duration 3
file 'img3.jpg'
duration 7
Ensuite, utilise la commande ffmpeg pour générer ton diaporama :
bash
ffmpeg -f concat -safe 0 -i input.txt -i commentaire1.mp3 -i commentaire2.mp3 -i commentaire3.mp3 -filter_complex \
"[0:v][1:a][2:a][3:a]concat=n=3:v=1:a=1[out]" -map "[out]" output.mp4 Dans cet exemple :
-f concat -safe 0 -i input.txt indique d'utiliser le fichier de liste -filter_complex permet de combiner les différentes entrées
concat=n=3:v=1:a=1[out] spécifie qu'il y a 3 segments vidéo et audio à concaténer Essaie cette méthode et ajuste les durées et les commentaires selon tes besoins !
Une autre méthode qui me semble plus simple c'est de créer une vidéo par image et son commentaire associé, comme cela pas besoin de connaître la durée exacte, puis de concaténer les vidéos de chaque images, rebelote pour copilot :
Question:
Sans connaître la durée du commentaire on pourrait faire plusieurs vidéo avec la première méthode, puis concaténer les vidéos résultante, quelle serait la commande d'assemblage ?
Copilot
Réponse :
Oui, tu peux tout à fait assembler plusieurs vidéos en une seule avec ffmpeg. Voici comment tu pourrais procéder :
Crée un fichier texte (videos.txt) listant les vidéos à concaténer : file 'video1.mp4'
file 'video2.mp4'
file 'video3.mp4'
Utilise la commande ffmpeg pour les assembler :
bash
ffmpeg -f concat -safe 0 -i videos.txt -c copy output.mp4 Cela assemblera tes vidéos sans réencoder, ce qui est plus rapide et maintient la qualité. Bonne chance pour ton projet !
[^] # Re: Diaporama ?
Posté par remico . En réponse au message format de fichiers images + piste audio + timestamps. Évalué à 1.
La réponse de copilot était bonne mais avec un seul fichier son, j'ai demandé un complément de réponse pour avoir chaque commentaire avec son image, la ligne de commande change. Il faut connaitre la durée, ce n'est pas si simple.
Question : et pour synchroniser les commentaires mp3 avec chaque jpg
Réponse :
Pour synchroniser des commentaires audio avec chaque image, tu vas devoir faire appel à des filtres de ffmpeg.
Voici une façon de procéder :
file 'img1.jpg'Crée un fichier texte (input.txt) listant chaque image avec la durée de son affichage et le commentaire associé. Par exemple :
duration 5
file 'img2.jpg'
duration 3
file 'img3.jpg'
duration 7
Ensuite, utilise la commande ffmpeg pour générer ton diaporama :
bash
Dans cet exemple :ffmpeg -f concat -safe 0 -i input.txt -i commentaire1.mp3 -i commentaire2.mp3 -i commentaire3.mp3 -filter_complex \
"[0:v][1:a][2:a][3:a]concat=n=3:v=1:a=1[out]" -map "[out]" output.mp4
-filter_complex permet de combiner les différentes entrées-f concat -safe 0 -i input.txt indique d'utiliser le fichier de liste
Essaie cette méthode et ajuste les durées et les commentaires selon tes besoins !concat=n=3:v=1:a=1[out] spécifie qu'il y a 3 segments vidéo et audio à concaténer
Une autre méthode qui me semble plus simple c'est de créer une vidéo par image et son commentaire associé, comme cela pas besoin de connaître la durée exacte, puis de concaténer les vidéos de chaque images, rebelote pour copilot :
Question:
Sans connaître la durée du commentaire on pourrait faire plusieurs vidéo avec la première méthode, puis concaténer les vidéos résultante, quelle serait la commande d'assemblage ?
Copilot
Réponse :
Oui, tu peux tout à fait assembler plusieurs vidéos en une seule avec ffmpeg. Voici comment tu pourrais procéder :
file 'video1.mp4'Crée un fichier texte (videos.txt) listant les vidéos à concaténer :
file 'video2.mp4'
file 'video3.mp4'
Utilise la commande ffmpeg pour les assembler :
bash
Cela assemblera tes vidéos sans réencoder, ce qui est plus rapide et maintient la qualité. Bonne chance pour ton projet !ffmpeg -f concat -safe 0 -i videos.txt -c copy output.mp4