MaartenBaert / ssr

SimpleScreenRecorder, a screen recorder for Linux
http://www.maartenbaert.be/simplescreenrecorder/
GNU General Public License v3.0
2.53k stars 286 forks source link

Add on-screen keyboard indicator and mouse click indicator #259

Open alexandernst opened 9 years ago

alexandernst commented 9 years ago

It would be nice if SSR could actually show what keys/mouse buttons are pressed while recording.

StripedMonkey commented 9 years ago

Are there not programs that already do this?

alexandernst commented 9 years ago

Yes, there are. I use key-mon, but it would be nice if SSR could do that natively, like some propietary (and FOSS) apps (Kazam, for example).

StripedMonkey commented 9 years ago

SSR needs a better key logger than what it has already, the current one cannot detect some key's also where would you put said box that shows what is being pressed? Is it called a key logger right?

On Thu, Nov 6, 2014 at 3:44 AM, Alexander Nestorov <notifications@github.com

wrote:

Yes, there are. I use key-mon, but it would be nice if SSR could do that natively, like some propietary (and FOSS) apps (Kazam, for example).

— Reply to this email directly or view it on GitHub https://github.com/MaartenBaert/ssr/issues/259#issuecomment-61943176.

alexandernst commented 9 years ago

No, you wouldn't put it anywhere. The idea is the video that is being recorded to be rendered in an overlay with the keys that are pressed. Have a look at this example: https://www.youtube.com/watch?v=2GqCu0wI-hc

StripedMonkey commented 9 years ago

Hmm... I like that. you still need to be able to position the location that it appears in the video. And then you are entering the realm of a video editor. I like the concept but have no idea how it would be effectively implemented.

On Thu, Nov 6, 2014 at 8:56 AM, Alexander Nestorov <notifications@github.com

wrote:

No, you wouldn't put it anywhere. The idea is the video that is being recorded to be rendered in an overlay with the keys that are pressed. Have a look at this example: https://www.youtube.com/watch?v=2GqCu0wI-hc

— Reply to this email directly or view it on GitHub https://github.com/MaartenBaert/ssr/issues/259#issuecomment-61981709.

alexandernst commented 9 years ago

The initial implementation could do just fine the same way most screencasters do it, like in the video. It covers the vast majority of cases, imho.

StripedMonkey commented 9 years ago

Fine this needs webcam support to then I think that that would be wanted more than a key logger. I sure am negotiating like a pro ;) even though Mr.Baert has said nothing about this.

On Thu, Nov 6, 2014 at 5:15 PM, Alexander Nestorov <notifications@github.com

wrote:

The initial implementation could do just fine the same way most screencasters do it, like in the video. It covers the vast majority of cases, imho.

— Reply to this email directly or view it on GitHub https://github.com/MaartenBaert/ssr/issues/259#issuecomment-62061415.

MaartenBaert commented 9 years ago

The hotkey listener has already been extended to the point where it essentially doubles as a keylogger, at least for everyone who has XInput2 support, which is pretty much everyone. The key selection is limited because of permission issues with the key grabbing function in X11, but this does not seem to affect the newer XInput2 interface, and definitely not keylogging (which is separate from grabbing). Currently the only thing that's holding back arbitrary hotkeys is the user interface, and I am already working on that in the record-schedule branch (which is outdated and broken right now, but I will get back to it when I have more time).

The hard part is displaying the key presses in the video. This - again - requires compositing support, which I still need to add.

StripedMonkey commented 9 years ago

What are your priority's for this project martin? I am not having an issue with your pace or anything but I was just wondering what you are focusing on.

MaartenBaert commented 9 years ago

Right now the first priority is to get the record-schedule branch ready and merge it back into master. I need to do some more refactoring to make that happen. A command-line interface should be possible once that's done. I'm also planning to rewrite a large part of the synchronizer which is necessary to support multiple inputs (both video and audio).

At the same time I'm also working on something that I haven't pushed to github yet - I'm trying to make a simple sound server with support for monitors, which would enable users to record their speakers (a very common request) without being forced to use PulseAudio (which is buggy) or JACK (which is not user-friendly). This is a major project and I don't know yet whether I will be able to complete it.

alexandernst commented 9 years ago

No worries @MaartenBaert Take your time, do it as best as you can :smiley: :+1:

StripedMonkey commented 9 years ago

Hey, I don't think that anyone is complaining, after all this is the best recorder for Linux plus its free I cannot think that anyone will complain if the flow of code slows because you are working on something else. I personally think that this is a good alternative to frapps or any other pay recording software. actually not that I have looked but are there any relevant pay recorders for Linux? I have seen some pathetic pay ones that are not worth their space on the hard drive.

Keep up the good work!

On Wed, Nov 12, 2014 at 1:06 PM, Alexander Nestorov < notifications@github.com> wrote:

No worries @MaartenBaert https://github.com/MaartenBaert Take your time, do it as best as you can [image: :smiley:] [image: :+1:]

