

Then you can peek around vim i-frames.csv to see the exact frame numbers. To get the i-frames: cat ghost-frames.csv | grep -n I | cut -d ':' -f 1 > ghost-i-frames.csv
#SAVEHOLLYWOOD NO VIDEOS FULL#
This will output the full list of frames to a ghost-frames.csv file. of csv ghost-full.mp4 > ghost-frames.csv Re-encoding has the potential to introduce a loss of quality which is something I wanted to avoid.įinding the i-frames can be done with a tool that is part of the ffmpeg brew distribution, ffprobe: ffprobe -select_streams v -show_frames \ I found out that this was because of a concept called "index keyframes", or i-frames, which for this task were the only frames that I could crop from without re-encoding and without exporting gaps. It had a few seconds of no output in the beginning.

I wrote a quick ffmpeg invocation to slice it: ffmpeg -i ghost-full.mp4 -ss "00:33:04" -to "00:33:53" \īut the resulting video didn't work correctly. I first scrubbed my copy of GitS to find the exact timestamps for the scenes that I want to export: 33:04 to 33:53 Producing the video turned out to be tricker than I initially thought. So that was a significant chunk of work done. But I stumbled on SaveHollywood, which is a macOS screensaver that allows you to supply any custom video(s) to play. My first idea was to fork JohnCoates/Aerial and repurpose it for this. I've wanted to create a screen saver that loops this scene over and over for a while, and I finally got around to doing it. Ghost in the Shell (1998) has a brief interlude containing gorgeously drawn scenes of a dystopian city modelled after Hong Kong. Creating a Ghost in the Shell screensaver for macOS June 25, 2017
