Added Xabe try, produces 0 byte files

This commit is contained in:
2026-01-07 13:39:38 +01:00
parent 729e33881b
commit eca4ab0f15
2 changed files with 26 additions and 1 deletions

View File

@@ -12,6 +12,7 @@
<PackageReference Include="FlashCap" Version="1.11.0" /> <PackageReference Include="FlashCap" Version="1.11.0" />
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.12" /> <PackageReference Include="SixLabors.ImageSharp" Version="3.1.12" />
<PackageReference Include="System.Reactive" Version="6.1.0" /> <PackageReference Include="System.Reactive" Version="6.1.0" />
<PackageReference Include="Xabe.FFmpeg" Version="6.0.2" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -1,11 +1,12 @@
using FlashCap; using FlashCap;
using Xabe.FFmpeg;
namespace Flashcap_Demo; namespace Flashcap_Demo;
internal static class Program internal static class Program
{ {
public static void Main(string[] args) public async static Task Main(string[] args)
{ {
var device = new CaptureDevices(); var device = new CaptureDevices();
var deviceDescriptors = device.GetDescriptors() var deviceDescriptors = device.GetDescriptors()
@@ -20,6 +21,29 @@ internal static class Program
Console.WriteLine($"Chosen:\n\t" + Console.WriteLine($"Chosen:\n\t" +
$"{captureDeviceDescriptor}\n\t" + $"{captureDeviceDescriptor}\n\t" +
$"{characteristic}"); $"{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();
} }
} }