diff --git a/Flashcap-Demo/Flashcap-Demo.csproj b/Flashcap-Demo/Flashcap-Demo.csproj index 7a36335..df1c2c8 100644 --- a/Flashcap-Demo/Flashcap-Demo.csproj +++ b/Flashcap-Demo/Flashcap-Demo.csproj @@ -12,6 +12,7 @@ + diff --git a/Flashcap-Demo/Program.cs b/Flashcap-Demo/Program.cs index f1090ee..a3be903 100644 --- a/Flashcap-Demo/Program.cs +++ b/Flashcap-Demo/Program.cs @@ -1,11 +1,12 @@  using FlashCap; +using Xabe.FFmpeg; namespace Flashcap_Demo; internal static class Program { - public static void Main(string[] args) + public async static Task Main(string[] args) { var device = new CaptureDevices(); var deviceDescriptors = device.GetDescriptors() @@ -20,6 +21,29 @@ internal static class Program Console.WriteLine($"Chosen:\n\t" + $"{captureDeviceDescriptor}\n\t" + $"{characteristic}"); + + var cancellationTokenSource = new CancellationTokenSource(); + var mediaInfo = await FFmpeg.GetMediaInfo(captureDeviceDescriptor.Identity.ToString(), cancellationTokenSource.Token); + + var outName = Path.Join(Directory.GetCurrentDirectory(),"output"); + + var parameters = + $"-f v4l2 " + + $"-framerate {characteristic.FramesPerSecond} " + + $"-video_size {characteristic.Width}x{characteristic.Height} " + + $"-input_format mjpeg " + + $"-y " + + $"-report " + + $"-i {captureDeviceDescriptor.Identity} " + + $"{outName}.mkv"; + FFmpeg.Conversions.New() + .Start(parameters, cancellationTokenSource.Token); + // .Build(); + // Console.WriteLine(cli); + + Console.WriteLine(parameters); + await Task.Delay(5000); + cancellationTokenSource.Cancel(); } } \ No newline at end of file