marissa999 / decky-recorder Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
The shortcut to enable replay more in the version 0.2.0 of the Deck Recorder conflicts with the shortcut to display keyboard when you use the Nintendo button layout on the Steam Deck settings.
As it stands the configuration menu isn't very intuitive, and I think there are a couple of changes that could be made to massively improve it's usability.
First of all, I can't quite understand why the file format option is disabled when replay mode is enabled.
The only thing I can think of is that changing it while replay is enabled could cause the cache to get weird, but would it not be better to keep the option enabled and flush the cache if it's changed? It took me a second to realise why it wasn't working.
Secondly, it would be nice to be able to customise the length of the buffer and how much it saves.
As of now, my understanding is that it will always loop record the last 5 minutes, which can take up a decent chunk of ram. Personally I'd rather have the loop be shorter, say two minutes, but have the entire two minutes be saved whenever I press the keybind rather than just 30 seconds. As it is now the only way to save longer clips is to go into the menu, which is fairly cumbersome in games where you can't pause easily.
Having options for buffer length and keybind record length would be good, but has the potential to get overly complicated since then you've got 3 separate options - Buffer length, keybind record length, and manual record buttons.
Personally, my solution to that would be to simplify the menu substantially to have you select the length of your recording loop, and then have the keybind save the entire loop. Then also have the keybind be the only way in which you save clips, rather than having multiple time options. It's simpler to understand conceptually, and also makes the plugin much easier to operate.
Finally, it would be extremely useful to be able to choose the location of the saved video files. Being able to set the record folder to the SD card would make managing clips much easier, especially for people with smaller onboard storage.
Really love the plugin, this functionality is the one thing I wish the deck had natively. Awesome work implementing it!
Decky Recorder is always set to *.MP4 by default, no matter what setting you changed prior to you rebooting your Steam Deck.
It would be great to have Decky Recorder remember your last set format for the next time you activate Replay Mode.
Is it just me or every have this issue when you tap Start recording the plugin just jumps to Replay mode and does not record anything
I am new to GitHub, apologies in advance if I do or say something incorrect. I am a little confused about how this plugin works. I understand the normal recorder, pressing start and stop, and picking the file format. It's the replay system I don't understand.
Is it only recording in the background when the toggle is on? Why do I have to turn off replay to record a normal video? What is the 30 sec, 1 min, 2 min, 5 min, buttons for? Is there a way to have Steam+Y save more than 30 sec?
I sometimes don't understand really simple things, I hope this doesn't come across as rude, I am just confused how this works.
Since having replay enabled can cause performance issues on some heavier titles and there already is a shortcut for enabling it (Steam + Start/Y), I suppose there should be a shortcut for disabling it, too.
If not otherwise in use, I'd suggest Steam + Select.
In case of my favorite title on the Steam Deck, Fall Guys, I could enable replay once I reach the final round with less players than the rounds before and could disable it afterwards to not harm my framerate in the first games of the next round where there are a lot more players (and hence a neeed for ressources).
I know I'm already able to this via the menu, but a shortcut would be welcome.
no video is made after recording
"using the plugin (version 0.10 on Decky v2.6.1-pre2) causes SteamOS crash whilst docked to external screen in gaming mode
On latest version on Stable SteamOS if that makes any difference"
https://discord.com/channels/960281551428522045/1079884555386892359/1079885860985647124
I can as of now not see any reason, why the crash is happening. It feels like it should work, the resolution should not matter, and even if gstreamer has an issue, it shouldnt crash the whole deck and instead just exit? Maybe its a driver/gpu issue? I will have to debug that a bit more, somehow
Hi,
0.2.1 changes the keybind to take a recording to Steam+Start, instead of Steam+Y (6f78b55)
Unfortunately, this new keybind doesn't seem to work for me. When pressing the combination, the Steam menu will open instead, and no recording will occur. This happens even after a reboot.
If any other information is needed, please let me know!
I used the plugin for the first time today. I watched the recording later and noticed the audio recorded was in mono, not stereo? What would be the reason for that?
A big issue for people with a 64 GB model of the Steam Deck is minimal storage space after awhile. Even if you factory reset, and reinstall the bare essentials, it gets tedious after awhile.
I don't know the full capabilities of this plug in yet, or if it'll even be possible, but letting the user decide to output the recorded videos to a folder on their external drive or mounted micro SD card would be a godsend, cause even a 10 minute video could end up being over 2 GB in size depending on the quality.
Selecting codec such as x264 or x265
Select container format such as mp4 or something else
Similar to shotty deck plug-in leaving, each recording in a file with the game folder.
I tired to use it to record a Speedrun of the game but it caused the steamdeck to crash.
video audio not working
Twice in a row now the plugin didn't save my last capture of about 20 minutes (.mov). Is this a known issue? After making a few recordings in a row, I switched to Desktop Mode and there was no trace of the last capture in both cases.
It might be similar to [the issues in this post].(https://www.reddit.com/r/SteamDeck/comments/11cj1of/decky_recorder_not_saving/?utm_source=share&utm_medium=android_app&utm_name=androidcss&utm_term=1&utm_content=share_button)
Thank you so much for all the effort!
hi hi,
I'm not sure if this is due to decky-recorder - it might not be, but just mentioning in case you see another report:
I saw this plugin on the testing store and it is a really slick idea. And it worked for the one test video I tried. But a strange thing: the next time I rebooted my steamdeck it got stuck in a boot loop with a flickering black screen. I took at look with top/ps and saw there was some sort of Steam script trying to cope with the Steam UI app not launching and repeatedly relaunching it unsuccessfully.
Alas - I didn't have time to investigate more than that and just reinstalled the Steam userspace apps/config file.
It might not be due to decky-recorder, but I've never had this problem on my steamdeck before.
when the plugins are clicked and to decky recorder, sometimes there are no menu for it like only the back icon and the title are present. no replay mode option, no start recording button just empty
Especially, if it was interrupted by an error.
Does Decky support notifications for plugins?
EDIT: actually, it's not necessary at start and end. But when error happens - would be nice to know.
I doubt there's much to fix here but I might as well ask. Doesn't Decky Recorder use the resources usually reserved for Steam stuff and not the ones used by the game? If that's the case why does it crash the game sometimes? Should be linked to it being resource intensive since I've never had the other games crash on me after pressing Steam + Y
Hey, there. I love this project of yours and I have to say it's one of the best things I've seen in a very long time.
I would just love if there was a way if checking if it's actually recording or not.
At the moment I had to play the same game for a few hours because I thought it was recording when it wasn't and I can't understand how long does it usually record. I saw that some videos are around 15 minutes, others longer but it's very hard to understand. Is there a way to add a feature so we could see if it's recording? I know it probably isn't but would save a lot of trouble. Thank you for your amazing work, by the way. โค
From discord:
If you create a window and give it the window property "GAMESCOPE_EXTERNAL_OVERLAY"
Gamescope will render it on top like the steam one
Ive been using this plugin for a week now and ive been wondering if there is support for microphone recording at the same time, if there is how can I use it?
I think it'd be nice to be able to have one video folder per game. Would that be hard to do ?
Thanks for the plugin, it's awesome
What I did:
Issues:
This happens on the Deck itself as well as when docked putting out to a 1080p60 TV.
I'm not sure yet whether other Steam FPS limits than 60 (e.g. 40) work.
It might be an incompatibility between the binaries/libs we're shipping and what is in the new OS.
Not sure if it's possible, but would be way easier than going all the way back to desktop mode just to review footage
Found that when i'm using bluetooth headphones recorder is not working(notifications appear: too early to record another clip. When disconnecting headphones, recorder work's awesome.
When your plugin does work, it manages to record every game I play. While OBS on the other hand only manages to capture a handful of certain games. I would like to have a plugin that allows me to connect to my twitch account, type in the name for my stream, and then with the click of a button start streaming my Steam Deck on Twitch.
Also, Amazon's Luna cloud gaming service has this functionality (streaming gameplay to twitch on device) built in. So, I think building it for the Steam Deck would be worthwhile.
(I'm also interested in working with you, because I would like to learn how to make my own steam deck plugins. It sounds like a lot of fun.)
The plugin used to work for a few clips but now I always get this error message. Not linked to any particular game. My deck is also pretty vanilla since I just got a replacement model. Decky Recorder is basically the only non-stock thing I use.
The title says it all. This can probably be fixed by making sure the directory exists each time you start recording, and recreating it if it doesn't
I use desktop mode often to play games on my steam deck, and it would be really nice to be able to set a keyboard shortcut to save a replay with so you don't have to press buttons on the console in order to quickly save something.
This may out of scope for this project, however a button visualizer is mostly useful when recording videos. I understand that implementing may be quite challenging. However if you do consider implementing it, I'd like to request Steam Deck buttons showing up on the lower right, and redirected input (if any) on the bottom right.
According to SteamDeckHomebrew/decky-plugin-database#235 (comment) and SteamDeckHomebrew/decky-plugin-database#243 (review) sometimes, but now always, is the performance not as good as you might hope or expect. Maybe I could try to lower the process priority?
capture not working when bluetooth earphone used.
record works fine when i use wired earphone or steamdeck speaker.
but, if i use bluetooth earphone, it's not work.
i tested airpods 3rd generation and cx350bt.
If I play with a PS5 controller, then pressing Steam + Y (or rather PS + Triangle) will turn off the controller. This is Steam's shortcut, and I don't know if there's a way to turn it off. Pretty inconvevient when using an external controller.
That being said, I'm super excited to see to see something like this being developed!
title. cant turn replay mode off. turning it off, starting a recording then going back shows it on again.
When trying to play a recorded mp4 video on iOS or a Mac using Quicktime/Final Cut Pro, the sound wouldn't play through properly. This may be because the audio format currently being used (mpga) is not supported by those devices/programs. Is it possible to have this plugin use an audio format that's more universal, such as AAC? I don't know the technical side of how this all functions, so if there's a proper reason why this is the case then I'd understand.
I'm running into numerous issues with this plugin.
Quite often when going into the plugin page from Decky Loader, I'll click Decky Recorder and the page is completely blank. No options or anything. When I can get the options to actually show up I have numerous other issues crop up.
If I activate Replay Mode, using the hotkey (Steam+Y) it does nothing. When I go back to check the Plugin, Replay Mode is turned off. Turning it back on, and the same thing happens. It turns itself off.
I have been able to record a couple clips, but more often than not I will get a message that says I can't record another clip even though it isn't recording anything. When I try to manually record something, I'll click Start Recording and when I go back to the options to stop recording it shows its hasn't been recording anything. It seems as soon as I close the menu it completely stops.
I have removed the plugin and reinstalled it but the problems persist.
I had Decky Recorder working fine on Decky Loader 2.10.3, but upon updating to 2.10.4, it stopped working.
When I start the Deck now, the Instant Replay button stays locked to on. Turning it off and exiting / re-entering the menu shows it as still on, and any attempts to capture an Instant Replay causes the generic "Not enough time has passed to do a replay" error. I've tried multiple re-installations of Decky Loader and Decky Recorder, but I've not done a Decky Loader re-install that involved deleting the config.
Is anyone on 2.10.4 having the same issue? I've noticed that this project seems to be really slow going unfortunately, because it's one of the best plugins on the Deck, and I would hate to see this issue persist, like the Bluetooth headphones issue. This new issue really kills this plugin if I'm not the only one.
Even when I press the options and not the Steam + Start.
Currently, replay mode is enabled once you hit the shortcut in-game THEN it starts recording once you hit the shortcut again. it should be enabled globally by default at all times if you enable it in settings, so you don't miss on clips because you forgot to enable it when launching a game.
Decky Recorder not recording when using bluetooth audio, works fine on wired headphones and internal speaker, but when connected to bluetooth headphones (airpods) it just won't start recording.
Edited: Just saw the same post...
The current maintained version of this plugin is here: https://github.com/safijari/decky-recorder-fork
Please open the issue there instead.
#24 should solve this
If I'm not mistaken the magic happens here:
Lines 101 to 114 in aa6b358
So, we're using gst-launch-1.0
to grab the video stream via pipewiresrc
and encode it with vaapih264enc
.
I'm not sure what vaapipostproc
is doing exactly, tbh.
However, vaapih264enc
has several options to influence video quality: https://gstreamer.freedesktop.org/documentation/vaapi/vaapih264enc.html?gi-language=python
Mainly things like bitrate
and quality-level
, but others as well.
Has any effort been put into testing out these parameters and their influence on the required ressources and the quality of the video output yet?
As far as I can tell it is running with the default parameters and if the documentation is to believed, that means it's using quality-factor=26
[link] and quality-level=4
[link], which are probably the most important parameters.
Since filesize isn't that important for 30 seconds clips, I'd argue increasing the quality-level
(less quality, faster encode, bigger filesize) could alleviate some of those ressource bottlenecks during gameplay and still grant acceptable results.
Keep in mind I haven't tested any of this yet.
Well like I stated I am wondering if when I start a recording though the Decky loader how can I end they recording with out going back to Decky loader to turn the recording off and ruin my recording to the point I have to edit stuff out! Is there a short cut to end recording (long recordings) if not can something be implemented like when you go to turn off recording it does not show that is what you are doing in the recording? Also these new issues when will they be fixed.
Hello@all
Since the latest (it could have been 2 or 3 updates) preview steam client update, the recorder no longer works for me. The "/tmp/decky-recorder.log" says the following:
Decky Recorder: 2023-08-09 20:57:12,795 INFO Traceback (most recent call last):
File "/home/deck/homebrew/plugins/decky-recorder/main.py", line 29, in
import psutil
File "/usr/lib/python3.10/site-packages/psutil/init.py", line 102, in
from . import _pslinux as _psplatform
File "/usr/lib/python3.10/site-packages/psutil/_pslinux.py", line 26, in
from . import _psutil_linux as cext
ImportError: cannot import name '_psutil_linux' from partially initialized module 'psutil' (most likely due to a circular import) (/usr/lib/python3.10/site-packages/psutil/init.py)
Decky Recorder: 2023-08-09 20:57:12,796 INFO Loading config
Immediately after a restart, the switch for the replay mode is on, if I deactivate it, close the recorder and open it again, it is on again, the recording buttons are grayed out and cannot be selected.
Starting a recording doesn't work either
Decky Recorder: 2023-08-09 21:13:02,717 INFO Is capturing? False
Decky Recorder: 2023-08-09 21:13:02,731 INFO Is Rolling? False
Decky Recorder: 2023-08-09 21:13:02,749 INFO Current mode: localFile
Decky Recorder: 2023-08-09 21:13:02,770 INFO Current local filepath: /home/deck/Videos
Decky Recorder: 2023-08-09 21:13:02,780 INFO Current local file format: mp4
Decky Recorder: 2023-08-09 21:15:22,217 INFO Disable rolling was called begin
Decky Recorder: 2023-08-09 21:15:22,217 INFO Is capturing? False
Decky Recorder: 2023-08-09 21:15:22,217 INFO Deleted all files in rolling buffer
Decky Recorder: 2023-08-09 21:15:22,217 INFO Disable rolling was called end
Decky Recorder: 2023-08-09 21:15:27,802 INFO Starting recording
Decky Recorder: 2023-08-09 21:15:27,803 INFO Starting recording for mp4 with mux mp4mux
Decky Recorder: 2023-08-09 21:15:27,803 INFO Is capturing? False
Decky Recorder: 2023-08-09 21:15:27,803 INFO Stopping recording
Decky Recorder: 2023-08-09 21:15:27,803 INFO Is capturing? False
Decky Recorder: 2023-08-09 21:15:27,803 INFO Error: No recording process to stop
Decky Recorder: 2023-08-09 21:15:27,803 INFO Traceback (most recent call last):
File "/home/deck/homebrew/plugins/decky-recorder/main.py", line 77, in start_capturing
await Plugin.clear_rogue_gst_processes(self)
File "/home/deck/homebrew/plugins/decky-recorder/main.py", line 60, in clear_rogue_gst_processes
gst_pids = find_gst_processes()
^^^^^^^^^^^^^^^^^^^^
File "/home/deck/homebrew/plugins/decky-recorder/main.py", line 37, in find_gst_processes
for child in psutil.process_iter():
^^^^^^
NameError: name 'psutil' is not defined
Decky Recorder: 2023-08-09 21:16:43,372 INFO Is capturing? False
Decky Recorder: 2023-08-09 21:16:43,467 INFO Is Rolling? False
Decky Recorder: 2023-08-09 21:16:43,490 INFO Current mode: localFile
Decky Recorder: 2023-08-09 21:16:43,522 INFO Current local filepath: /home/deck/Videos
Decky Recorder: 2023-08-09 21:16:43,532 INFO Current local file format: mp4
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.