# SIPSorceryMedia.FFmpeg **Repository Path**: wyfwrx/SIPSorceryMedia.FFmpeg ## Basic Information - **Project Name**: SIPSorceryMedia.FFmpeg - **Description**: SIPSorceryMedia.FFmpeg - **Primary Language**: C# - **License**: LGPL-2.1 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-07 - **Last Updated**: 2024-01-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SIPSorceryMedia.FFmpeg This project is an example of developing a C# library that can use features from [FFmpeg](https://ffmpeg.org/) native libraries and that inegrates with the [SIPSorcery](https://github.com/sipsorcery-org/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](https://upload.wikimedia.org/wikipedia/commons/3/36/Cosmos_Laundromat_-_First_Cycle_-_Official_Blender_Foundation_release.webm)) - using camera - using screen - **Audio input**: - using local file or remote using URI (like [this](https://upload.wikimedia.org/wikipedia/commons/3/36/Cosmos_Laundromat_-_First_Cycle_-_Official_Blender_Foundation_release.webm) or [this](https://upload.wikimedia.org/wikipedia/commons/0/0f/Pop_RockBrit_%28exploration%29-en_wave.wav)) - 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](https://github.com/sipsorcery-org/SIPSorcery.SDL2) # Installing FFmpeg ## For Windows Install the [FFmpeg](https://www.ffmpeg.org/) 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](https://www.ffmpeg.org/) binaries using the package manager for the distribution. `sudo apt install ffmpeg` ## For Mac Install [homebrew](https://brew.sh/) `brew install ffmpeg` `brew install mono-libgdiplus` # Testing Test - with [FFmpegFileAndDevicesTest](./test/FFmpegFileAndDevicesTest) project - or with the [WebRTC Test Pattern demo](https://github.com/sipsorcery/sipsorcery/tree/master/examples/WebRTCExamples/WebRTCTestPatternServer)