ffmpeg möchte vorhandene Bilder überschreiben

4

Ich möchte mit ffmpeg einen Zeitrafferfilm machen. Zur Zeit verwende ich mencoder mit folgendem Befehl: Mencoder mf: //*.jpg -mf fps = 12 -nosound -noskip -ovc Kopie -o Zeitraffer $ begin.avi

Ich versuche, einen Film mit ffmpeg zu erstellen, aber es scheint, dass ffmpeg meine vorhandenen Schnappschüsse überschreiben möchte. Botschaft:

ffmpeg -i *.jpg -vcodec mpeg4 timelapse.avi
ffmpeg version 2.6.2 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.8 (SUSE Linux)
configuration: --shlibdir=/usr/lib64 --prefix=/usr --mandir=/usr /share/man --libdir=/usr/lib64 --enable-shared --disable-static --enable-debug --disable-stripping --extra-cflags='-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g' --enable-pic --optflags='-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g' --enable-gpl --enable-x11grab --enable-version3 --enable-pthreads --datadir=/usr/share/ffmpeg --enable-avfilter --enable-libpulse --enable-libwebp --enable-libvpx --enable-libopus --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libxvid --enable-libx264 --enable-libx265 --enable-libschroedinger --enable-libgsm --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-postproc --enable-libdc1394 --enable-librtmp --enable-libfreetype --enable-avresample --enable-libtwolame --enable-libvo-aacenc --enable-gnutls --enable-libass --enable-frei0r --enable-libcelt --enable-libcdio --enable-ladspa
libavutil      54. 20.100 / 54. 20.100
libavcodec     56. 26.100 / 56. 26.100
libavformat    56. 25.101 / 56. 25.101
libavdevice    56.  4.100 / 56.  4.100
libavfilter     5. 11.102 /  5. 11.102
libavresample   2.  1.  0 /  2.  1.  0
libswscale      3.  1.101 /  3.  1.101
libswresample   1.  1.100 /  1.  1.100
libpostproc    53.  3.100 / 53.  3.100
Input #0, image2, from 'Schedule_20150516-000025.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: 7403 kb/s
Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 1280x720 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc

Die Datei 'Schedule_20150516-000125.jpg' ist bereits vorhanden. Überschreiben? [J / N]

Was mache ich falsch? Und warum will ffmpeg diese Datei überschreiben?

Chucrute
quelle
Warum benutzt du? mpeg4 und AVI anstelle des allgemeineren und moderneren H.264 in MP4?
llogan
Weil ich einfach die Befehle kopiere und dann versuche. Ich weiß nicht, wozu die Parameter dienen und welche Reihenfolge ich beibehalten muss.
Chucrute
Ich empfehle H.264-Videos im MP4-Container: -c:v libx264 -pix_fmt yuv420p -movflags +faststart output.mp4. Siehe auch FFmpeg Wiki: H.264 Video Encoding Guide .
llogan

Antworten:

9

Sie müssen dem erzählen Bilddatei Demuxer das Muster wie ein interpretieren glob und Anführungszeichen um das Muster hinzufügen:

ffmpeg -pattern_type glob -i "*.jpg" -c:v libx264 -pix_fmt yuv420p \ 
-movflags +faststart output.mp4
llogan
quelle
Ich werde das heute Abend versuchen.
Chucrute
ffmpeg -pattern_type glob -i "* .jpg" -vcodec mpeg4 timelapse.avi funktioniert, aber die Auflösung ist sehr niedrig. Ich möchte die ursprüngliche Auflösung.
Chucrute
@Chucrute Versuchen Sie das Beispiel in meinem Kommentar zu Ihrer Frage.
llogan
0

Normalerweise verwende ich für diese Verwendung die folgende Zeile:

  mencoder mf://*.jpg -mf w=[width]:h=[height]:fps=[fps]:type=jpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o out.avi
Toine42
quelle