Giter Site home page Giter Site logo

mhsabbagh / green-recorder Goto Github PK

View Code? Open in Web Editor NEW
616.0 19.0 118.0 844 KB

A simple screen recorder for Linux desktop. Supports Wayland & Xorg

License: GNU General Public License v3.0

Python 100.00%
recorder desktop-app linux open-source wayland ffmpeg python xorg desktop audio

green-recorder's People

Contributors

chamfay avatar fitojb avatar gort818 avatar lexruee avatar megavenik avatar mgedmin avatar mhsabbagh avatar moceap avatar orschiro avatar rafael-neri avatar sharkezz avatar top-sekret avatar unixfox avatar vistaus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

green-recorder's Issues

app doesn't run on fedora 26

hello


 tony  ~  green-recorder 
/bin/sh: xdpyinfo: command not found
You are recording on: wayland
/bin/sh: pacmd: command not found
Traceback (most recent call last):
  File "/usr/bin/green-recorder", line 428, in 
    audiosourcesnames = audiosourcesnames.split("\n")[:-1]
NameError: name 'audiosourcesnames' is not defined

GPU acceleration

Does GNOME Screencast use GPU acceleration where possible? I see that in Wayland green-recorder overrides the gstreamer pipeline to use VP8. It should be quite easy to make it use VA-API if gst doesn't automatically try to do that itself. I gather VA-API encoding might be a bit dodgy on non-Intel GPUs, but it could be quite useful if you do have the right hardware.

Icon not showing up

I'm runnning Fedora 25 and Gnome Shell under Wayland. Unfortunately the Icon isn't showing up in the upper right corner.

Any ideas? Maybe it would be good if there was an alternate keyboard combination one could use to cancel the recording.

Otherwise, thanks for the neat application!

Wolf

GIF as an output format

This is a very nice piece of software, thanks for writing it.

Is there any way of adding to the dropdown a .gif option? Would make it easier as I currently convert from .mkv to separate .jpeg's (at a lower framerate), then convert to a .gif using imagemagick.

If there is an easier way of doing this or a button I am missing I apologise.

noise in the recorder video

Hello

First thanks alots for this amazing program

So I have failed in record in mp4 the output file is 0 bit and its completely empty
but its works in avi
the real issues that the output video contain noise
Good luck mate

no way to stop recording

I just tried green-recorder on Fedora 25. It records video just fine, but there's no way to stop it. I'm using Wayland, and there's no icon in the system tray area, and clicking on the orange circle in the top right corner (using any mouse button) doesn't stop it either. Hopefully I started it from the terminal, so I was able to stop it using Ctrl+C.

green-recorder-2.2-1.fc25.noarch

`data_files` installed in the wrong path

