mirror of
https://repo.dec05eba.com/gpu-screen-recorder
synced 2026-03-31 09:07:13 +09:00
Add encoder option to systemd service file
This commit is contained in:
@@ -9,3 +9,4 @@ FRAMERATE=60
|
|||||||
REPLAYDURATION=60
|
REPLAYDURATION=60
|
||||||
OUTPUTDIR=/run/media/dec05eba/SSD1TB/Videos/aaaa
|
OUTPUTDIR=/run/media/dec05eba/SSD1TB/Videos/aaaa
|
||||||
KEYINT=2
|
KEYINT=2
|
||||||
|
ENCODER=gpu
|
||||||
@@ -16,7 +16,8 @@ Environment=OUTPUTDIR=%h/Videos
|
|||||||
Environment=MAKEFOLDERS=no
|
Environment=MAKEFOLDERS=no
|
||||||
Environment=COLOR_RANGE=limited
|
Environment=COLOR_RANGE=limited
|
||||||
Environment=KEYINT=2
|
Environment=KEYINT=2
|
||||||
ExecStart=/bin/sh -c 'AUDIO="${AUDIO_DEVICE:-$(pactl get-default-sink).monitor}"; gpu-screen-recorder -v no -w $WINDOW -c $CONTAINER -q $QUALITY -k $CODEC -ac $AUDIO_CODEC -a "$AUDIO" -a "$SECONDARY_AUDIO_DEVICE" -f $FRAMERATE -r $REPLAYDURATION -o "$OUTPUTDIR" -mf $MAKEFOLDERS $ADDITIONAL_ARGS -cr $COLOR_RANGE -keyint $KEYINT'
|
Environment=ENCODER=gpu
|
||||||
|
ExecStart=/bin/sh -c 'AUDIO="${AUDIO_DEVICE:-$(pactl get-default-sink).monitor}"; gpu-screen-recorder -v no -w $WINDOW -c $CONTAINER -q $QUALITY -k $CODEC -ac $AUDIO_CODEC -a "$AUDIO" -a "$SECONDARY_AUDIO_DEVICE" -f $FRAMERATE -r $REPLAYDURATION -o "$OUTPUTDIR" -mf $MAKEFOLDERS $ADDITIONAL_ARGS -cr $COLOR_RANGE -keyint $KEYINT -encoder $ENCODER'
|
||||||
KillSignal=SIGINT
|
KillSignal=SIGINT
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
RestartSec=5s
|
RestartSec=5s
|
||||||
|
|||||||
@@ -90,6 +90,8 @@ static void gsr_video_encoder_software_copy_textures_to_frame(gsr_video_encoder
|
|||||||
const unsigned int formats[2] = { GL_RED, GL_RG };
|
const unsigned int formats[2] = { GL_RED, GL_RG };
|
||||||
for(int i = 0; i < 2; ++i) {
|
for(int i = 0; i < 2; ++i) {
|
||||||
encoder_software->params.egl->glBindTexture(GL_TEXTURE_2D, encoder_software->target_textures[i]);
|
encoder_software->params.egl->glBindTexture(GL_TEXTURE_2D, encoder_software->target_textures[i]);
|
||||||
|
// We could use glGetTexSubImage and then we wouldn't have to use a specific linesize (LINESIZE_ALIGNMENT) that adds padding,
|
||||||
|
// but glGetTexSubImage is only available starting from opengl 4.5.
|
||||||
encoder_software->params.egl->glGetTexImage(GL_TEXTURE_2D, 0, formats[i], GL_UNSIGNED_BYTE, frame->data[i]);
|
encoder_software->params.egl->glGetTexImage(GL_TEXTURE_2D, 0, formats[i], GL_UNSIGNED_BYTE, frame->data[i]);
|
||||||
}
|
}
|
||||||
encoder_software->params.egl->glBindTexture(GL_TEXTURE_2D, 0);
|
encoder_software->params.egl->glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user