Low level, mostly safe FFmpeg API wrappers built on top of FFmpeg.AutoGen.
Using the FFmpeg API tends to be tedious and error prone due to the amount of struct setup, memory management, and vague error codes.
This library aims to provide safe idiomatic wrappers and utility functions around several APIs, to facilitate development of media applications.
The easiest way to get started may be by looking at the code samples listed below. The wrappers do not diverge too much from their native counterparts, so familiarity with the native API may help with more complicated use cases.
- Extracting video frames
- Encoding generated audio and video
- Encoding SkiaSharp bitmaps (swscaler color conversion)
- Hardware decoding and crude OpenGL player
- Hardware encoding
- Transcoding audio and video
- Building and rendering filter graphs
On Windows, FFmpeg binaries must be manually copied to the build directory, or specified through ffmpeg.RootPath
as explained here.