From e9f08accc3154e50fee126278911fa2b7b2b4fab Mon Sep 17 00:00:00 2001 From: Malte Rosenbjerg Date: Sat, 24 Oct 2020 23:03:25 +0200 Subject: [PATCH 1/2] Update README.md --- README.md | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 29b547e..8c8bbb2 100644 --- a/README.md +++ b/README.md @@ -34,20 +34,20 @@ Easily build your FFMpeg arguments using the fluent argument builder: Convert input file to h264/aac scaled to 720p w/ faststart, for web playback ```csharp FFMpegArguments - .FromInputFiles(inputFilePath) - .WithVideoCodec(VideoCodec.LibX264) - .WithConstantRateFactor(21) - .WithAudioCodec(AudioCodec.Aac) - .WithVariableBitrate(4) - .WithFastStart() - .Scale(VideoSize.Hd) - .OutputToFile(output) - .ProcessSynchronously(), + .FromFileInput(inputPath, true, options => options + .WithVideoCodec(VideoCodec.LibX264) + .WithConstantRateFactor(21) + .WithAudioCodec(AudioCodec.Aac) + .WithVariableBitrate(4) + .WithFastStart() + .Scale(VideoSize.Hd)) + .OutputToFile(outputPath) + .ProcessSynchronously(); ``` Easily capture screens from your videos: ```csharp -var mediaFileAnalysis = FFProbe.Analyse(inputFilePath); +var mediaFileAnalysis = FFProbe.Analyse(inputPath); // process the snapshot in-memory and use the Bitmap directly var bitmap = FFMpeg.Snapshot(mediaFileAnalysis, new Size(200, 400), TimeSpan.FromMinutes(1)); @@ -59,10 +59,10 @@ FFMpeg.Snapshot(mediaFileAnalysis, outputPath, new Size(200, 400), TimeSpan.From Convert to and/or from streams ```csharp await FFMpegArguments - .FromPipe(new StreamPipeDataWriter(inputStream)) - .WithVideoCodec("vp9") - .ForceFormat("webm") - .OutputToPipe(new StreamPipeDataReader(outputStream)) + .FromPipeInput(new StreamPipeSource(inputStream)) + .OutputToPipe(new StreamPipeSink(outputStream), options => options + .WithVideoCodec("vp9") + .ForceFormat("webm")) .ProcessAsynchronously(); ``` @@ -133,9 +133,8 @@ var videoFramesSource = new RawVideoPipeSource(CreateFrames(64)) //pass IEnumera FrameRate = 30 //set source frame rate }; FFMpegArguments - .FromPipe(videoFramesSource) - // ... other encoding arguments - .OutputToFile("temporary.mp4") + .FromPipeInput(videoFramesSource, ) + .OutputToFile("temporary.mp4", false, ) .ProcessSynchronously(); ``` From 5716291c676554b5e5af6b15e6df56905fca1c38 Mon Sep 17 00:00:00 2001 From: Malte Rosenbjerg Date: Sat, 24 Oct 2020 23:04:01 +0200 Subject: [PATCH 2/2] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8c8bbb2..d8aa74d 100644 --- a/README.md +++ b/README.md @@ -34,14 +34,14 @@ Easily build your FFMpeg arguments using the fluent argument builder: Convert input file to h264/aac scaled to 720p w/ faststart, for web playback ```csharp FFMpegArguments - .FromFileInput(inputPath, true, options => options + .FromFileInput(inputPath) + .OutputToFile(outputPath, false, options => options .WithVideoCodec(VideoCodec.LibX264) .WithConstantRateFactor(21) .WithAudioCodec(AudioCodec.Aac) .WithVariableBitrate(4) .WithFastStart() .Scale(VideoSize.Hd)) - .OutputToFile(outputPath) .ProcessSynchronously(); ```