ffmpeg-light-0.3.1: Minimal bindings to the FFmpeg library.

ffmpeg-light-0.3.1: Minimal bindings to the FFmpeg library.

Stream frames from an encoded video, or stream frames to a video output file. To read the first frame from an h264-encoded file into a JuicyPixels Maybe DynamicImage,

 import Codec.FFmpeg
 import Codec.Picture
 import Control.Applicative
 import Control.Monad.Trans.Maybe

 go :: IO (Maybe DynamicImage)
 go = do (getFrame, cleanup) <- frameReaderT "myVideo.mov"
         (runMaybeT $ getFrame >>= toJuicyT) <* cleanup

Tested on OS X 10.9.2 with FFmpeg 2.2.1 installed via homebrew.

Modules