ffmpeg-light: Minimal bindings to the FFmpeg library.

[ bsd3, codec, library ] [ Propose Tags ]

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

go :: IO (Maybe DynamicImage)
go = do (getFrame, cleanup) <- imageReader "myVideo.mov"
        (fmap ImageRGB8 <$> getFrame) <* cleanup

Tested with FFmpeg 3.1 - 3.4.2

Versions [faq],, 0.2,, 0.3,, 0.3.1, 0.4, 0.5, 0.6, 0.7, 0.7.1,, 0.8, 0.8.1, 0.8.2, 0.9.0, 0.10.0, 0.11.0, 0.11.1, 0.11.3, 0.12.0,,,,, (info)
Change log CHANGELOG.md
Dependencies base (>=4.6 && <4.13), bytestring, either, exceptions, JuicyPixels (>=3.2 && <3.4), monad-loops, mtl (>=2.2.1 && <2.3), text, transformers (>=0.4.1 && <0.6), vector (>=0.10.9 && <0.13) [details]
License BSD-3-Clause
Copyright Copyright (C) 2018 Anthony Cowley
Author Anthony Cowley
Maintainer acowley@gmail.com
Revised Revision 1 made by AnthonyCowley at 2019-12-30T21:23:11Z
Category Codec
Home page http://github.com/acowley/ffmpeg-light
Bug tracker http://github.com/acowley/ffmpeg-light/issues
Source repo head: git clone http://github.com/acowley/ffmpeg-light.git
Uploaded by AnthonyCowley at 2018-08-01T15:56:34Z
Distributions NixOS:
Executables transcode, vplay, raster, demo
Downloads 16995 total (92 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user [build log]
All reported builds failed as of 2018-08-01 [all 3 reports]


[Index] [Quick Jump]



Build demo executable


Build Rasterific demo executable


Build video player demo executable


Build transcode demo executable


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees