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
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.
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.
Sebbene la tua risposta sia ben informata, è in effetti è molto semplice estrarre i frame e/o modificare i video, usando strumenti come FFMPEG. –
Dayne, rileggere la parte della domanda sul file sorgente mancante all'inizio o alla fine. –
- 1. Estrazione di una stringa da un frame di dati
- 2. Estrazione di colonne specifiche da un frame di dati
- 3. Estrazione di frame di un file .avi
- 4. Estrazione del sottoinsieme del frame di dati in R
- 5. Tempo di estrazione da POSIXct
- 6. Tabella di estrazione da DOCX
- 7. Estrazione di stderr da pexpect
- 8. estrazione di colori da un'immagine
- 9. Estrazione EXIF da JPEG
- 10. Estrazione rgb da UIColor
- 11. Estrazione caratteri da stringa
- 12. Estrazione di layout di tastiera da windows
- 13. estrazione di proprietà da NSArray di oggetti
- 14. C# estrazione dati da XML
- 15. estrazione di giorni da un valore numpy.timedelta64
- 16. Estrazione di stringhe statiche da un'espressione regolare
- 17. Estrazione di titoli da file PDF?
- 18. Estrazione di pennini/xib da storyboard (iOS)
- 19. Estrazione di dati da MS Word
- 20. Estrazione di cluster da clustermap Seaborn
- 21. Estrazione di feature da reti neurali
- 22. MongoDB estrazione di valori da BasicDBObject (Java)
- 23. Estrazione di cifre da un float C++
- 24. Estrazione di testo da PDF in C#
- 25. Schema di estrazione e host da HTTP_REFERER
- 26. estrazione iMacros da una serie di dati
- 27. Estrazione di fotogrammi chiave ffmpeg
- 28. R: ciclo attraverso frame di dati estrazione sottoinsieme di dati a seconda della data
- 29. Estrazione * immagine pertinente * da una pagina Web
- 30. Estrazione numeri decimali da una stringa
Come possiamo specificare la qualità delle immagini JPG estratti? – Rasoul
Grazie dawg, questo è entrato nel mio plugin mediadrop (https://github.com/docdawning/mediadrop-handbrake-bot). –
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