2011-11-27 18 views
24

So che è possibile con FFMPEG, ma cosa fare se ho un file parziale (come senza l'inizio e la fine). È possibile estrarre alcuni fotogrammi da esso?Estrazione di frame da MP4/FLV?

risposta

61

Il comando

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

sarà estrarre fotogrammi

  • a partire in seconda 25 [-ss 00:00:25]
  • arresto dopo 0,04 secondi [-t 00: 00: 00.04 ]
  • lettura dal file di input YOURMOVIE.MP4
  • utilizzando solo 25,0 fotogrammi al secondo, i. e. un fotogramma ogni 1/25 secondi [-R 25,0]
  • come immagini JPEG con i nomi YOURIMAGE% 04d.jpg, dove% 4d è un numero autoincrement 4 cifre con zeri

Verifica film per il framerate prima dell'applicazione dell'opzione [-r], lo stesso applicabile per [-t], a meno che non si desideri estrarre i frame con la tariffa personalizzata.

Non ho mai provato questo con il file di input ritagliato (corrotto?). Vale la pena provare.

+4

Come possiamo specificare la qualità delle immagini JPG estratti? – Rasoul

+0

Grazie dawg, questo è entrato nel mio plugin mediadrop (https://github.com/docdawning/mediadrop-handbrake-bot). –

+4

usa '-q: v 2' per ottenere la migliore qualità (http://stackoverflow.com/questions/10225403/how-can-i-extract-a-good-quality-jpeg-image-from-an-h264 -video-file-with-ffmpeg) – chiliNUT

1

Questo potrebbe essere MOLTO difficile. Il formato di file MP4 include un atomo 'moov' che ha dei puntatori ai 'campioni' audio e video. Se il frammento del file mp4 che hai non ha l'atomo di Moov, il tuo lavoro sarebbe molto più complicato. Dovresti sviluppare la logica per esaminare l'atomo 'mdat' (che contiene tutti gli esempi audio e video) e utilizzare ipotesi plausibili per trovare i confini audio e video.

Ancora peggio, senza l'atomo di Moov, non è necessario SPS e PPS necessari per decodificare le sezioni. Dovresti sintetizzare le sostituzioni; se si conosce il codec utilizzato per creare l'MP4, allora si potrebbe essere in grado di copiare SPS e PPS da un file codificato in modo simile; in caso contrario, potrebbe essere un processo doloroso di tentativi ed errori, perché la sintassi delle sezioni (le immagini codificate H.264) dipende dai valori specificati in SPS e PPS.

+1

Sebbene la tua risposta sia ben informata, è in effetti è molto semplice estrarre i frame e/o modificare i video, usando strumenti come FFMPEG. –

+2

Dayne, rileggere la parte della domanda sul file sorgente mancante all'inizio o alla fine. –