mirror of
https://github.com/rosenbjerg/FFMpegCore.git
synced 2025-01-18 12:36:44 +00:00
Merge pull request #363 from assassinater/master
Fix extension is not png lost path
Former-commit-id: 4617f89560
This commit is contained in:
commit
bb89e018f2
1 changed files with 9 additions and 9 deletions
|
@ -79,7 +79,7 @@ public static class FFMpeg
|
|||
public static bool Snapshot(string input, string output, Size? size = null, TimeSpan? captureTime = null, int? streamIndex = null, int inputFileIndex = 0)
|
||||
{
|
||||
if (Path.GetExtension(output) != FileExtension.Png)
|
||||
output = Path.GetFileNameWithoutExtension(output) + FileExtension.Png;
|
||||
output = Path.Combine(Path.GetDirectoryName(output), Path.GetFileNameWithoutExtension(output) + FileExtension.Png);
|
||||
|
||||
var source = FFProbe.Analyse(input);
|
||||
var (arguments, outputOptions) = SnapshotArgumentBuilder.BuildSnapshotArguments(input, source, size, captureTime, streamIndex, inputFileIndex);
|
||||
|
@ -101,7 +101,7 @@ public static bool Snapshot(string input, string output, Size? size = null, Time
|
|||
public static async Task<bool> SnapshotAsync(string input, string output, Size? size = null, TimeSpan? captureTime = null, int? streamIndex = null, int inputFileIndex = 0)
|
||||
{
|
||||
if (Path.GetExtension(output) != FileExtension.Png)
|
||||
output = Path.GetFileNameWithoutExtension(output) + FileExtension.Png;
|
||||
output = Path.Combine(Path.GetDirectoryName(output), Path.GetFileNameWithoutExtension(output) + FileExtension.Png);
|
||||
|
||||
var source = await FFProbe.AnalyseAsync(input).ConfigureAwait(false);
|
||||
var (arguments, outputOptions) = SnapshotArgumentBuilder.BuildSnapshotArguments(input, source, size, captureTime, streamIndex, inputFileIndex);
|
||||
|
@ -150,7 +150,7 @@ public static bool Convert(
|
|||
.UsingMultithreading(multithreaded)
|
||||
.WithVideoCodec(VideoCodec.LibX264)
|
||||
.WithVideoBitrate(2400)
|
||||
.WithVideoFilters(filterOptions => filterOptions
|
||||
.WithVideoFilters(filterOptions => filterOptions
|
||||
.Scale(outputSize))
|
||||
.WithSpeedPreset(speed)
|
||||
.WithAudioCodec(AudioCodec.Aac)
|
||||
|
@ -162,7 +162,7 @@ public static bool Convert(
|
|||
.UsingMultithreading(multithreaded)
|
||||
.WithVideoCodec(VideoCodec.LibTheora)
|
||||
.WithVideoBitrate(2400)
|
||||
.WithVideoFilters(filterOptions => filterOptions
|
||||
.WithVideoFilters(filterOptions => filterOptions
|
||||
.Scale(outputSize))
|
||||
.WithSpeedPreset(speed)
|
||||
.WithAudioCodec(AudioCodec.LibVorbis)
|
||||
|
@ -181,7 +181,7 @@ public static bool Convert(
|
|||
.UsingMultithreading(multithreaded)
|
||||
.WithVideoCodec(VideoCodec.LibVpx)
|
||||
.WithVideoBitrate(2400)
|
||||
.WithVideoFilters(filterOptions => filterOptions
|
||||
.WithVideoFilters(filterOptions => filterOptions
|
||||
.Scale(outputSize))
|
||||
.WithSpeedPreset(speed)
|
||||
.WithAudioCodec(AudioCodec.LibVorbis)
|
||||
|
@ -236,7 +236,7 @@ public static bool SaveM3U8Stream(Uri uri, string output)
|
|||
|
||||
if (uri.Scheme != "http" && uri.Scheme != "https")
|
||||
throw new ArgumentException($"Uri: {uri.AbsoluteUri}, does not point to a valid http(s) stream.");
|
||||
|
||||
|
||||
return FFMpegArguments
|
||||
.FromUrlInput(uri)
|
||||
.OutputToFile(output)
|
||||
|
@ -319,7 +319,7 @@ internal static IReadOnlyList<PixelFormat> GetPixelFormatsInternal()
|
|||
};
|
||||
|
||||
var result = processArguments.StartAndWaitForExit();
|
||||
if (result.ExitCode != 0)
|
||||
if (result.ExitCode != 0)
|
||||
throw new FFMpegException(FFMpegExceptionType.Process, string.Join("\r\n", result.OutputData));
|
||||
|
||||
return list.AsReadOnly();
|
||||
|
@ -361,7 +361,7 @@ private static void ParsePartOfCodecs(Dictionary<string, Codec> codecs, string a
|
|||
processArguments.OutputDataReceived += (e, data) =>
|
||||
{
|
||||
var codec = parser(data);
|
||||
if(codec != null)
|
||||
if (codec != null)
|
||||
if (codecs.TryGetValue(codec.Name, out var parentCodec))
|
||||
parentCodec.Merge(codec);
|
||||
else
|
||||
|
@ -408,7 +408,7 @@ public static IReadOnlyList<Codec> GetCodecs(CodecType type)
|
|||
{
|
||||
if (!GlobalFFOptions.Current.UseCache)
|
||||
return GetCodecsInternal().Values.Where(x => x.Type == type).ToList().AsReadOnly();
|
||||
return FFMpegCache.Codecs.Values.Where(x=>x.Type == type).ToList().AsReadOnly();
|
||||
return FFMpegCache.Codecs.Values.Where(x => x.Type == type).ToList().AsReadOnly();
|
||||
}
|
||||
|
||||
public static IReadOnlyList<Codec> GetVideoCodecs() => GetCodecs(CodecType.Video);
|
||||
|
|
Loading…
Reference in a new issue