J'ai beaucoup de vidéos et j'ai besoin de mettre une image devant elles pendant environ 5 secondes, mais l'ajouter manuellement et la rendre à chaque fois prendrait très longtemps, donc je demande s'il est possible de le faire via ffmpeg et si vous pourrait, s'il vous plaît, m'aider car je n'ai aucune expérience avec ffmpeg. J'ai déjà trouvé quelques commandes mais aucune n'a fonctionné. Celui-ci par exemple.
ffmpeg -itsoffset 5 -i in.mp4 -r 25 -loop 1 -i intro.png -filter_complex "[1:v] fade=out:125:25:alpha=1 [intro]; [0:v][intro] overlay [v]" -map "[v]" -map 0:a -acodec copy out.mp4
Réponses:
Vous pouvez faire une superposition d'image simple en utilisant la syntaxe suivante:
overlay=25:25
signifie que nous voulons positionner l'image à 25 pixels vers la droite et à 25 pixels vers le bas, provenant du coin supérieur gauche (0: 0).enable='between(t,0,20)'
signifie que nous voulons que l'image s'affiche entre le deuxième 0 et le 20.[0:v][1:v]
signifie que nous voulons que le premier fichier vidéo que nous importons avec-i
, dans notre cas input.mp4 ou comment ffmpeg le voit, le fichier d'entrée vidéo numéro 0, soit sous le fichier d'entrée vidéo 1, dans notre cas image.png.:v
signifie simplement que nous voulons la vidéo 0 et la vidéo 1.[0:a]
signifierait que nous voulons la première piste audio importée. Qui proviendrait également de input.mp4 mais pointerait vers la piste audio au lieu de la piste vidéo dans le fichier mp4.Si vous souhaitez une certaine qualité d'image / certains paramètres et non les paramètres choisis par ffmpeg, ajoutez l'image et / ou les options d'encodage audio que vous souhaitez utiliser. L'encodeur vidéo par défaut sera x264. Consultez le guide d'encodage H.264 pour les paramètres possibles.
Le
-acodec copy
/-c:a copy
que vous avez dans votre commande fe réutiliserait simplement l'audio du fichier source. Bien que vous ne puissiez pas faire cela avec la vidéo bien sûr (dans ce cas), cela doit être transcodé car nous créons une nouvelle source vidéo.Si vous souhaitez transcoder l'audio, supprimez la
-c:a copy
partie. Vous devrez peut-être spécifier explicitement un encodeur, par exemple-c:a aac -strict experimental
. Voir le guide d'encodage AAC pour plus d'informations.la source