FFmpeg.AutoGen 7.1.1

dotnet add package FFmpeg.AutoGen --version 7.1.1
                    
NuGet\Install-Package FFmpeg.AutoGen -Version 7.1.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FFmpeg.AutoGen" Version="7.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FFmpeg.AutoGen" Version="7.1.1" />
                    
Directory.Packages.props
<PackageReference Include="FFmpeg.AutoGen" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FFmpeg.AutoGen --version 7.1.1
                    
#r "nuget: FFmpeg.AutoGen, 7.1.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=FFmpeg.AutoGen&version=7.1.1
                    
Install FFmpeg.AutoGen as a Cake Addin
#tool nuget:?package=FFmpeg.AutoGen&version=7.1.1
                    
Install FFmpeg.AutoGen as a Cake Tool

Important

The FFmpeg API is vast and complex and this project exposes it with minimum modifications - support is very limited. Please consider to ask how to questions on stackoverflow.com or in special repository on github.com. The community may be able to offer some assistance but you will largely be on your own. As another option you can search for a solution in C(lang) as with some effort you can convert it to C#. Here repository with C# converted examples: https://github.com/stjeong/ffmpeg_autogen_cs

FFmpeg.AutoGen

main nuget

FFmpeg auto generated unsafe bindings for C#/.NET and Mono.

Usage

The basic example of the library usage: video decoding, conversion and frame extraction to jpeg is included in FFmpeg.AutoGen.Example project.
For the more sophisticated operations please refer to offical ffmpeg Documentation expecially API section of it. Nuget packages version uses semantic versioning and in sync with MAJOR and MINOR version of FFmpeg as PATCH incremets does not changing API.

  • on Windows:
    Native ffmpeg libraries are pre bundled in this repository, please note the are GPL(!) libraries. The x64 libraries source from CODEX FFMPEG. Please check to example project it shows how specify path to libraries.

  • on OS X:
    Install ffmpeg via Homebrew:

brew install ffmpeg

Normally you need to set static ffmpeg.RootPath = with full path to FFmpeg libraries.

  • on Linux:
    Use your package manager of choice. Normally you need to set static ffmpeg.RootPath = with full path to FFmpeg libraries.

Generation

The bindings generator uses CppSharp.

Prerequisites:

  • Visual Studio 2022 with C# and C++ desktop development workloads and Windows SDK for desktop.

Steps to generate:

  • Run FFmpeg.AutoGen.CppSharpUnsafeGenerator;
  • All files with extension *.g.cs in FFmpeg.AutoGen project will be regenerated.

License

Copyright © Ruslan Balanukhin 2023 All rights reserved.

Distributed under the GNU Lesser General Public License (LGPL) version 3.
http://www.gnu.org/licenses/lgpl.html

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages (43)

Showing the top 5 NuGet packages that depend on FFmpeg.AutoGen:

Package Downloads
ppy.osu.Framework

A 2D application/game framework written with rhythm games in mind.

FFMediaToolkit

Cross-platform audio/video processing library based on FFmpeg native libraries. Supports audio/video frames extraction (fast access to any frame by timestamp), reading file metadata and encoding media files from bitmap images and audio data.

Stride.Video

Package Description

FFME.Windows

FFME is an advanced WPF MediaElement alternative. While the standard MediaElement uses DirectX (DirectShow) for media playback, FFME uses FFmpeg to read and decode audio and video.

Carbon.Media.Processing

Package Description

GitHub repositories (15)

Showing the top 15 popular GitHub repositories that depend on FFmpeg.AutoGen:

