0

I recorded an video with an iPhone SE, iOS Version 11.4.1 (15G77).

I want to extract as many individual and freeze frames in best available quality. I guess i can get a max of 30 freeze frames per second?

With ffmpeg -i /tmp/IMG_1234.MOV -r 1/1 /tmp/$filename%03d.bmp i get only one freeze frame per second.

What do I have to hange to get as much different / individual freeze frames as possible?

Next step would be to extract freeze frames not for the whole video but only from position a to positon b. For example all frames from 00:05 to 00:10 (mm:ss).

These are the infos from ffmpeg about the 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

Thank you in advance for taking your time :)

1

Looks like the -r 30/1 paramater does what I want.

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

Dont know if there are more parameters to get freeze frames which are more sharp.

  • -r 30 is enough, no need to divide. If your frames appear unsharp, that will most likely be motion blur, which is part of the original video. You won't perceive that when the video is playing. For seeking see: superuser.com/questions/377343/… – slhck Sep 7 '18 at 9:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.