On ubuntu 16.10, using the latest master branch (https://github.com/green-project/green-recorder/archive/master.zip) and running python setup.py install, I saw the following error afterwards when trying to run green-recorder:

You are recording on: x11
Traceback (most recent call last):
  File "/usr/local/bin/green-recorder", line 300, in <module>
    builder.add_from_file("/usr/share/green-recorder/ui.glade")
GLib.Error: g-file-error-quark: Failed to open file '/usr/share/green-recorder/ui.glade': No such file or directory (4)

after a bit of debugging I noticed the the data_files were installed under /usr/local/share/ instead of /usr/share/. After manually moving ui.glade and green-recorder.png to the correct folder, the program runs as expected.

This stackoverflow thread explains the problem:
https://stackoverflow.com/a/20370738

Unable to record: ffmpeg error

Here is my output when I start green-recorder

/bin/sh: xdpyinfo: command not found
aserver aserver.c:1033:(main) you need to specify server name
E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: pa_pid_file_create() failed.

Here is my output when I start the recording

1
ffmpeg version 3.3 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 6.3.1 (GCC) 20170306
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-netcdf --enable-shared --enable-version3
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libavresample   3.  5.  0 /  3.  5.  0
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
:0: Invalid argument
ffmpeg not running for some reason. Up you can see the output of ffmpeg.

I am on Archlinux. When I installed green-record with the AUR package, I had to remove the xorg-utils dependency because it no longer exists.

How does the new GIF feature work?

Great addition with GIF!

How does it work exactly? I tried the following settings, did the recording, then get the message that it's now being processed but then never get to see a GIF in my destination folder.

Tested with the latest version on Ubuntu MATE 17.10 Alpha 2.

image

When installing the new green-recorder (-.-) version 3

When installing the new version from the FOSS PPA, I get the error when starting green-recorder:

$ green-recorder
Traceback (most recent call last):
File "/usr/bin/green-recorder", line 66, in
DisplayServer = os.environ["XDG_SESSION_TYPE"]
File "/usr/lib/python2.7/UserDict.py", line 40, in getitem
raise KeyError(key)
KeyError: 'XDG_SESSION_TYPE'

Version 2 works fine, look forward to testing this version 3.x.x once the issue is resolved.

Sincerely,

empty file name creates hidden .webm file

I started a recording and kept the filename field empty. I simply forgot about it, but I instinctively assumed that if I don't fill it in, a reasonable default will be provided (for example something like screencast-<timestamp>.webm). Instead, I stopped the recording and no video file appeared. I assumed that it just wasn't created because I didn't specify the filename. Only later I discovered it created a .web file, which is hidden by definition (starts with a dot). That's quite non-obvious.

Please use a reasonable default if filename is not provided? Or don't allow to start the recording until a filename is provided. (But the first solution is more user friendly).

green-recorder-2.2-1.fc25.noarch

Blank settings window

... if settings window is closed via window control, not 'close' button at the bottom. 3.0.1.2.r2.ge7f877d

Fail to stop recording under wayland

stderr (or out?):

user@host ~ % GDK_BACKEND=x11 green-recorder
aserver aserver.c:1033:(main) you need to specify server name
E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: pa_pid_file_create() failed.
1
Traceback (most recent call last):
  File "/usr/bin/green-recorder", line 160, in stoprecording
    RecorderProcess.terminate()
NameError: global name 'RecorderProcess' is not defined
^C
130 user@host ~ %

Before recording I've unchecked 'record microphone' and set framerate to 15 fps.

error Appindicator3

I have build and install on Fedora 25, but when try to run get this message

Traceback (most recent call last):
  File "/usr/bin/green-recorder", line 20, in <module>
    gi.require_version('AppIndicator3', '0.1')
  File "/usr/lib64/python2.7/site-packages/gi/__init__.py", line 118, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace AppIndicator3 not available

Sound delay

On recorded video there is a sound delay a few seconds.

The name org.gnome.Shell.Screencast was not provided by any .service files

I've got a problem using green-recorder

Traceback (most recent call last):
  File "/usr/bin/green-recorder", line 43, in <module>
    calling = bus.get('org.gnome.Shell.Screencast', '/org/gnome/Shell/Screencast')
  File "/usr/lib/python2.7/site-packages/pydbus/proxy.py", line 47, in get
     0, timeout_to_glib(timeout), None)
GLib.Error: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name 
org.gnome.Shell.Screencast was not provided by any .service files (2)

Did it mean that I should install gnome where I can use this recorder ?

VideosFolder might be None

$ sudo add-apt-repository ppa:mhsabbagh/greenproject
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install green-recorder
$ green-recorder 
Traceback (most recent call last):
  File "/usr/bin/green-recorder", line 201, in <module>
    folderchooser.set_uri("file://" + VideosFolder)
TypeError: cannot concatenate 'str' and 'NoneType' objects

I investigated and I discovered I had XDG_VIDEOS_DIR commented out in ~/.config/user-dirs.dirs.
This could be a show stopper for somebody. Maybe it's worth to attempt to make them fix the problem:

