/SIPSorceryMedia.FFmpeg

Primary LanguageC#GNU Lesser General Public License v2.1LGPL-2.1

SIPSorceryMedia.FFmpeg

This project is an example of developing a C# library that can use features from FFmpeg native libraries and that inegrates with the SIPSorcery real-time communications library.

This project has been test successfully on Windows, MacOs and Linux.

The classes in this project provide functions to:

  • Video codecs: VP8, H264
  • Audio codecs: PCMU (G711), PCMA (G711), G722, G729 and Opus
  • Video input:
    • using local file or remote using URI (like this)
    • using camera
    • using screen
  • Audio input:
    • using local file or remote using URI (like this or this)
    • using microphone

You can set any Video input (or none) with any Audio input (or none)

There is no Audio ouput in this library. For this you can use SIPSorcery.SDL2

Installing FFmpeg

For Windows

Install the FFmpeg binaries using the packages at https://www.gyan.dev/ffmpeg/builds/#release-builds and include the FFMPEG executable in your PATH to find them automatically.

For Linux

Install the FFmpeg binaries using the package manager for the distribution.

sudo apt install ffmpeg

For Mac

Install homebrew

brew install ffmpeg brew install mono-libgdiplus

Testing

Test