Estoy intentando extraer los fotogramas individuales de una transmisión de video AVC sin formato. Estoy haciendo esto a través del siguiente comando ffmpeg:ffmpeg -q 1 -i video_test.avc -f image2 frames/frames_%04d.jpg
El problema que encuentro es que los primeros fotogramas se ven bien. Incluyo un ejemplo a continuación.
Los cuadros extraídos luego empeoran progresivamente y cuando llego al cuadro 17, están realmente bloqueados.
Obtienes el video en bruto de este enlace .
¿Hay alguna opción que me esté perdiendo? Me di cuenta de que FFMPEG en mi Mac funciona como se esperaba y genera buenos marcos, pero FFMPEG en mi servidor de producción que ejecuta Ubuntu presenta este problema.
¿Hay alguna opción que me esté perdiendo?
No, pero la colocación de opciones es importante. Las opciones antes de la entrada se aplican a la entrada y las opciones antes de la salida generalmente se aplican a la salida. La excepción son las opciones globales. Consulte la sinopsis de FFmpeg y la descripción de FFmpeg para obtener más detalles sobre la ubicación de las opciones.
Por lo tanto, debe mover su opción -q
(alias para ):-qscale
ffmpeg -i video_test.avc -q:v 2 frames/frames_%04d.jpg
-f image2
es superfluo aquí ya que ffmpeg sabe que sus salidas son imágenes.-q:v
para el codificador mjpeg
es 2-5; menor es mayor calidad.-q
ya que ffmpeg no puede saber si debe aplicarse a video o audio, por lo que en su caso, use -q:v
. Esta es una buena práctica, aunque no importa para su entrada ya que no tiene audio.Me di cuenta de que FFMPEG en mi Mac funciona como se esperaba y genera buenos marcos, pero FFMPEG en mi servidor de producción que ejecuta Ubuntu presenta este problema.
Ubuntu ya no usa FFmpeg:
Como no uso el tenedor, es posible que mi respuesta no funcione para usted.
El desarrollo de FFmpeg es muy activo y siempre es una buena idea usar una versión reciente. Dos formas principales de conseguirlo son:
-q 1
que lo hizo. Gracias.
AJ Henderson
naranja cadente
AJ Henderson
naranja cadente