— Reply to this email directly or view it on GitHub https://github.com/MaartenBaert/ssr/issues/259#issuecomment-62763206.

ubuntuaddicted commented 9 years ago

obs-studio is a very capable alternative to ssr if you need features which ssr doesn't have incorporated yet like composting (for overlays), multiple video/audio sources, scene switching etc etc. ssr is still preferred for for just capturing raw video game footage without anything else due to its variety of codec's supported whereas obs-studio can only stream/capture flv files.

StripedMonkey commented 9 years ago

Are you advertising or something? the last few posts that I have recieved via email if so please stop the first time it was interesting the second it was annoying.

On Wed, Nov 19, 2014 at 4:11 PM, ubuntuaddicted notifications@github.com wrote:

obs-studio is a very capable alternative to ssr if you need features which ssr doesn't have incorporated yet like composting (for overlays), multiple video/audio sources, scene switching etc etc. ssr is still preferred for for just capturing raw video game footage without anything else due to its variety of codec's supported whereas obs-studio can only stream/capture flv files.

— Reply to this email directly or view it on GitHub https://github.com/MaartenBaert/ssr/issues/259#issuecomment-63714169.

ubuntuaddicted commented 9 years ago

I am not advertising, I was merely sharing alternative solutions which contain specific features that were mentioned. I will not mention OBS on the SSR github again.

Hope you have a great day -Ubu out

On Nov 19, 2014, at 4:13 PM, Noah notifications@github.com wrote:

Are you advertising or something? the last few posts that I have recieved via email if so please stop the first time it was interesting the second it was annoying.

On Wed, Nov 19, 2014 at 4:11 PM, ubuntuaddicted notifications@github.com wrote:

obs-studio is a very capable alternative to ssr if you need features which ssr doesn't have incorporated yet like composting (for overlays), multiple video/audio sources, scene switching etc etc. ssr is still preferred for for just capturing raw video game footage without anything else due to its variety of codec's supported whereas obs-studio can only stream/capture flv files.

— Reply to this email directly or view it on GitHub https://github.com/MaartenBaert/ssr/issues/259#issuecomment-63714169.

— Reply to this email directly or view it on GitHub.

Thanatermesis commented 9 years ago

+1 an on-screen keyboard indicator feature like on that video would be really helpfull to make screencasts, actually I have not see yet any linux app to record videos with this feature

charlesgoyard commented 5 years ago

Hi, maybe this can be implemented as a subtitle track ? Then the subtitle track can be merged on the video after the fact if wanted.

dmxt commented 4 years ago

@charlesgoyard That is a really, really creative idea. I don't think I've ever seen it being done.

Although there is a concern for a specific use case: if the user was speaking on the mic during the screen recording session and upload the video to Youtube where they automatically generate subtitles after the video gets processed, or create a separated transcribed subtitle elsewhere with an editor, we'll have two subtitles, one transcribed and another generated by key input.

How do we tackle this "dual" subtitle issue? Not all video players support double subtitles and some users have subtitles disabled by default for their video player.

When I was thinking about this thought, I started to realize that this feature is entering the subtitle transcription realm and it's more complex than an initial idea.

For example, these are the following thoughts:

It's a cool idea, but there's a lot more to think about before building it.

Quoting my own line: "I don't think I've seen it being done", now I think I know why.

charlesgoyard commented 4 years ago

Indeed, lots of questions come to mind, thanks for sharing :). I don't have an answer for all points, but here is my take on it:

I think with this minimal feature set, we can get something that works for most cases. Since there is no way to cover 100% of use cases anyway, that's not a problem :) .

ghost commented 4 years ago

Although it isn't integrated with SSR, my KmCaster Java app is a remake of key-mon that may prove useful. It would be more arduous than difficult to port. Making it a standalone application that SSR could call (e.g., as a library or external dependency) would increase its usefulness. Here are some useful snippets:

You'll need to use DejaVu Sans because it's the only free, open, sans serif font that supports all the Unicode blocks for the mapped key codes. Here's a video comparing key-mon to KmCaster:

https://github.com/DaveJarvis/kmcaster#comparison

Hope it helps!

MaartenBaert commented 4 years ago

I really like how this tool works, but I agree that implementing this in SSR would be a huge amount of work. I think using a stand-alone application makes far more sense actually, since this way the user can see which part of the screen will be obstructed by the keyboard monitor while doing the recording.

The only issues I've found with the program is that there often appears to be a significant delay between pressing a key and it actually showing up, and the time the key is displayed on screen also seems to vary considerably for no clear reason.

Edit: Apparently it also doesn't detect scroll events, but that's a minor thing.

ghost commented 4 years ago

@MaartenBaert

The only issues I've found with the program is that there often appears to be a significant delay between pressing a key and it actually showing up, and the time the key is displayed on screen also seems to vary considerably for no clear reason. Apparently it also doesn't detect scroll events, but that's a minor thing.

All these have been resolved, thanks for taking a look!