net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-android net6.0-android was computed. net5.0-windows net5.0-windows was computed. Versions Compatible and additional computed target framework versions. The library has been tested with version 3.3 to 4.2 Code contributors Older versions of ffmpeg might not support all ffmpeg arguments available through this library. exe is only appended on Windows) Compatibility GlobalFFOptions.Configure(new FFOptions /(ffmpeg|ffprobe.exe). The default value of an empty string (expecting ffmpeg to be found through PATH) can be overwritten via the FFOptions class: // setting global options Location: /usr/bin Path Configuration Option 1 Location: C:\ProgramData\chocolatey\lib\ffmpeg\tools\ffmpeg\bin Mac OSXĬommand: brew install ffmpeg mono-libgdiplusĬommand: sudo apt-get install -y ffmpeg libgdiplus If you prefer to manually download them, visit ffbinaries or zeranoe Windows builds. If you want to use as IVideoFrames, a BitmapVideoFrameWrapper wrapper class is provided. Method for generating bitmap frames: IEnumerable CreateFrames(int count) Currently, the IPipeSource interface has two implementations StreamPipeSource for streams, and RawVideoPipeSource for raw video frames. This feature also allows for converting video on-the-fly while frames are being generated or received.Īn object implementing the IPipeSource interface is used as the source of data. With input piping it is possible to write video frames directly from program memory without saving them to jpeg or png and then passing path to input of ffmpeg. Other available arguments could be found in FFMpegCore.Arguments namespace. Image.AddAudio(inputAudioPath, outputPath) Var image = Image.FromFile(inputImagePath) Join images into a video: frameRate: the audio of a video file: FFMpeg.Mute(inputPath, outputPath) Įxtract the audio track from a video file: FFMpeg.ExtractAudio(inputPath, outputPath) Īdd or replace the audio track of a video file: FFMpeg.ReplaceAudio(inputPath, inputAudioPath, outputPath) Ĭombine an image with audio file, for youtube or similar platforms FFMpeg.PosterWithAudio(inputPath, inputAudioPath, outputPath) Join video parts into one single file: a sub video FFMpeg.SubVideo(inputPath, you can also supply -1 to either one of Width/Height Size properties if you'd like FFMPEG to resize while maintaining the aspect ratioĪwait FFMpeg.GifSnapshotAsync(inputPath, outputPath, new Size(480, -1), TimeSpan.FromSeconds(10)) You can also capture GIF snapshots from a video file: FFMpeg.GifSnapshot(inputPath, outputPath, new Size(200, 400), TimeSpan.FromSeconds(10)) Īwait FFMpeg.GifSnapshotAsync(inputPath, outputPath, new Size(200, 400), TimeSpan.FromSeconds(10)) Var bitmap = FFMpeg.Snapshot(inputPath, new Size(200, 400), TimeSpan.FromMinutes(1)) įFMpeg.Snapshot(inputPath, outputPath, new Size(200, 400), TimeSpan.FromMinutes(1)) Easily capture snapshots from a video file: // process the snapshot in-memory and use the Bitmap directly The provided helper methods makes it simple to perform common operations. OutputToPipe(new StreamPipeSink(outputStream), options => options FromPipeInput(new StreamPipeSource(inputStream)) WithVideoFilters(filterOptions => filterOptionsĬonvert to and/or from streams await FFMpegArguments OutputToFile(outputPath, false, options => options Or var mediaInfo = FFProbe.Analyse(inputPath) Įasily build your FFMpeg arguments using the fluent argument builder:Ĭonvert input file to h264/aac scaled to 720p w/ faststart, for web playback FFMpegArguments Use FFProbe to analyze media files: var mediaInfo = await FFProbe.AnalyseAsync(inputPath) Supports both synchronous and asynchronous calls API FFProbe NET Standard FFMpeg/FFProbe wrapper for easily integrating media analysis and conversion into your.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |