Reading and writing of video files in Julia via ffmpeg



Reading and writing of video files in Julia.

Functionality based on a dedicated build of ffmpeg 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

First Commit


Last Touched

5 days ago


397 commits

Used By: