mirror of
https://github.com/rosenbjerg/FFMpegCore.git
synced 2024-11-14 02:04:14 +01:00
Merge remote-tracking branch 'origin/main'
# Conflicts: # FFMpegCore.Test/DownloaderTests.cs # FFMpegCore/Helpers/FFMpegDownloader.cs
This commit is contained in:
commit
ae92e9370c
4 changed files with 29 additions and 3 deletions
10
FFMpegCore/FFMpeg/Arguments/CopyCodecArgument.cs
Normal file
10
FFMpegCore/FFMpeg/Arguments/CopyCodecArgument.cs
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
namespace FFMpegCore.Arguments
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a copy codec parameter
|
||||||
|
/// </summary>
|
||||||
|
public class CopyCodecArgument : IArgument
|
||||||
|
{
|
||||||
|
public string Text => $"-codec copy";
|
||||||
|
}
|
||||||
|
}
|
|
@ -333,7 +333,10 @@ public static bool SaveM3U8Stream(Uri uri, string output)
|
||||||
}
|
}
|
||||||
|
|
||||||
return FFMpegArguments
|
return FFMpegArguments
|
||||||
.FromUrlInput(uri)
|
.FromUrlInput(uri, options =>
|
||||||
|
{
|
||||||
|
options.WithCopyCodec();
|
||||||
|
})
|
||||||
.OutputToFile(output)
|
.OutputToFile(output)
|
||||||
.ProcessSynchronously();
|
.ProcessSynchronously();
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,6 +77,7 @@ public FFMpegArgumentOptions DeselectStreams(IEnumerable<int> streamIndices, int
|
||||||
public FFMpegArgumentOptions WithAudibleActivationBytes(string activationBytes) => WithArgument(new AudibleEncryptionKeyArgument(activationBytes));
|
public FFMpegArgumentOptions WithAudibleActivationBytes(string activationBytes) => WithArgument(new AudibleEncryptionKeyArgument(activationBytes));
|
||||||
public FFMpegArgumentOptions WithTagVersion(int id3v2Version = 3) => WithArgument(new ID3V2VersionArgument(id3v2Version));
|
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 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)
|
public FFMpegArgumentOptions WithArgument(IArgument argument)
|
||||||
{
|
{
|
||||||
|
|
16
README.md
16
README.md
|
@ -87,7 +87,7 @@ FFMpeg.Join(@"..\joined_video.mp4",
|
||||||
``` csharp
|
``` csharp
|
||||||
FFMpeg.SubVideo(inputPath,
|
FFMpeg.SubVideo(inputPath,
|
||||||
outputPath,
|
outputPath,
|
||||||
TimeSpan.FromSeconds(0)
|
TimeSpan.FromSeconds(0),
|
||||||
TimeSpan.FromSeconds(30)
|
TimeSpan.FromSeconds(30)
|
||||||
);
|
);
|
||||||
```
|
```
|
||||||
|
@ -162,7 +162,19 @@ If you want to use `System.Drawing.Bitmap`s as `IVideoFrame`s, a `BitmapVideoFra
|
||||||
|
|
||||||
# Binaries
|
# 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/).
|
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)
|
### Windows (using choco)
|
||||||
|
|
Loading…
Reference in a new issue