Saya merekam video dengan iPhone SE (11.4.1) dengan 1080H / 30 fps. Saya ingin mengekstrak frame beku individual sebanyak mungkin dengan ffmpeg

0

Saya merekam video dengan iPhone SE, iOS Versi 11.4.1 (15G77).

Saya ingin mengekstrak sebanyak mungkin frame individual dan beku dalam kualitas terbaik yang tersedia. Saya kira saya bisa mendapatkan maksimal 30 frame diam per detik?

Dengan ffmpeg -i /tmp/IMG_1234.MOV -r 1/1 /tmp/$filename%03d.bmp saya hanya mendapatkan satu bingkai beku per detik.

Apa yang harus saya hange untuk mendapatkan sebanyak mungkin frame pembekuan yang berbeda?

Langkah selanjutnya adalah mengekstraksi bingkai yang dibekukan bukan untuk seluruh video tetapi hanya dari posisi a ke posisi b. Misalnya semua frame dari 00:05 hingga 00:10 (mm: dd).

Ini adalah info dari ffmpeg tentang file:

ffmpeg -i /home/merlin/Downloads/IMG_8087.MOV 
ffmpeg version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
  configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/merlin/Downloads/IMG_8087.MOV':
  Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    creation_time   : 2018-09-04T05:43:47.000000Z
    com.apple.quicktime.make: Apple
    com.apple.quicktime.model: iPhone SE
    com.apple.quicktime.software: 11.4.1
    com.apple.quicktime.creationdate: 2018-09-04T07:43:47+0200
  Duration: 00:00:17.48, start: 0.000000, bitrate: 15925 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 15818 kb/s, 29.98 fps, 29.97 tbr, 600 tbn, 1200 tbc (default)
    Metadata:
      rotate          : 90
      creation_time   : 2018-09-04T05:43:47.000000Z
      handler_name    : Core Media Data Handler
      encoder         : H.264
    Side data:
      displaymatrix: rotation of -90.00 degrees
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 95 kb/s (default)
    Metadata:
      creation_time   : 2018-09-04T05:43:47.000000Z
      handler_name    : Core Media Data Handler
    Stream #0:2(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
    Metadata:
      creation_time   : 2018-09-04T05:43:47.000000Z
      handler_name    : Core Media Data Handler
    Stream #0:3(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
    Metadata:
      creation_time   : 2018-09-04T05:43:47.000000Z
      handler_name    : Core Media Data Handler
At least one output file must be specified

Terima kasih sebelumnya telah meluangkan waktu Anda :)

lupo
sumber

Jawaban:

1

Sepertinya -r 30/1paramater melakukan apa yang saya inginkan.

ffmpeg -i /tmp/IMG_1234.MOV -r 30/1 /tmp/$filename%03d.bmp

Jangan tahu jika ada lebih banyak parameter untuk mendapatkan bingkai beku yang lebih tajam.

lupo
sumber
-r 30sudah cukup, tidak perlu membelah. Jika bingkai Anda terlihat tidak dicukur, kemungkinan besar itu adalah gerakan kabur, yang merupakan bagian dari video asli. Anda tidak akan melihatnya saat video diputar. Untuk mencari, lihat: superuser.com/questions/377343/…
slhck