Handling Long Running Tasks

When dealing with long running tasks it would be nice to be able to gather output as the task runs and not hang until the entire process is done. In this episode we will extract some useful information out of ffprobe, so we can get the total number of frames in a video file, and then kick off ffmpeg to encode the video. We'll use the Subprocess package to provide a simpler interface over gathering output from a pipe as it is sent, rather than waiting for the end.

This is a companion discussion topic for the original entry at https://nsscreencast.com/episodes/468-swift-command-line-long-running-tasks