beutl icon indicating copy to clipboard operation
beutl copied to clipboard

Invert the encoding process

Open yuto-trd opened this issue 7 months ago • 0 comments

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

yuto-trd avatar Jul 04 '24 07:07 yuto-trd