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.