2015-07-03 28 views
16

Próbuję przekonwertować grupę plików ".jpg" działających jako pojedyncze klatki w jedno pojedyncze wideo MPEG ".mp4"Błąd ffmpeg: Wybrano typ wzorca "glob", ale globowanie nie jest obsługiwane przez tę konstrukcję libavformat

Przykładowe parametry użyłem:

frame duration = 2 secs 
frame rate  = 30 fps 
encoder   = libx264 (mpeg) 
input pattern = "*.jpg" 
output pattern = video.mp4 

podstawie instrukcji ffmpeg na wiki (https://trac.ffmpeg.org/wiki/Create%20a%20video%20slideshow%20from%20images), wydałem polecenie:

ffmpeg -framerate 1/2 -pattern_type glob -i "*.jpg" -c:v libx264 -r 30 -pix_fmt yuv420p video.mp4 

Ale ja dostaję ten błąd:

[image2 @ 049ab120] Pattern type 'glob' was selected but globbing is not 
supported by this libavformat build *.jpg: Function not implemented 

Co prawdopodobnie oznacza, że ​​komendy dopasowania wzoru dla mojej wersji/wersji zostały zmienione. Przy okazji to moje 32-bitowe pobieranie plików ffmpeg w systemie Windows (ffmpeg-20150702-git-03b2b40-win32-static).

Jak wybrać grupę plików przy użyciu funkcji dopasowywania wzorców przy użyciu narzędzia ffmpeg?

+1

Dlaczego to jest głosowanie? istnieje wiele pytań ffmpeg na temat Stackoveflow, ffmpeg to legalna biblioteka do kodowania wideo i API. Jasno określiłem mój problem, próbę i pytanie? – cyber101

+1

Nawiasem mówiąc, ten sposób działania działa przy użyciu wzoru wejściowego ffmpeg - 'img% 1d.jpg' całego polecenia' ffmpeg -y -framerate 1/2-numer_startu 1 -i img% 1d.jpg -vf scale = 720 : 756 -c: v libx264 -r 30 -pix_fmt yuv420p wideo.mp4' jednak konwertuje tylko pierwsze pięć klatek/obrazów JPEG, dlaczego istnieje ograniczenie, Jak mogę przekonwertować dowolną ilość plików JPEG na wideo MPEG? – cyber101

+1

To jest 'img% 01d.jpg' z zerem. Będzie pasować tylko do 'img0.jpg' do' img9.jpg'' – aergistal

Odpowiedz

20

-pattern_type globrequires glob.h.

glob jest zdefiniowany w standardzie POSIX i jego numer jest domyślnie niedostępny w systemie Windows.

Twórz/zmieniaj nazwy plików przy użyciu sekwencyjnego nazewnictwa plików image###.jpg, a następnie użyj symboli wieloznacznych takich jak -i image%03d.jpg jako danych wejściowych.

+0

Proszę odnieść się do powyższego trzeciego komentarza, rozwiązałem pierwotny problem, jednak ffmpeg koduje tylko 5 pierwszych plików w wideo, nie więcej, to aktualny problem/problem. Potrzebuję kodować liczbę "N" klatek w większej sekwencji. – cyber101

+0

Twoje pytanie odnosi się do globu, rozważ aktualizację lub opublikowanie nowego. Skomentowałem również twoje pierwotne pytanie. Jeśli potrzebujesz większej sekwencji, po prostu użyj '% 0n', gdzie' n' jest liczbą cyfr. Jak nazywa się twoje pliki? – aergistal

+0

Jak widzisz, już mam problem, który działa 03 lipca, jednak nie robi więcej niż 5 klatek. – cyber101