How to convert a movie into a directory full of jpegs (OSX only)

Step 1: Download and install ffmpeg

I like this build https://evermeet.cx/ffmpeg/ffmpeg-100675-gf359575c0b.zip. Download it, open the dmg and drag the one icon that’s in there to your Applications folder.

Step 2: Open Terminal

Now open the Terminal (go to your the ‘utilities’ directory in your ‘applications’ directory and double click it).

We’re going to execute something that looks like this wonderfully inscrutable command:

n=pathToYourMovieHere.MOV ; mkdir "$n.dir" ; /Applications/ffmpeg -i "$n" -qscale:v 2 -vf scale=640:-1 "$n.dir/out_%07d.jpg"

Except we’re going to replace pathToYourMovieHere.MOV with your movie. One way to do this is to write:

n=

Then drag your file to the terminal window, where you’ll see the full path to the file gets inserted for you automatically. Then grab…

; mkdir "$n.dir" ; /Applications/ffmpeg -i "$n" -qscale:v 2 -vf scale=640:-1 "$n.dir/out_%07d.jpg"

and paste it in.

You should see something that looks a lot like you’ve successfully hacked the Matrix:

ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gpl --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-opencl --enable-videotoolbox
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, image2, from 'IMG_7004.JPG':
  Duration: 00:00:00.04, start: 0.000000, bitrate: 480611 kb/s
    Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 4032x3024 [SAR 72:72 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x7fb39e000600] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to 'IMG_7004.JPG.dir/out_%07d.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj420p(pc), 640x480 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    1 fps=0.0 q=2.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=0.461x
video:67kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

If all goes well you’ll have a directory with the same name as your source movie (plus ‘.dir’) ready for Field to play with. If it doesn’t go well, there’s maybe a useful error message at the bottom in red.