Code Monkey home page Code Monkey logo

electron-screen-recorder's Introduction

electron-screen-recorder

creating an open source screen recorder with advanced features like pausing and resuming, specially with unlimited recording time. This is open source and free project. There are bunch of free screen recorders with limited features. Some of them have limited time duration to record, some of them have limited features like they only allow us to "start recording" and "stop recording" but no "pause recording" and "resume recording". To all those all those issues, this simple project will be an answer.

prerequisites

  1. node.js (version = above 16.15.0)

how to setup

  1. clone the repo
  2. npm install or yarn install
  3. npm start or yarn start

electron-screen-recorder's People

Contributors

ayushmansinghrajawat avatar mastrmind-dev avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

electron-screen-recorder's Issues

Enabling and disabling button properly issue 2

After user selects a screen, "start recording" button should be enabled while all the other buttons are disabled.

Important: User should successfully select a screen to do this. If user clicks on "select screen" button but doesn't select a screen, nothing will have to be changed.

Audio is not recorded

Only video of the screen record is getting captured. Audio should be included as well.

Adding styles to the UI and make attractive

This task is beginner friendly one. If anyone who has knowledge on HTML and CSS can contribute to this. Just add a CSS file and make attractive the home window's user interface.

This is really important. Because any one can contribute to this and I would merge all the PRs which have good UI enhancements.

adding a notification popup

when user records the screen, there should be a notification popup which says "recording the screen" and the notification can be minimized or hide.

Add "Select screen" button

In main.js file, Menu.BuildFromTemplate (26th line) generates a popup to select the screen that the user wants to record. But when the application opens, that popup comes from nowhere. Instead, having a 'select screen' button would be ideal to show that popup.

Cannot change the default name of the screen recording

When going to save the screen recording, the files with custom names are not getting saved properly. They are not playing after saving. Only the videos, saved with the default name which is provided by the app are playing properly.

The user should be able to save and play the saved video properly, although the default name is changed when the recording is getting saved (within the save dialog box.)

Add "pause recording" and "resume recording" feature

Currently the application only records and saves the screens. But there is no way to pause recording and resume it after sometime. Need a workable pause button. In the same manner, need a 'resume recording' button as well.

Add a proper architecture

Align the folder structure of the app with a proper architecture.
I would recommend below one. But feel free to follow your own architecture which is suitable to this app.

screen-recording-app/
|-- node_modules/ # Dependencies installed via npm or yarn
|-- src/
| |-- main.js # Main entry point for the Electron app
| |-- renderer/
| | |-- index.html # HTML template for the renderer process
| | |-- main.css # CSS styles for the user interface
| | |-- main.js # JavaScript for the user interface
| |-- screen-recording/
| | |-- ScreenRecorder.js # Screen recording module
|-- package.json # Package configuration and scripts
|-- README.md # Project documentation
|-- LICENSE # License file

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.