>> Technologie Électronique >  >> Appareils photo >> Caméras vidéo

Comment puis-je utiliser FFMPEG pour capturer une capture d'écran à partir du fichier vidéo?

FFMPEG offre plusieurs façons de capturer des captures d'écran à partir d'un fichier vidéo. Voici les méthodes les plus courantes et les plus polyvalentes:

Méthode 1:Utilisation `-vf` (filtre vidéo)` Scale` et `Select`

Cette méthode est très flexible, vous permettant de spécifier l'horodatage, la taille de la sortie et même sélectionner des trames spécifiques en fonction des critères.

`` `bash

ffmpeg -i input.mp4 -vf "select ='eq (n, 10)', échelle =640:-1" -frames:v 1 output.png

`` '

* `-i input.mp4`:spécifie le fichier vidéo d'entrée. Remplacez `input.mp4` par le nom de votre fichier vidéo.

* `-vf" select ='eq (n, 10)', échelle =640:-1 "`:il s'agit de la chaîne de filtre vidéo.

* `select ='eq (n, 10)'`:sélectionne la 11e trame (n commence à partir de 0). Modifiez `10` pour sélectionner un cadre différent. Vous pouvez utiliser des expressions plus complexes ici, par exemple, `select ='gte (t, 10)' 'sélectionne les images à partir de 10 secondes.

* `échelle =640:-1`:redimensionne le cadre à 640 pixels de large tout en maintenant le rapport d'aspect. Le «-1» calcule automatiquement la hauteur. Vous pouvez spécifier la largeur et la hauteur si nécessaire (par exemple, `Scale =640:480`).

* `-frames:v 1`:dit à FFMPEG de sortir une seule trame.

* `output.png`:spécifie le fichier PNG de sortie. Vous pouvez utiliser d'autres formats d'image comme JPEG (`output.jpg`).

Méthode 2:Utilisation `-vf` (filtre vidéo)` Thumbnail`

Cette méthode est plus simple pour saisir une seule vignette à un moment ou pourcentage spécifique de la durée de la vidéo.

`` `bash

Ffmpeg -i Input.mp4 -vf Thumbnail -frames:V 1 output.png

`` '

Cela saisira une vignette à peu près au milieu de la vidéo. Pour spécifier un temps précis:

`` `bash

ffmpeg -i input.mp4 -vf "miniature, setpts =pts-startpts" -ss 10 -frames:v 1 outping.png

`` '

* `-SS 10`:cherche à 10 secondes dans la vidéo * avant * capturer la vignette. Ceci est généralement plus efficace que l'utilisation de «Select» pour une période spécifique.

Méthode 3:Utilisation `-vf` (filtre vidéo) et` FPS` pour plusieurs captures d'écran

Pour capturer plusieurs captures d'écran à intervalles réguliers:

`` `bash

ffmpeg -i input.mp4 -vf fps =1/5 sortie% 03d.png

`` '

Cela créera des captures d'écran toutes les 5 secondes (1 trame par seconde ou 1/5 ips), numérotées `output001.png`,` output002.png`, etc.

Considérations importantes:

* `-SS` Placement: Placer `-SS` * avant *` -i` effectuera une recherche plus rapide (il cherche dans le fichier d'entrée). Le placer après `-je décodera toute la vidéo jusqu'au point de recherche et est plus lent, mais peut être plus précis pour certains formats vidéo.

* fréquence d'images: Le numéro de trame réel peut ne pas correspondre parfaitement au timecode en raison des variations des fréquences de trame vidéo.

* Formats de fichiers: Vous pouvez modifier l'extension du fichier de sortie en `.jpg`,` .jpeg`, `.bmp`, etc., pour utiliser différents formats d'image.

N'oubliez pas de remplacer `input.mp4` et` output.png` par vos noms de fichiers réels. Choisissez la méthode qui convient le mieux à vos besoins et ajustez les paramètres en conséquence. La première méthode offre le plus de contrôle, tandis que les autres sont plus rapides pour des tâches plus simples.

Caméras vidéo