h264 vaapi quality 5
This commit is contained in:
parent
6ace5405e4
commit
2f60f4c109
@ -14,7 +14,9 @@ install -Dm755 "gpu-screen-recorder" "/usr/bin/gpu-screen-recorder"
|
||||
if [ -d "/usr/lib/systemd/user" ]; then
|
||||
install -Dm644 "extra/gpu-screen-recorder.service" "/usr/lib/systemd/user/gpu-screen-recorder.service"
|
||||
fi
|
||||
# Not necessary, but removes the password prompt when trying to record a monitor on amd/intel or nvidia wayland
|
||||
setcap cap_sys_admin+ep /usr/bin/gsr-kms-server
|
||||
# Not ncessary, but allows use of EGL_CONTEXT_PRIORITY_LEVEL_IMG which might decrease performance impact on the system
|
||||
setcap cap_sys_nice+ep /usr/bin/gpu-screen-recorder
|
||||
|
||||
echo "Successfully installed gpu-screen-recorder"
|
||||
|
@ -227,13 +227,13 @@ static bool gsr_egl_create_window(gsr_egl *self, bool wayland) {
|
||||
const int32_t attr[] = {
|
||||
EGL_BUFFER_SIZE, 24,
|
||||
EGL_RENDERABLE_TYPE, EGL_OPENGL_BIT,
|
||||
EGL_NONE, EGL_NONE
|
||||
EGL_NONE
|
||||
};
|
||||
|
||||
const int32_t ctxattr[] = {
|
||||
EGL_CONTEXT_CLIENT_VERSION, 2,
|
||||
EGL_CONTEXT_PRIORITY_LEVEL_IMG, EGL_CONTEXT_PRIORITY_HIGH_IMG, /* requires cap_sys_nice, ignored otherwise */
|
||||
EGL_NONE, EGL_NONE
|
||||
EGL_NONE
|
||||
};
|
||||
|
||||
if(wayland) {
|
||||
@ -249,7 +249,7 @@ static bool gsr_egl_create_window(gsr_egl *self, bool wayland) {
|
||||
// Fetch globals
|
||||
wl_display_roundtrip(self->wayland.dpy);
|
||||
|
||||
// fetch wl_output
|
||||
// Fetch wl_output
|
||||
wl_display_roundtrip(self->wayland.dpy);
|
||||
|
||||
if(!self->wayland.compositor) {
|
||||
|
@ -417,6 +417,8 @@ static AVCodecContext *create_video_codec_context(AVPixelFormat pix_fmt,
|
||||
//codec_context->rc_max_rate = codec_context->bit_rate;
|
||||
//codec_context->rc_min_rate = codec_context->bit_rate;
|
||||
//codec_context->rc_buffer_size = codec_context->bit_rate / 10;
|
||||
// TODO: Do this when not using cqp
|
||||
//codec_context->rc_initial_buffer_occupancy = codec_context->bit_rate * 1000;
|
||||
|
||||
codec_context->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
|
||||
|
||||
@ -735,7 +737,7 @@ static void open_video(AVCodecContext *codec_context, VideoQuality video_quality
|
||||
|
||||
if(codec_context->codec_id == AV_CODEC_ID_H264) {
|
||||
av_dict_set(&options, "profile", "high", 0);
|
||||
av_dict_set_int(&options, "quality", 7, 0);
|
||||
av_dict_set_int(&options, "quality", 5, 0); // quality preset
|
||||
} else if(codec_context->codec_id == AV_CODEC_ID_AV1) {
|
||||
av_dict_set(&options, "profile", "main", 0); // TODO: use professional instead?
|
||||
av_dict_set(&options, "tier", "main", 0);
|
||||
|
Loading…
Reference in New Issue
Block a user