# Get the current name of the Videos folder
VideosFolder = GLib.get_user_special_dir(GLib.USER_DIRECTORY_VIDEOS)
if VideosFolder is None:
  print 'No Videos folder found.'
  print 'Add this line at the end of the file ~/.config/user-dirs.dirs'
  print 'XDG_VIDEOS_DIR="$HOME/Movies"'
  print 'Then run the two commands'
  print 'mkdir -p "$HOME/Movies"'
  print 'xdg-user-dirs-update'
  print 'and start green-recorder again'
  import sys
  sys.exit(1)

or simply

if VideosFolder is None:
  VideosFolder = "."

which should give the expected result of creating the video in the current directory (if run by terminal) or in the home.

Animated GIF export?

Dear all,

What a promising project! :-)

Would it be possible to export videos as animated GIF files?

Yours,

Robert

Some troubleshooting article would be very helpful

Hello
First of all: thanks for your work!
I've tried to use green recorder to capture my screen and sound from my headphones (not a mic, just what I hear). And I was unable to do it - video is just silent.
So any small article how to troubleshoot would be very helpful. Thanks

The "Select Area" Feature Is Extremely Hard To Work With Under Ubuntu 17.04

screenshot
Hello!

Please check the report below:

Description: It is extremely hard to specify the recording area under Kubuntu 17.04. The gray box is very hard to scale and its alpha is 100% - completely opaque. That means I can't see through it. On top of that, The title of that gray box prevents me from determining the top boundary of the selection properly. It is taking me too long to select an area for every video I have. Improving this feature will greatly elevate the power of this amazing tool.

Possible Suggestions:

  1. Make the selection area transparent (Alpha: 0%) in order to see clearly what we are selecting.
  2. Remove the title bar from the gray box selection area in order to see the upper bound of the selection area clearly.
  3. The selection area must be scaled easily from any side without struggling to hit the mouse from its corners. A perfect example of such a feature can be found in the free and open source "Shutter" screenshot program. The selection box is clear and can be easily adjusted from any side or position.

Note: The reason why I am reporting those suggestions in the bugs section is because I suspect there is some kind of bug that is rendering it like that on my system.

System Details:

  • OS: Ubuntu 17.04 zesty
  • Kernel: x86_64 Linux 4.10.0-24-generic
  • Resolution: 3840x2160
  • DE: KDE5
  • WM: KWin
  • CPU: Intel Core i5-6500 CPU @ 3.6GHz
  • GPU: GeForce GTX 1050 Ti
  • RAM: 5606MiB / 15979MiB

Thanks in advance for reading my notes and suggestions.

No module named pydbus

Traceback
(most recent call last):
File "/usr/bin/green-recorder", line 23, in
from pydbus import SessionBus
ImportError: No module named pydbus

Fresh Arch Linux install, installed from AUR.

App is not relocatable

in some places green-recorder has hard wired paths to files. e.g.

indicator = appindicator.Indicator.new("Green Recorder", '/usr/share/pixmaps/green-recorder.png', appindicator.IndicatorCategory.APPLICATION_STATUS)

and:-

builder.add_from_file("/usr/lib/green-recorder/ui.glade")

This assumption breaks the ability for green-recorder to work in some environments. Specifically when containerised or confined, that directory may be somewhere else (relative) on the filesystem, and not at that absolute path.

Audio out of sync

Hi

I'm on Fedora 26 with Wayland, building the rpm from source and my audio goes out of sync.

