Reading and writing of video files in Julia via ffmpeg
63 Stars
Updated Last
11 Months Ago
Started In
May 2014


Reading and writing of video files in Julia.

Functionality based on a dedicated build of ffmpeg 4.1 via FFMPEG.jl (based on the cross-platform FFMPEGBuilder)

Docs Join the julia slack

Platform Build Status
Linux & MacOS x86
Windows 32/64-bit
Linux ARM 32/64-bit
FreeBSD x86

Coverage Status *


The package can be installed with the Julia package manager. From the Julia REPL, type ] to enter the Pkg REPL mode and run:

pkg> add VideoIO

Or, equivalently, via the Pkg API:

julia> import Pkg; Pkg.add("VideoIO")


  • STABLEdocumentation of the most recently tagged version.
  • DEVELdocumentation of the in-development version.

Project Status

The package is tested against, and being developed for, Julia 1.0 and above on Linux, macOS, and Windows, for x86, x86_64, armv7 and armv8 (aarch64).

Platform Nodes:

  • ARM: For truly lossless reading & writing, there is a known issue on ARM that results in small precision differences when reading/writing some video files. As such, tests for frame comparison are currently skipped on ARM. Issues/PRs welcome for helping to get this fixed.

Questions and Contributions

Usage questions can be posted on the Julia Discourse forum under the videoio tag, and/or in the #video channel of the Julia Slack.

Contributions are very welcome, as are feature requests and suggestions. Please open an issue if you encounter any problems.

* Note that coveralls.io code coverage includes all of the Clang.jl-generated wrappers for FFMPEG, the majority of which are currently unused