fzwoch / obs-vaapi

OBS Studio VAAPI support via GStreamer
GNU General Public License v2.0
118 stars 3 forks source link

Why "legacy"? #19

Closed mcclure closed 10 months ago

mcclure commented 10 months ago

This is a neat plugin, I am glad to learn about it.

I have not tried a stream yet. But I did try installing it per the instructions on OBS 29.1.3.1-2. When I looked in Output->Advanced->Video Encoder, the VAAPI provided by the plugin was tagged "(Legacy)".

image

Why? Does this indicate something bad?

fzwoch commented 10 months ago

Nothing wrong or bad about it per se. Within GStreamer there exist two plugins for VAAPI encoders, vaapi and va. vaapi is an old one that is getting super-seeded by va. Since you are seeing the Legacy one only, I assume you have not installed the GStreamer va plugin, or you are using an older version of the GStreamer runtime that does not have the new ones yet. The Legacy one often works fine, but it has a couple of issues at times, but if it works for you, it is fine. It won't see any updates or fixes upstream though. va is the way forward.

mcclure commented 10 months ago

Thank you for your explanation. I do have a suggestion.

If I do your steps in the README, I find for "1. Check VAAPI is working" I find the expected entry points, but if I do "2. Check GStreamer is working" I get "no such element or plugin va". I assume "2" is the reason I am locked into "legacy".

I suggest adding to your README, at the end of the "Checklist" section, a sentence like: "If VAAPI is working but GStreamer is not, the plugin will run only in "Legacy" mode, which usually works but is not recommended."

Because ATM the documentation I saw did not mention a Legacy mode, it was unclear to me "who was printing" the (Legacy) tag (EG, was the plugin advertising it was a legacy mode, or was OBS marking it as a legacy plugin, I had no way to know).

Mordius commented 7 months ago

I suggest adding to your README, at the end of the "Checklist" section, a sentence like: "If VAAPI is working but GStreamer is not, the plugin will run only in "Legacy" mode, which usually works but is not recommended."

I agree with you, came here looking for exactly the same thing.

I assume you have not installed the GStreamer va plugin, or you are using an older version of the GStreamer runtime

  1. Check GStreamer is working" I get "no such element or plugin va"

Can confirm, I had the same error and fixed it by updating gstreamer runtime, I think this should be added to the README.

fzwoch commented 7 months ago

Iirc I had this in there but removed it going forward. Legacy is just there for convenience. I'd rather have it not being mentioned anymore.

People are encouraged to go through the checklist. If you fail the checklist, you are not ready to go.