diff --git a/FFMpegCore/FFMpeg/Arguments/CopyCodecArgument.cs b/FFMpegCore/FFMpeg/Arguments/CopyCodecArgument.cs
new file mode 100644
index 0000000..8ea3484
--- /dev/null
+++ b/FFMpegCore/FFMpeg/Arguments/CopyCodecArgument.cs
@@ -0,0 +1,10 @@
+namespace FFMpegCore.Arguments
+{
+ ///
+ /// Represents a copy codec parameter
+ ///
+ public class CopyCodecArgument : IArgument
+ {
+ public string Text => $"-codec copy";
+ }
+}
diff --git a/FFMpegCore/FFMpeg/FFMpeg.cs b/FFMpegCore/FFMpeg/FFMpeg.cs
index a8de12b..820d9fb 100644
--- a/FFMpegCore/FFMpeg/FFMpeg.cs
+++ b/FFMpegCore/FFMpeg/FFMpeg.cs
@@ -333,7 +333,10 @@ public static bool SaveM3U8Stream(Uri uri, string output)
}
return FFMpegArguments
- .FromUrlInput(uri)
+ .FromUrlInput(uri, options =>
+ {
+ options.WithCopyCodec();
+ })
.OutputToFile(output)
.ProcessSynchronously();
}
diff --git a/FFMpegCore/FFMpeg/FFMpegArgumentOptions.cs b/FFMpegCore/FFMpeg/FFMpegArgumentOptions.cs
index 4930b52..6a6586c 100644
--- a/FFMpegCore/FFMpeg/FFMpegArgumentOptions.cs
+++ b/FFMpegCore/FFMpeg/FFMpegArgumentOptions.cs
@@ -77,6 +77,7 @@ public FFMpegArgumentOptions DeselectStreams(IEnumerable streamIndices, int
public FFMpegArgumentOptions WithAudibleActivationBytes(string activationBytes) => WithArgument(new AudibleEncryptionKeyArgument(activationBytes));
public FFMpegArgumentOptions WithTagVersion(int id3v2Version = 3) => WithArgument(new ID3V2VersionArgument(id3v2Version));
public FFMpegArgumentOptions WithGifPaletteArgument(int streamIndex, Size? size, int fps = 12) => WithArgument(new GifPaletteArgument(streamIndex, fps, size));
+ public FFMpegArgumentOptions WithCopyCodec() => WithArgument(new CopyCodecArgument());
public FFMpegArgumentOptions WithArgument(IArgument argument)
{
diff --git a/README.md b/README.md
index 365d0be..b2df37a 100644
--- a/README.md
+++ b/README.md
@@ -87,7 +87,7 @@ FFMpeg.Join(@"..\joined_video.mp4",
``` csharp
FFMpeg.SubVideo(inputPath,
outputPath,
- TimeSpan.FromSeconds(0)
+ TimeSpan.FromSeconds(0),
TimeSpan.FromSeconds(30)
);
```
@@ -162,7 +162,19 @@ If you want to use `System.Drawing.Bitmap`s as `IVideoFrame`s, a `BitmapVideoFra
# Binaries
-## Installation
+## Runtime Auto Installation
+You can install a version of ffmpeg suite at runtime using `FFMpegDownloader.DownloadFFMpegSuite();`
+
+Or you can download only the desired binary using `FFMpegDownloader.DownloadFFMpeg()`, `FFMpegDownloader.DownloadFFProbe()`, `FFMpegDownloader.DownloadFFPlay()`.
+
+| OS | Support |
+|---------|:-------------------------------------------------:|
+| Windows | x64 Fully Supported, x86 Up to version V4.2.1 |
+| Mac OSX | NOT YET |
+| Linux | NOT YET |
+
+
+## Manual Installation
If you prefer to manually download them, visit [ffbinaries](https://ffbinaries.com/downloads) or [zeranoe Windows builds](https://ffmpeg.zeranoe.com/builds/).
### Windows (using choco)