Wiem, że jest to możliwe z FFMPEG, ale co zrobić, jeśli mam częściowy plik (jak bez początku i końca). Czy jest możliwe wyodrębnienie z niego niektórych klatek?Wyodrębnianie klatek z MP4/FLV?
Odpowiedz
Polecenie
ffmpeg -ss 00:00:25 -t 00:00:00.04 -i YOURMOVIE.MP4 -r 25.0 YOURIMAGE%4d.jpg
będzie wydobywanie
- zaczynając drugi 25 [-p 00:00:25]
- zatrzymania po drugim 0,04 [t 00: 00: 00.04 ]
- odczyt z pliku wejściowego YOURMOVIE.MP4
- przy użyciu tylko 25,0 klatek na sekundę, i. mi. jedna klatka co 1/25 sekundy [-R 25,0]
- jako obrazy JPEG z nazwiskami YOURIMAGE% 04d.jpg, gdzie% 4d jest 4-cyfrowy numer autoincrement z wiodącymi zerami
Sprawdź film dla framerate przed zastosowaniem opcji [-r], to samo dotyczy [-t], chyba że chcesz wyodrębnić ramki z niestandardową stawką.
Nigdy nie próbowałem tego z przyciętym (uszkodzonym?) Plikiem wejściowym. Warto spróbować.
Może to być BARDZO trudne. Format pliku MP4 zawiera atom "moov", który ma wskaźniki do "próbek" audio i wideo. Jeśli fragment pliku MP4 nie ma atomu moov, twoja praca byłaby znacznie bardziej skomplikowana. Musiałbyś rozwinąć logikę, aby zbadać atom "mdat" (który zawiera wszystkie próbki audio i wideo) i wykorzystać wykształcone domysły, aby znaleźć granice audio i wideo.
Co gorsza, bez atomu moov, nie będziesz potrzebował SPS i PPS do dekodowania plasterków. Musiałbyś syntetyzować zamienniki; jeśli znasz kodek używany do tworzenia MP4, możesz być w stanie skopiować SPS i PPS z podobnie zakodowanego pliku; jeśli nie, może to być bolesny proces prób i błędów, ponieważ składnia wycinków (obrazy kodowane w H.264) zależy od wartości określonych w SPS i PPS.
Chociaż twoja odpowiedź jest dobrze poinformowana, w rzeczywistości bardzo proste jest wyodrębnianie ramek i/lub edycja filmów przy użyciu narzędzi takich jak FFMPEG. –
Dayne, ponownie przeczytaj część pytania dotyczącego pliku źródłowego bez początku lub końca. –
Jak określić jakość wyodrębnionych obrazów JPG? – Rasoul
Dzięki dawg, to zrobiło to w mojej wtyczce mediadrop (https://github.com/docdawning/mediadrop-handbrake-bot). –
użyj '-q: v 2', aby uzyskać najlepszą jakość (http://stackoverflow.com/questions/10225403/how-can-i-extract-a-good-quality-jpeg-image-from-an-h264 -video-file-with-ffmpeg) – chiliNUT