Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intel QuickSync support? #514

Open
MediMilk opened this issue Aug 8, 2024 · 5 comments
Open

Intel QuickSync support? #514

MediMilk opened this issue Aug 8, 2024 · 5 comments
Labels
enhancement New feature or request

Comments

@MediMilk
Copy link

MediMilk commented Aug 8, 2024

Does WoW-Recorder support Intel QuickSync as an option for recording?

@aza547
Copy link
Owner

aza547 commented Aug 9, 2024

Not currently, although I got the feeling that it was probably possible. I have no means to test it though as I don't have the hardware. Happy to take a PR for it if you fancy implementing it.

@aza547
Copy link
Owner

aza547 commented Aug 9, 2024

Might just be a case of updating some enums allowing it to be selected if it's available.

@MediMilk
Copy link
Author

MediMilk commented Aug 9, 2024

I am terrible at programming, but I will give it a shot. Don't count on me though.

@aza547 aza547 added the enhancement New feature or request label Aug 10, 2024
@aza547
Copy link
Owner

aza547 commented Aug 10, 2024

Some pointers...

The app will currently log any available encoders but only allow a subset of those in the UI that I have tested.

The logging (see Recorder.ts):

  /**
   * Return an array of all the encoders available to OBS.
   */
  public getAvailableEncoders() {
    console.info('[Recorder] Getting available encoders');

    if (!this.obsInitialized) {
      throw new Error('[Recorder] OBS not initialized');
    }

    const encoders = osn.VideoEncoderFactory.types();
    console.info('[Recorder]', encoders);

    return encoders;
  }

The filtering, see VideoBaseConbtrols.tsx:

useEffect(() => {
    const getAvailableEncoders = async () => {
      const allEncoders = await ipc.invoke('getEncoders', []);

      const availableEncoders = allEncoders
        .filter((s: string) => encoderFilter(s, highRes))
        .map(mapStringToEncoder)
        .sort((a: Encoder, b: Encoder) => a.type < b.type);

      setEncoders(availableEncoders);
    };

First step I'd suggest is check the logs on your PC if quick sync is logged as an available encoder.

@aza547
Copy link
Owner

aza547 commented Aug 10, 2024

Also see #380

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants