beutl
beutl copied to clipboard
Invert the encoding process
Is your feature request related to a problem? Please describe.
Currently, the extension cannot fully control the encoding process, and it is not possible to change the order in which video and audio frames are passed, with all video frames being passed first followed by the audio frames.
Describe the solution you'd like
Instead of passing frames directly to the encoder, pass a class that generates the frames
public class ControllableEncodingExtension
{
public EncodingController CreateController(string file);
}
public class EncodingController
{
public EncodingController(string file, IFrameProvider fp, ISampleProvider sp);
public string OutputFile { get; }
public abstract VideoEncodingSettings VideoConfig { get; }
public abstract AudioEncodingSettings AudioConfig { get; }
public abstract Task Run(CancellationToken ct = default);
}
Describe alternatives you've considered
No response
Additional context
No response