2012-09-21 14 views
5

Ho cercato di estrarre i fotogrammi chiave dal video utilizzando ffmpeg 0.11.1. Finora tutti i comandi che ho provato non estraggono i fotogrammi chiave ma restituiscono tutti i fotogrammi, cioè 25 fps * il numero totale di fotogrammi nell'output. Ho provato a impostare keyint_min su 25 per verificare che ci sia un massimo di 1 fotogramma chiave al secondo.Estrazione di fotogrammi chiave ffmpeg

ffmpeg -vf select="eq(pict_type\,PICT_TYPE_I)" -g 250 -keyint_min 25 -i C:\test.mp4 -vsync 2 -f image2 C:\testTemp\thumbnails-%02d.jpeg 

Ma ancora tutti i frame vengono restituiti.

Quindi ho provato, per separare i fotogrammi chiave di 20 secondi.

ffmpeg -i C:\test.mp4 -vf select='eq(pict_type\,I)*(isnan(prev_selected_t)+gte(t-prev_selected_t\,20))' -vsync 0 -f image2 C:\testTemp\%09d.jpg 

Sempre lo stesso risultato, tutti i frame vengono restituiti.

Cosa devo fare?

risposta

9

Nel primo comando si utilizza il filtro come opzione di input. Non so come lo interpreterà ffmpeg.

Prova questo:

ffmpeg -i C:\test.mp4 -vf select='eq(pict_type\,I)',setpts='N/(25*TB)' C:\testTemp\%09d.jpg 

Modifica 25 al frame rate di sorgente: 30000/1001 per il video NTSC, 24000/1001 per il cinema NTSC, 25 per PAL, ecc

Uscita di controllo qualità con l'opzione -q:v o -qscale:v (chiamato solo -qscale nel vecchio ffmpeg). L'intervallo per mpeg * è 1-31, dove 31 è la peggiore qualità.

La prossima volta ricorda che le domande sull'utilizzo di ffmpeg devono essere richieste a superuser.com poiché stackoverflow è specifico per la programmazione.

+0

Ciao grazie, ma ho ricevuto un errore Errore durante l'inizializzazione del filtro, selezionare con args. Il numero di apertura e chiusura 'non sono uguali, quindi ho provato a cambiare la parte selezionata per selezionare =' eq (pict_type \, I), setpts = N/(25 * TB) 'e quindi selezionare =' eq (pict_type \, I), setpts = 'N/(25 * TB)' 'Ma entrambi hanno restituito lo stesso errore –

+0

Siamo spiacenti. Lavoro di pasta non valido. Ho aggiornato il comando, ma al momento non riesco a eseguire il test. – LordNeckbeard

+0

Sto ottenendo: Manca ')' o troppi argomenti in 'eq (pict_type \, I)' e poi un altro errore come errore durante l'analisi dell'espressione 'eq (pict_type \, I)' –

Problemi correlati