FFmpegPipe
FFmpegPipe.jl lets you read/write video files (mp4, wmv, avi, mov…) from Julia by piping images from/to an FFmpeg process.
This is neither as efficient nor as versatile as calling lower-level routines from libav/ffmpeg directly, like VideoIO.jl does, but that package does not yet support video output nor is it v1
ready.
Anything that Julia can show
as a MIME("image/png")
can be sent as a video frame, in particular Plot
objects from Plots.jl and Array{T,2} where T<:Colorant
from Images.jl have been tested to work. (Yes, it is unnecessary to compress/decompress a PNG image only to pass it form one process to another, but at least it is lossless.)
Background
@Per wrote FFmpegPipe back in late 2017. He never got it registered. I took over maintenance and got it registered now. All help is welcomed! As it says, VideoIO
is a better solution than this one, but this works well and works now (as long as you have FFmpeg
installed).