I dedicated some time to [ffmpeg v6.x 
bindings](https://github.com/mantielero/ffmpeg6.nim). I wrapped it using 
[futhark](https://github.com/PMunch/futhark) and also some specific parts I use 
[c2nim](https://github.com/nim-lang/c2nim) and just copy/paste the code.

The binding is just this file: [libav.nim 
](https://github.com/mantielero/ffmpeg6.nim/blob/main/src/wrapperFuthark/libav.nim).
 But then I created some helper functions under 
[lib/](https://github.com/mantielero/ffmpeg6.nim/tree/main/src/lib).

Finally, just as a proof of concept I tried to do something similar to 
VapourSynth by means of using ffmpeg. For that I created the folder 
[vs/](https://github.com/mantielero/ffmpeg6.nim/tree/main/src/vs) and created 
an example: 
[vs01_frames.nim](https://github.com/mantielero/ffmpeg6.nim/blob/main/examples/vs01_frames.nim).
 Just an experiment, but I like the idea.

There are a number of prior efforts:

  * [ffmpeg.nim](https://github.com/momeemt/ffmpeg.nim) by `momeemt` for 
ffmpeg5.x (about 2 years old).
  * [nimffmpeg](https://github.com/mashingan/nimffmpeg) by `mashingan` for 
ffmpeg4.x I think (some examples updated 2 years ago, but the project looks a 
bit older).
  * [nim-ffmpeg](https://github.com/ahirner/nim-ffmpeg) by `ahirner` for ffmpeg 
3.3.3 (about 7 years old).



I have only played with mine in Linux (ArchLinux).

I am not very good on mantaining things. So just in case it can serve others.

Reply via email to