JuliaIO / VideoIO.jl

Reading and writing of video files in Julia via ffmpeg
https://juliaio.github.io/VideoIO.jl/stable
Other
128 stars 53 forks source link

Why are some FFMPEG library files missing? #282

Open galenlynch opened 3 years ago

galenlynch commented 3 years ago

This is not an issue, but rather a question. I've noticed that while bindings to much of the FFMPEG/libav library is present in the ffmpeg folder, the bindings to some ffmpeg files, such as error.h, are absent. I'm assuming these bindings are automatically generated by Clang.jl. Where is the build script for these bindings, and how often is it run?

One related thing that I was going to bring up on a roadmap to v1 is that it might make sense to move the Julia bindings to FFMPEG into FFMPEG.jl instead of in this package, and have the bindings match the version of FFMPEG_jll.jl.

IanButterworth commented 3 years ago

Through huge efforts by @kmsquire in particular, VideoIO used to support a few different ffmpeg versions as it used whatever system version was available, and was upgraded as new versions came out, maintaining backwards compatibility. v0.5.6 was the last version that used system versions. Check out one of the AV* wrapper folders to see the level of support!

I don't recall the wrappers having been updated since we shifted to BinaryProvider/JLL distributions. The wrapping was handled here, but with a fair amount of manual tweaking to apply patches as new versions came out.

An audit/update of the wrappers would definitely be a healthy thing to do on the V1 roadmap, especially if useful wraps are missing, but it may be a pretty big task

galenlynch commented 3 years ago

Ah ok, thank you!