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:
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
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.
Install the FFmpeg binaries using the package manager for the distribution.
sudo apt install ffmpeg
Install homebrew
brew install ffmpeg
brew install mono-libgdiplus
Test
- with FFmpegFileAndDevicesTest project
- or with the WebRTC Test Pattern demo