ffmpeg flv mp4 video-encoding mpeg-4

ffmpeg - Extraer marcos de MP4/FLV?



video-encoding mpeg-4 (2)

Sé que es posible con FFMPEG, pero qué debo hacer si tengo un archivo parcial (como sin el principio y el final). ¿Es posible extraer algunos marcos de ella?


El comando

ffmpeg -ss 00:00:25 -t 00:00:00.04 -i YOURMOVIE.MP4 -r 25.0 YOURIMAGE%4d.jpg

extraerá marcos

  • comenzando en el segundo 25 [-ss 00:00:25]
  • parando después de 0.04 segundos [-t 00: 00: 00.04]
  • leyendo del archivo de entrada YOURMOVIE.MP4
  • utilizando solo 25.0 cuadros por segundo, es decir, un cuadro cada 1/25 segundos [-r 25.0]
  • como imágenes JPEG con los nombres YOURIMAGE% 04d.jpg, donde% 4d es un número de autoincremento de 4 dígitos con ceros a la izquierda

Verifique su película para la tasa de cuadros antes de aplicar la opción [-r], la misma aplicable para [-t], a menos que desee extraer los cuadros con la velocidad personalizada.

Sin embargo, nunca intenté esto con el archivo de entrada recortado (¿dañado?). Vale la pena intentarlo.


Esto podría ser muy difícil. El formato de archivo MP4 incluye un átomo ''moov'' que tiene punteros a las ''muestras'' de audio y video. Si el fragmento del archivo mp4 que tiene no tiene el átomo moov, su trabajo sería mucho más complicado. Tendría que desarrollar la lógica para examinar el átomo ''mdat'' (que contiene todas las muestras de audio y video) y utilizar conjeturas informadas para encontrar los límites de audio y video.

Peor aún, sin el átomo de moov, no tendrá el SPS y el PPS necesarios para decodificar los cortes. Tendrías que sintetizar reemplazos; Si conoce el códec utilizado para crear el MP4, entonces podría copiar el SPS y el PPS desde un archivo codificado de manera similar; de lo contrario, podría ser un proceso doloroso de prueba y error, porque la sintaxis de los segmentos (las imágenes codificadas en H.264) depende de los valores especificados en el SPS y el PPS.