kapoorlakshya / screen-recorder

A Ruby gem to video record and take screenshots of your desktop or specific application window. Works on Windows, Linux, and macOS.
MIT License
192 stars 17 forks source link

Screen recorder takes input type as "Desktop" even for mac #106

Closed PavithraM2502 closed 3 months ago

PavithraM2502 commented 4 months ago

Summary

Trying to record the selenium ruby test but it's failing in recorder object creation itself.

I didn't pass any parameters for input in recorder. I guess by default it will identify the input by OS but it's taking it as desktop.

Expected Behavior

when input isn't provided , it will identify the input by OS.

Actual Behavior

options ={ output: 'recording.mkv', } @recorder = ScreenRecorder::Desktop.new(options)

 ArgumentError:
   Unsupported input type: 'desktop'. Expected: 'desktop'
kapoorlakshya commented 4 months ago

Hey @PavithraM2502, you're using an older version of this gem. Try latest (v1.6.0) instead.

PavithraM2502 commented 4 months ago

Hey @PavithraM2502, you're using an older version of this gem. Try latest (v1.6.0) instead.

Thanks for replying , Unfortunately I couldn't use latest version of this gem since it requires childprocess >= 1.0, < 5.0 , we're using childprocess (0.9.0) I couldn't update child process , that's the reason for using this version. Please let me know if there is any workaround. Thanks in advance

kapoorlakshya commented 4 months ago

Ah okay. I'm planning to remove the dependency on childprocess gem as part of #105 actually. I'll try to get a release out soon. That should allow you to use whatever childprocess version you want with this gem.

PavithraM2502 commented 3 months ago

Ah okay. I'm planning to remove the dependency on childprocess gem as part of #105 actually. I'll try to get a release out soon. That should allow you to use whatever childprocess version you want with this gem.

@kapoorlakshya Thanks for the update. May I know when are you planning to release the next version ? Eagerly waiting to use your latest version

kapoorlakshya commented 3 months ago

@PavithraM2502 Hopefully this weekend. Just need to fix some bugs with removal of childprocess gem.

Actually, if you want, you can test it out and provide feedback:

gem 'screen-recorder', git: 'https://github.com/kapoorlakshya/screen-recorder.git', branch: 'update_deps'

The basic stuff should be working. Screenshots feature has a bug, which I'll fix before release, but feel free to give it a shot.

PavithraM2502 commented 3 months ago

@PavithraM2502 Hopefully this weekend. Just need to fix some bugs with removal of childprocess gem.

Actually, if you want, you can test it out and provide feedback:

gem 'screen-recorder', git: 'https://github.com/kapoorlakshya/screen-recorder.git', branch: 'update_deps'

The basic stuff should be working. Screenshots feature has a bug, which I'll fix before release, but feel free to give it a shot.

@PavithraM2502 Hopefully this weekend. Just need to fix some bugs with removal of childprocess gem.

Actually, if you want, you can test it out and provide feedback:

gem 'screen-recorder', git: 'https://github.com/kapoorlakshya/screen-recorder.git', branch: 'update_deps'

The basic stuff should be working. Screenshots feature has a bug, which I'll fix before release, but feel free to give it a shot.

@kapoorlakshya I got stuck with another issue , screen-recorder was resolved to 1.6.0, which depends on os (~> 1.0) but we're using os (~> 0.9.6). Unfortunately I couldn't update the os version.

kapoorlakshya commented 3 months ago

Oh do you have it locked in your Gemfile? You can see the 1.x versions here: https://rubygems.org/gems/os/versions/1.1.4

(FYI I'm planning to remove it as well in the next release.)

kapoorlakshya commented 3 months ago

@PavithraM2502 Give it a try now:

gem 'screen-recorder', git: 'https://github.com/kapoorlakshya/screen-recorder.git', branch: 'update_deps'

This branch removes childprocess and os gems so you can use whatever version you like for these.

PavithraM2502 commented 3 months ago

@kapoorlakshya - Am trying this screen recorder gem for the first time. In local, I've ffmpeg installed and so I can able to see the recordings once the test execution completed. How can we use this in remote for recording the test. ? My question is even in remote do we need to install ffmpeg ? then only screen recorder will work properly ?

I got to see this error in jenkins console , @recorder = ScreenRecorder::Desktop.new(options) 20:24:41 ScreenRecorder::Errors::DependencyNotFound: 20:24:41 ffmpeg/ffprobe binary path not set or not found in ENV.

kapoorlakshya commented 3 months ago

Just treat remote same as local - it needs the same dependencies (ffmpeg). What OS is your Jenkins agent?

kapoorlakshya commented 3 months ago

I'll need to see your xvfb command and the screen recorder inputs to debug this.

Did you already try this? https://stackoverflow.com/a/67092653

On Wed, Jul 24, 2024, 04:39 PavithraM2502 @.***> wrote:

@kapoorlakshya https://github.com/kapoorlakshya - I can able to record the screen in remote but the recording is showing only half of the screen. I have changed the height & width too . still the same, any idea on it ?

— Reply to this email directly, view it on GitHub https://github.com/kapoorlakshya/screen-recorder/issues/106#issuecomment-2247688968, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA5LVKOFVWIAVFADFPER4TZN6G67AVCNFSM6AAAAABLAJJHIGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBXGY4DQOJWHA . You are receiving this because you were mentioned.Message ID: @.***>

PavithraM2502 commented 3 months ago

@kapoorlakshya screen recording looks perfect . when are you planning to release this version ?

kapoorlakshya commented 3 months ago

Closed by #107. v1.7.0 has been released.