obsproject / obs-studio

OBS Studio - Free and open source software for live streaming and screen recording
https://obsproject.com
GNU General Public License v2.0
59.12k stars 7.86k forks source link

Many encoders missing #11067

Closed theofficialgman closed 1 month ago

theofficialgman commented 1 month ago

Operating System Info

Other

Other OS

Ubuntu 24.04

OBS Studio Version

30.2.2

OBS Studio Version (Other)

No response

OBS Studio Log URL

N/A

OBS Studio Crash Log URL

No response

Expected Behavior

All libavcodec encoders are available for use in streaming/recording without custom ffmpeg output (that is only available for recording)

Current Behavior

libavcodec encoders are missing for streaming/recording and only a small selection of encoders are available.

Steps to Reproduce

  1. Open streaming/recording and see that many libavcodec based encoders are missing.

Anything else we should know?

Many encoders are available with ffmpeg/libavcodec that would be useful for use in OBS Studio as part of the standard streaming/recording options (without custom ffmpeg) but they are not available. This issue is https://ideas.obsproject.com/ https://obsproject.com/forum in dozens of posts but has not gotten proper mention as an issue. The presence of x264 and AV1 software encoding with libavcodec is nice but there are many many other encoders that should be available (both software and hardware based). eg: libvpx, libx265, h264_nvv4l2, hevc_nvv4l2

It would be make most sense to bring the custom ffmpeg output option over to the streaming tab so that any encoder can be configured for use with streaming as appropriate.

derrod commented 1 month ago

Only selected encoders are supported, most of them not using FFmpeg. This is a feature request, not a bug.

theofficialgman commented 1 month ago

Only selected encoders are supported, most of them not using FFmpeg. This is a feature request, not a bug.

@derrod seems like a bug. The (software) av1 and (hardware) nvenc plugins are mostly boilerplate code. It makes a lot of sense to just have that be used to support any arbitrary video encoder that is compiled into the ffmpeg binary.

https://github.com/obsproject/obs-studio/blob/master/plugins/obs-ffmpeg/obs-ffmpeg-av1.c https://github.com/obsproject/obs-studio/blob/master/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c

In any case, it seems trivial and strange that some of the basic encoders aren't supported out of the box (libvpx and libx265) especially given that its just boilerplate.

derrod commented 1 month ago

It's not a bug.