Repository Stars
stride3d/stride
Stride (formerly Xenko), a free and open-source cross-platform C# game engine.
0x90d/videoduplicatefinder
Video Duplicate Finder - Crossplatform
ppy/osu-framework
A game framework written with osu! in mind.
ispysoftware/iSpy
Open source surveillance software
unosquare/ffmediaelement
FFME: The Advanced WPF MediaElement (based on FFmpeg)
b-editor/beutl
Cross-platform video editing (compositing) software.
MaKiPL/OpenVIII-monogame
Open source Final Fantasy VIII engine implementation in C# working on Windows and Linux (Android and iOS planned too!) [Monogame]
gchudov/cuetools.net
CD image processing suite with optimized lossless encoders in C#
0auBSQ/OpenTaiko
An improved and personalized version of TJAPlayer3-Develop-Rewrite, .tja chart player axed on entertainment and creativity.
radek-k/FFMediaToolkit
FFMediaToolkit is a cross-platform video decoder/encoder library for .NET that uses FFmpeg native libraries. It supports video frames extraction, reading stream metadata and creating videos from bitmaps in any format supported by FFmpeg.
dotnettools/SharpGrabber
Download from YouTube, Vimeo, HLS (M3U8 files) and more with .NET and JavaScript - Library and desktop app for downloading high quality media
AngryCarrot789/FramePFX
A non-linear video editor written in C# using Avalonia
feliwir/SharpAudio
Audio playback/capturing engine for C#
hcmlab/nova
NOVA is a tool for annotating and analyzing behaviours in social interactions. It supports Annotators using Machine Learning already during the coding process. Further it features both, discrete labels and continuous scores and a visuzalization of streams recorded with the SSI Framework.
Speykious/SeeShark
Simple C# camera library.
Version Downloads Last updated
7.1.1 1,890 4/7/2025
7.0.0 61,626 4/18/2024
6.1.0.1 32,877 3/26/2024
6.1.0 67,134 11/14/2023
6.0.0.2 118,293 5/5/2023
6.0.0.1 1,641 5/5/2023
6.0.0 30,593 3/21/2023
5.1.2.3 8,768 5/5/2023
5.1.2.2 1,501 5/5/2023
5.1.2.1 16,102 3/16/2023
5.1.2 2,489 3/15/2023
5.1.1 38,621 8/8/2022
5.1.0 4,658 8/7/2022
5.0.0 107,646 1/20/2022
4.4.1.1 103,662 11/23/2021
4.4.1 121,899 9/21/2021
4.4.0 138,559 4/10/2021
4.3.2.1 4,280 3/21/2021
4.3.2 2,361 3/20/2021
4.3.1 142,515 10/6/2020
4.3.0.3 32,757 9/26/2020
4.3.0.2 2,500 9/20/2020
4.3.0.1 1,563,837 6/28/2020
4.3.0 43,400 6/17/2020
4.2.2.2 26,616 4/28/2020
4.2.2.1 91,561 2/29/2020
4.2.2 3,168 2/29/2020
4.2.0 219,852 8/10/2019
4.1.0.5 24,856 6/13/2019
4.1.0.4 22,473 4/10/2019
4.1.0.3 2,255 4/10/2019
4.1.0.2 65,404 12/11/2018
4.1.0.1 11,524 11/18/2018
4.0.0.4 25,835 7/23/2018
4.0.0.3 3,281 7/23/2018
4.0.0.2 13,031 5/7/2018
4.0.0.1 4,724 5/1/2018
4.0.0 3,610 4/30/2018
3.4.0.6 5,541 4/3/2018
3.4.0.5 14,632 2/5/2018
3.4.0.4 2,958 2/4/2018
3.4.0.3 3,072 2/1/2018
3.4.0.2 81,661 12/22/2017
3.4.0.1 3,885 12/2/2017
3.4.0 3,760 11/12/2017
3.3.3.9 4,220 10/14/2017
3.3.3.8 3,614 10/4/2017
3.3.3.7 2,654 10/2/2017
3.3.3.6 2,622 10/1/2017
3.3.3.5 2,650 9/25/2017
3.3.3.4 2,640 9/22/2017
3.3.3.3 3,101 9/14/2017
3.3.3.2 3,689 9/13/2017