Closed YozoraWolf closed 7 months ago
I've tried all codecs to no avail
do you mean that you tried all audio codecs? what does the terminal output look like if you use -ac aac
instead?
the issue is because of the old ffmpeg version and it should work if you use the flatpak version (which comes with ffmpeg version 6.1), but i'll try and fix this after I install linux mint 21 when I have time.
ffmpeg 4.4 requires use of old functions that cant be used in ffmpeg 6.
Old versions of ffmpeg are not tested so there could be other bugs as well.
I pushed a test fix to git, can you do a git pull & install and try again? I haven't been able to test it yet but if this works it saves me time having to setup another distro on my computer
do you mean that you tried all audio codecs? what does the terminal output look like if you use
-ac aac
instead? the issue is because of the old ffmpeg version and it should work if you use the flatpak version (which comes with ffmpeg version 6.1), but i'll try and fix this after I install linux mint 21 when I have time. ffmpeg 4.4 requires use of old functions that cant be used in ffmpeg 6.Old versions of ffmpeg are not tested so there could be other bugs as well.
Thank you for the support!
with aac it outputs:
gpu-screen-recorder -w screen -fm cfr -f 60 -a bluez_sink.C0_91_B9_DE_7C_AE.a2dp_sink.monitor -ac aac -k hevc -c mp4 -r 60 -o /home/wolf/Videos
[hevc_nvenc @ 0x5638876ff5c0] ignoring invalid SAR: 0/0
[SWR @ 0x7fbb68000900] Input channel layout "" is invalid or unsupported.
[SWR @ 0x7fbb68000900] Context has not been initialized
[aac @ 0x563887cd2340] Input contains (near) NaN/+-Inf
Failed to encode audio!
[aac @ 0x563887cd2340] Input contains (near) NaN/+-Inf
Failed to encode audio!
[aac @ 0x563887cd2340] Input contains (near) NaN/+-Inf
Failed to encode audio!
[aac @ 0x563887cd2340] Input contains (near) NaN/+-Inf
Failed to encode audio!
[aac @ 0x563887cd2340] Input contains (near) NaN/+-Inf
I see, I did install the flatpak version from the Software Manager, however I did try to install the latest build manually. (I tried upgrading to latest version to see if it was a version bug, but I had another error with I totally forgot about, it was like a week ago)
Flatpak version seems to be 7:4.4.2-0ubuntu0.22.04.1 . I'll try to reinstall ffmpeg to see if that works.
It would be good to add it as a note for future users.
There is another issue with audio I will add in a separate issue since I've been using two audio sinks.
Thank you, @dec05eba ^^
Flatpak version seems to be 7:4.4.2-0ubuntu0.22.04.1 . I'll try to reinstall ffmpeg to see if that works.
the flatpak version of gpu screen recorder includes its own ffmpeg so it will always be the same version for everybody, so im not sure what you mean.
But also can you try this:
I pushed a test fix to git, can you do a git pull & install and try again? I haven't been able to test it yet but if this works it saves me time having to setup another distro on my computer
the flatpak version of gpu screen recorder includes its own ffmpeg so it will always be the same version for everybody, so im not sure what you mean.
Oh, I meant this. What I meant to say is that I did try to install the latest version of ffmpeg like a week ago, but it brought another bug, so I uninstalled and installed the flatpak version instead.
But also can you try this:
I pushed a test fix to git, can you do a git pull & install and try again? I haven't been able to test it yet but if this works it saves me time having to setup another distro on my computer
Will do as soon as I can, thanks.
But also can you try this:
I pushed a test fix to git, can you do a git pull & install and try again? I haven't been able to test it yet but if this works it saves me time having to setup another distro on my computer
Output:
wolf@wolf-mint:~/.gsr$ gpu-screen-recorder -w screen -fm cfr -f 60 -a bluez_sink.C0_91_B9_DE_7C_AE.a2dp_sink.monitor -ac opus -k hevc -c mp4 -r 60 -o /home/wolf/Videos
[hevc_nvenc @ 0x55f0bd706e80] ignoring invalid SAR: 0/0
[hevc_nvenc @ 0x55f0be5e4fc0] ignoring invalid SAR: 0/0
Warning: opus audio codec is chosen but your ffmpeg version does not support s16/flt sample format and performance might be slightly worse. You can either rebuild ffmpeg with libopus instead of the built-in opus, use the flatpak version of gpu screen recorder or record with flac audio codec instead (-ac flac). Falling back to fltp audio sample format instead.
[SWR @ 0x7f1874000900] Input channel layout "" is invalid or unsupported.
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
[SWR @ 0x7f1874000900] Context has not been initialized
^C[SWR @ 0x7f1874000900] Context has not been initialized
wolf@wolf-mint:~/.gsr$ ^C
wolf@wolf-mint:~/.gsr$ gpu-screen-recorder -w screen -fm cfr -f 60 -a bluez_sink.C0_91_B9_DE_7C_AE.a2dp_sink.monitor -ac aac -k hevc -c mp4 -r 60 -o /home/wolf/Videos
[hevc_nvenc @ 0x55fa36e9e480] ignoring invalid SAR: 0/0
[hevc_nvenc @ 0x55fa37d7be40] ignoring invalid SAR: 0/0
[SWR @ 0x7fae68000900] Input channel layout "" is invalid or unsupported.
[SWR @ 0x7fae68000900] Context has not been initialized
[aac @ 0x55fa3834f200] Input contains (near) NaN/+-Inf
Failed to encode audio!
[aac @ 0x55fa3834f200] Input contains (near) NaN/+-Inf
Failed to encode audio!
[aac @ 0x55fa3834f200] Input contains (near) NaN/+-Inf
Failed to encode audio!
[aac @ 0x55fa3834f200] Input contains (near) NaN/+-Inf
Failed to encode audio!
[aac @ 0x55fa3834f200] Input contains (near) NaN/+-Inf
I reinstalled gsr, should I try reinstalling another version of ffmpeg instead?
P.S.: would it be possible to include build version with --help
?
Thanks, i'll install linux mint 21 and fix it. But for now you can use the flatpak version of gpu screen recorder instead which doesn't have this issue.
Thanks, i'll install linux mint 21 and fix it. But for now you can use the flatpak version of gpu screen recorder instead which doesn't have this issue.
I'll keep that in mind, thanks.
I will probably wait for a patch, I use gsr cli scripts to manage all actions, so I'm not sure the gtk version would help me on this.
But I'll keep you posted about the issue!
Again thank you for the support, keeping this open until you decide what can be done further!
I will probably wait for a patch, I use gsr cli scripts to manage all actions, so I'm not sure the gtk version would help me on this.
You can actually launch gpu screen recorder cli with the flatpak as well, just replace gpu-screen-recorder
with flatpak run --command=gpu-screen-recorder com.dec05eba.gpu_screen_recorder
in the command, so for example\
gpu-screen-recorder -w screen -fm cfr -f 60 -a bluez_sink.C0_91_B9_DE_7C_AE.a2dp_sink.monitor -ac opus -k hevc -c mp4 -r 60 -o /home/wolf/Videos
\
becomes\
flatpak run --command=gpu-screen-recorder com.dec05eba.gpu_screen_recorder -w screen -fm cfr -f 60 -a bluez_sink.C0_91_B9_DE_7C_AE.a2dp_sink.monitor -ac opus -k hevc -c mp4 -r 60 -o /home/wolf/Videos
killall --- commands to stop/save with gpu screen recorder also works when running flatpak like this, so it works the same way. The main difference between installing from source and the flatpak version is that the flatpak version will ask for root password the first time you record your monitor for root permission (except on nvidia on x11). When you install from source it removes having to do this one step once.
I will probably wait for a patch, I use gsr cli scripts to manage all actions, so I'm not sure the gtk version would help me on this.
You can actually launch gpu screen recorder cli with the flatpak as well, just replace
gpu-screen-recorder
withflatpak run --command=gpu-screen-recorder com.dec05eba.gpu_screen_recorder
in the command, so for examplegpu-screen-recorder -w screen -fm cfr -f 60 -a bluez_sink.C0_91_B9_DE_7C_AE.a2dp_sink.monitor -ac opus -k hevc -c mp4 -r 60 -o /home/wolf/Videos
becomesflatpak run --command=gpu-screen-recorder com.dec05eba.gpu_screen_recorder -w screen -fm cfr -f 60 -a bluez_sink.C0_91_B9_DE_7C_AE.a2dp_sink.monitor -ac opus -k hevc -c mp4 -r 60 -o /home/wolf/Videos
killall --- commands to stop/save with gpu screen recorder also works when running flatpak like this, so it works the same way. The main difference between installing from source and the flatpak version is that the flatpak version will ask for root password the first time you record your monitor for root permission (except on nvidia on x11). When you install from source it removes having to do this one step once.
wolf@wolf-mint:~$ flatpak run --command=gpu-screen-recorder com.dec05eba.gpu_screen_recorder -w screen -fm cfr -f 60 -a bluez_sink.C0_91_B9_DE_7C_AE.a2dp_sink.monitor -ac opus -k hevc -c mp4 -r 60 -o /home/wolf/Videos
[hevc_nvenc @ 0x55621c2aca00] ignoring invalid SAR: 0/0
[hevc_nvenc @ 0x55621c2aca00] ignoring invalid SAR: 0/0
update fps: 247
update fps: 247
update fps: 247
update fps: 246
update fps: 247
update fps: 247
update fps: 247
update fps: 247
Great! Works like a charm, will be using the CLI from the flatpak then :)
Thanks for the continued support, @dec05eba !
Ok so I tried it on linux mint 21.3 and I cant reproduce this issue there. The warning and error doesn't show up for me and the audio works fine. Can you run this ldd $(which gpu-screen-recorder) | grep libav
and post the output here? are you using libav* (ffmpeg) libraries installed from the package manager?
Ok so I tried it on linux mint 21.3 and I cant reproduce this issue there. The warning and error doesn't show up for me and the audio works fine. Can you run this
ldd $(which gpu-screen-recorder) | grep libav
and post the output here? are you using libav* (ffmpeg) libraries installed from the package manager?
I might be missing libav* , since nothing is being output. (Which is curious because I'm using ffmpeg straight from the package manager)
That doesn't make sense, its a required dependency. Unless you are using ffmpeg before it split to different libraries, in which case it would be a very very old version of ffmpeg libraries. Can you post the output of ldd $(which gpu-screen-recorder)
instead?
That doesn't make sense, its a required dependency. Unless you are using ffmpeg before it split to different libraries, in which case it would be a very very old version of ffmpeg libraries. Can you post the output of
ldd $(which gpu-screen-recorder)
instead?
linux-vdso.so.1 (0x00007ffef01bf000)
libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007efbfd83e000)
libXcomposite.so.1 => /lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007efbfd839000)
libXrandr.so.2 => /lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007efbfd82c000)
libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007efbfd824000)
libpulse.so.0 => /lib/x86_64-linux-gnu/libpulse.so.0 (0x00007efbfd7cf000)
libva.so.2 => /lib/x86_64-linux-gnu/libva.so.2 (0x00007efbfd79d000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007efbfd6b4000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007efbfd696000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007efbfd66b000)
libva-drm.so.2 => /lib/x86_64-linux-gnu/libva-drm.so.2 (0x00007efbfd666000)
libva-x11.so.2 => /lib/x86_64-linux-gnu/libva-x11.so.2 (0x00007efbfd65e000)
libdrm.so.2 => /lib/x86_64-linux-gnu/libdrm.so.2 (0x00007efbfd648000)
libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007efbfd63b000)
libwayland-egl.so.1 => /lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007efbfd636000)
libwayland-client.so.0 => /lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007efbfd625000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007efbfd3f9000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007efbfd3d9000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007efbfd1b0000)
libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007efbfd184000)
libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007efbfd16f000)
libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007efbfd162000)
libpulsecommon-15.99.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-15.99.so (0x00007efbfd0dd000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007efbfd08f000)
/lib64/ld-linux-x86-64.so.2 (0x00007efc00569000)
libX11-xcb.so.1 => /lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007efbfd088000)
libxcb-dri3.so.0 => /lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007efbfd081000)
libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007efbfd074000)
libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007efbfd06e000)
libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007efbfd066000)
libsndfile.so.1 => /lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007efbfcfe5000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007efbfcf1e000)
libasyncns.so.0 => /lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007efbfcf16000)
libapparmor.so.1 => /lib/x86_64-linux-gnu/libapparmor.so.1 (0x00007efbfcf01000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007efbfcee9000)
libFLAC.so.8 => /lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007efbfceab000)
libvorbis.so.0 => /lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007efbfce7e000)
libvorbisenc.so.2 => /lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007efbfcdd3000)
libopus.so.0 => /lib/x86_64-linux-gnu/libopus.so.0 (0x00007efbfcd76000)
libogg.so.0 => /lib/x86_64-linux-gnu/libogg.so.0 (0x00007efbfcd6b000)
libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007efbfcc9c000)
liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007efbfcc7a000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007efbfcb31000)
libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x00007efbfcb24000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007efbfcafe000)
I'm just as confused as you are. I'm still running the Package Manager version:
ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
Haven't updated it yet.
Can you run pkg-config --modversion libavcodec
and post the output here?
Can you run
pkg-config --modversion libavcodec
and post the output here?
61.1.101
huh? thats newer than arch linux one. Have you possibly corrupted ffmpeg library files on your system by installing ffmpeg from source?
huh? thats newer than arch linux one. Have you possibly corrupted ffmpeg library files on your system by installing ffmpeg from source?
I've possibly done so when I built from source and then reinstalled flatpak one. So perhaps the issue lies there, a corrupt ffmpeg reinstall :/ That kinda sucks
maybe it can be fixed if you reinstall ffmpeg from the package manager, or look if you see the libav* files in another location such as /usr/local/lib, in which case you should remove them. But you should do that by running uninstall command from the ffmpeg source to make sure it removes all the ffmpeg files
But it's also possible that the issue you see here is something that new ffmpeg will cause in gpu screen recorder and then it will have to be fixed. But i'll see that when its released. I'll close this issue for now as I believe it's an issue you will have to fix on your system. You can re-open this issue if you know for sure that it uses your distros ffmpeg and still has this issue.
Describe the bug
When starting replay I get this bug:
I've tried recording with no audio and the problem fixes itself, which leads me to believe this is an issue with audio (which could be or not related to ffmpeg)
To Reproduce The GPU Screen Recorder command you ran or if you used the GUI version then describe which options you used.
Just running:
Expected behavior
The error should not show up, audio should be clear and correct when saving.
Screenshots
The program IS running, so I can save it but then it sounds like this:
https://github.com/dec05eba/gpu-screen-recorder-issues/assets/5296711/2c5e4a38-82ad-44f7-9368-49105f51a040
Desktop (please complete the following information):
Additional context
I've tried all codecs to no avail, this is my ffmpeg version:
ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
(flatpak)System Info:
I have 2 speakers: -- Built-in Laptop Speakers -- Bluetooth Speaker (Active)
Optimus is disabled in BIOS.
Help would be appreciated, sorry if it may not be related.
Thanks
mpv --no-config video.mp4
(if applicable)