I've traced the problem on this two ffmpeg flags "-strict -2", which i'm not sure what they should do (I haven't found nor in the man or in the documentation).
The commit which added the bug was this https://github.com/foss-project/green-recorder/commit/1a5c8472a2611b0858b44eab7aac75a2d4ea6ff0.

I've tested the same version without those flag and the audio it's ok. I can reproduce it every time.

Not running on MacOS, maybe missing smth

I've tried to do manual install with needed packages but failed to find gir1.2-appindicator3 and gawk in pypi.
As a result further sudo python setup.py install and trying to run green-recorder/build/scripts-3.5/green-recorder results in:

 File "green-recorder/build/scripts-3.5/green-recorder", line 133
    print "No pulseaudio found", output.returncode
                              ^
SyntaxError: Missing parentheses in call to 'print'

Cache resources exhausted when recording animated gif

When recording a gif that's, say, more than 4 seconds, the resulting gif file never completes. This is what the command shows:

frame=  344 fps= 30 q=-0.0 size=  872175kB time=00:00:11.46 bitrate=623098.3kbitframe=  349 fps= 30 q=-0.0 Lsize=  884852kB time=00:00:11.63 bitrate=623098.3kbits/s speed=1.01x    
video:884852kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
Exiting normally, received signal 15.
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `/home/yuvilio/Videos/2017-08-06 22:06:41.711477.gif.tmp' @ error/cache.c/OpenPixelCache/3945.
convert-im6.q16: no images defined `/home/yuvilio/Videos/2017-08-06 22:06:41.711477.gif' @ error/convert.c/ConvertImageCommand/3258.

Running green-recorder package (3.0.2) on an Ubuntu 17.04 gnome (Xwayland) on a decent laptop.

For comparison i tried peek as well and was able to record a gif with it.

This only happens for me with recording gifs. The other video formats record great.

Feel free to close this issue if this sounds too environment specific

Record from webcam?

Dear all,

Yesterday, I had the need to record myself for a video using my webcam and realised I couldn't with green-recorder.

I think this would be a really cool feature.

What do others think?

Indicator Question

When the recording starts the indicator is huge, how can I make it smaller? Does it use a specific icon?

Appimage for other Linux distro

Hi.

Can you add Appimage build for other Linux distro? As you can see, Fedora build in Corp repo is gone. So why not add Appimage, this help a lot, because thanks to this we can run Green Recorder on almost all Linux distro like Fedora, Mageia, OpenMandriva, OpenSuse, Ubuntu, Debian, Mint and more... and this all in one file Appimage.

Can you build it?

Regards.

Overwrite file notification requested

I was doing some experimenting and I realized that if I didn't change the name of the file of a previous recording it would just get automatically re-written and I'd loose the previous recording.

If this happens to others (not an isolated problem on my system) then I'd recommend a notificiation to the user (are you sure you want to overwrite? no = let's you change file, yes = overwrite).

Thanks!

Cannot select area under Wayland

When running Gnome (3.22.2) on Wayland, and choosing "Select an Area" in Green Recorder (2.1.5), and then click "Apply" in the Area Chooser, nothing happens in the user interface, but following is logged to the terminal (I started green-recorder from):

/bin/sh: 1: aserver: not found
('No alsa found', 127)
E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: pa_pid_file_create() failed.
xwininfo: error: No window with name "Area Chooser" exists!
Traceback (most recent call last):
  File "/usr/bin/green-recorder", line 300, in areasettings
    output = subprocess.check_output(["xwininfo -name \"Area Chooser\" | grep -e Width -e Height -e Absolute"], shell=True)[:-1]
  File "/usr/lib/python2.7/subprocess.py", line 219, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['xwininfo -name "Area Chooser" | grep -e Width -e Height -e Absolute']' returned non-zero exit status 1

As far as I know, xwininfo isn't supposed to work for windows natively handled by Wayland, but only for windows managed by X (or XWayland). In fact, if I run xwininfo without options (or xprop), I cannot even click on any of Green Recorder's windows.

Arch, i3, wont start - folderchooser.set_uri(...) TypeError

Traceback (most recent call last):
  File "/usr/bin/green-recorder", line 202, in <module>
    folderchooser.set_uri("file://" + VideosFolder)
TypeError: cannot concatenate 'str' and 'NoneType' objects

archlinux, installed from AUR
i3wm at version 4.12
first attempt run through rofi launcher, then tried run in terminal to see whats the issue.

Wayland

Close this issue when the wayland support is alive and kicking.

Error when changing settings for the first time.

