Probé un comando ffmpeg para generar miniaturas ffmpeg -y -ss 0 -to 10 -i acb.mp4 -qscale:v 2 -frames:v 1 abc.jpeg
en macOS y funcionó bien, mientras que dio un error para el mismo comando en ubuntu 18.04.2 (AWS EC2) para ffmpeg.
error :
Option to (record or transcode stop time) cannot be applied to input url abc.mp4 -- you are trying to apply an input option to an output file or vice versa. Move this option before the file it belongs to.
Error parsing options for input file abc.mp4.
Error opening input files: Invalid argument
Estoy usando AWS EC2 (ubuntu 18.04.2), usé sudo apt install ffmpeg. ¿Alguien puede ayudarme con esto, si tengo que instalarlo de otra manera o si me falta algo aquí? Gracias de antemano.
Respuesta1
Eliminar-to 10
- Está generando un solo fotograma, por lo que no necesita declarar un tiempo de parada de duración con
-to
. Una sola imagen no tiene duración, por lo que-to
se ignora de todos modos. -ss
(compensación de hora de inicio) con un valor de0
no hace nada, por lo que también puede eliminarlo.
Ejemplo:
ffmpeg -y -i acb.mp4 -qscale:v 2 -frames:v 1 abc.jpeg
Igual que el anterior pero obtiene una captura de pantalla a los 30 segundos:
ffmpeg -y -ss 30 -i acb.mp4 -qscale:v 2 -frames:v 1 abc.jpeg
Obtenga una captura de pantalla a las 22 horas, 15 minutos y 5 segundos, pero obtenga una calidad inferior:
ffmpeg -y -ss 22:15:05 -i acb.mp4 -q:v 5 -frames:v 1 abc.jpeg
Puedes usar el alias -q:v
en lugar de -qscale:v
si quieres.
Por qué funciona en macOS y no en Ubuntu
Anteriormente, la -to
opción era solo una opción de salida. Se ha actualizado para que también funcione como un archivo de entrada (declarado antes -i
). Está utilizando FFmpeg 3.4.6, que es demasiado antiguo para usarlo -to
como opción de entrada. Su versión de FFmpeg en macOS es lo suficientemente nueva como para poder usarla -to
como opción de entrada. Pero como se mencionó anteriormente, cuando se genera una sola imagen -to
no se hace nada y se ignora.