¿Cómo puedo usar FFMPEG para capturar una captura de pantalla del archivo de video?
FFMPEG ofrece varias formas de capturar capturas de pantalla de un archivo de video. Estos son los métodos más comunes y versátiles:
Método 1:Uso de `-vf` (filtro de video)` escala` y `select`
Este método es altamente flexible, lo que le permite especificar la marca de tiempo, el tamaño de la salida e incluso seleccionar marcos específicos basados en criterios.
`` `Bash
ffmpeg -i input.mp4 -vf "select ='eq (n, 10)', escala =640:-1" -Frames:v 1 output.png
`` `` ``
* `-i input.mp4`:Especifica el archivo de video de entrada. Reemplace `input.mp4` con el nombre de su archivo de video.
* `-vf" select ='eq (n, 10)', escala =640:-1 "`:Esta es la cadena de filtro de video.
* `select ='eq (n, 10)'`:Selecciona el 11º cuadro (n comienza desde 0). Cambie `10` para seleccionar un marco diferente. Puede usar expresiones más complejas aquí, por ejemplo, `select ='gte (t, 10)'` selecciona cuadros desde 10 segundos en adelante.
* `escala =640:-1`:cambia el tamaño del marco a 640 píxeles de ancho mientras mantiene la relación de aspecto. El `-1` calcula automáticamente la altura. Puede especificar tanto ancho como altura si es necesario (por ejemplo, `escala =640:480`).
* `-Frames:V 1`:le dice a FFMPEG que salga solo una trama.
* `output.png`:Especifica el archivo PNG de salida. Puede usar otros formatos de imagen como JPEG (`output.jpg`).
Método 2:Usando `-vf` (filtro de video)` Thumbnail`
Este método es más simple para tomar una sola miniatura en un momento o porcentaje específico de la duración del video.
`` `Bash
ffmpeg -i input.mp4 -vf miniatura -frames:v 1 output.png
`` `` ``
Esto tomará una miniatura de aproximadamente la mitad del video. Para especificar un tiempo preciso:
`` `Bash
FFMPEG -I input.mp4 -vf "Miniatura, setpts =pts -startpts" -SS 10 -Fames:v 1 output.png
`` `` ``
* `-SS 10`:busca 10 segundos en el video * antes de * capturar la miniatura. Esto es generalmente más eficiente que usar `select` para un tiempo específico.
Método 3:Uso de `-vf` (filtro de video) y` fps` para múltiples capturas de pantalla
Para capturar múltiples capturas de pantalla a intervalos regulares:
`` `Bash
ffmpeg -i input.mp4 -vf fps =1/5 salida%03d.png
`` `` ``
Esto creará capturas de pantalla cada 5 segundos (1 cuadro por segundo, o 1/5 fps), numerados `output001.png`,` output002.png`, etc.
Consideraciones importantes:
* `-ss` Colocación: Colocar `-ss` * antes *` -i` realizará una búsqueda más rápida (busca en el archivo de entrada). Colocarlo después de `-i` decodificará todo el video hasta el punto de búsqueda y es más lento, pero puede ser más preciso para algunos formatos de video.
* velocidad de cuadro: El número de marco real podría no corresponder perfectamente al código de tiempo debido a las variaciones en las velocidades de cuadro de video.
* Formatos de archivo: Puede cambiar la extensión del archivo de salida a `jpg`, `.jpeg`,` .bmp`, etc., para usar diferentes formatos de imagen.
Recuerde reemplazar `input.mp4` y` output.png` con sus nombres de archivo reales. Elija el método que mejor se adapte a sus necesidades y ajuste los parámetros en consecuencia. El primer método ofrece el mayor control, mientras que los otros son más rápidos para tareas más simples.
- ·Cómo descargar un vídeo de un PVR
- ·¿Qué hace una cámara de video?
- ·Cómo Terminar un cable de vídeo de par trenzado
- ·Cómo conectar un tirón a un TV
- ·¿Alguien puede grabarte video sin saber que se están grabando?
- ·Cómo obtener Clips Off de un cámara VIXIA HF100
- ·¿Cómo se hace un vídeo para YouTube?
- ·Cómo utilizar una cámara para una Cam