To reproduce (on 3.0.1.2.r2.ge7f877d):

  1. Make sure there is no config.ini (a config folder doesn't matter).
  2. Launch in terminal.
  3. Go to settings.
  4. Change something.
  5. Observe in terminal:
Traceback (most recent call last):
  File "/usr/bin/green-recorder", line 536, in audioswitchchanged
    with open(confFile, 'w+') as newconfFile:
TypeError: coercing to Unicode: need string or buffer, file found

Similar error is output for any change until program is launched again with config.ini present.

fedora install - missing libx264.so.148

HI, I am trying to install on fedora 25 and get this error:
kube jeffmc~]: sudo dnf install green-recorder
Last metadata expiration check: 0:03:17 ago on Fri Mar 24 17:50:47 2017.
Error: nothing provides libx264.so.148()(64bit) needed by ffmpeg-libs-3.1.6-1.fc25.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages)

any ideas on what dependency I'm missing?

thanks, look forward to trying this out.

git currently fails to install on arch linux

running install_data
creating /tmp/yaourt-tmp-olivier/aur-green-recorder-git/pkg/green-recorder-git/usr/share
creating /tmp/yaourt-tmp-olivier/aur-green-recorder-git/pkg/green-recorder-git/usr/share/green-recorder
copying ui/ui.glade -> /tmp/yaourt-tmp-olivier/aur-green-recorder-git/pkg/green-recorder-git/usr/share/green-recorder
creating /tmp/yaourt-tmp-olivier/aur-green-recorder-git/pkg/green-recorder-git/usr/share/pixmaps
copying data/green-recorder.png -> /tmp/yaourt-tmp-olivier/aur-green-recorder-git/pkg/green-recorder-git/usr/share/pixmaps
creating /tmp/yaourt-tmp-olivier/aur-green-recorder-git/pkg/green-recorder-git/usr/share/applications
copying data/green-recorder.desktop -> /tmp/yaourt-tmp-olivier/aur-green-recorder-git/pkg/green-recorder-git/usr/share/applications
creating /tmp/yaourt-tmp-olivier/aur-green-recorder-git/pkg/green-recorder-git/usr/share/locale
creating /tmp/yaourt-tmp-olivier/aur-green-recorder-git/pkg/green-recorder-git/usr/share/locale/ar
creating /tmp/yaourt-tmp-olivier/aur-green-recorder-git/pkg/green-recorder-git/usr/share/locale/ar/LC_MESSAGES
copying locale/ar/LC_MESSAGES/green-recorder.mo -> /tmp/yaourt-tmp-olivier/aur-green-recorder-git/pkg/green-recorder-git/usr/share/locale/ar/LC_MESSAGES
creating /tmp/yaourt-tmp-olivier/aur-green-recorder-git/pkg/green-recorder-git/usr/share/locale/de
creating /tmp/yaourt-tmp-olivier/aur-green-recorder-git/pkg/green-recorder-git/usr/share/locale/de/LC_MESSAGES
error: can't copy 'locale/de/LC_MESSAGES/green-recorder.mo': doesn't exist or not a regular file
==> ERROR: A failure occurred in package().
    Aborting...

Area recording under wayland does not work

Just a heads up that the screen area recording does not work under wayland, since you use xwininfo for selecting the area.

I think the best option for you is to just use the SelectArea method of the org.gnome.Shell.Screenshot DBus service instead of the custom area choosing window. See https://github.com/GNOME/gnome-shell/blob/master/data/org.gnome.Shell.Screenshot.xml

A current workaround to still use the custom window would be to use XWayland by launching green-recorder with GDK_BACKEND=x11 set (and of course requiring XWayland to be available).

See also the discussions on phw/peek#33

Audio Issue

doesnt detect the microphone for audio output.
I have installed on Ubuntu 16.04 via flatpak

No sound !

Hi there, this project is appealing, I love the simplicity, but...
..cannot get any sound from my Manjaro install.
My internal mike is ok in pulseaudio, checked on the recording screen, but I only get a silent record (tried in mkv & avi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.