Skip to main content

TimeLapser

TimeLapser is a Python CLI tool for recording screen activity and saving it as a video file. It uses OpenCV and FFMPEG for video encoding and supports multiple monitor setups. You can customize the recording settings such as frame rate, video format, and monitor selection. The tool also provides functionality to list available monitors and display a recording timer.

Features

  • Record screen activity from a selected monitor.
  • Save recordings in MP4 or AVI format.
  • Specify the output directory.
  • Option to set the frames per second (FPS) for recording.
  • Display a timer showing elapsed recording time.
  • List available monitors with their resolutions.

Requirements

Installation

  1. Install using pip:

    pip install timelapser
    

    Or install from GitHub:

    pip install git+https://github.com/asibhossen897/timelapser.git
    
  2. Ensure FFMPEG is installed:

    To check if FFMPEG is installed, run the following command:

    ffmpeg -version
    

    If FFMPEG is not installed, you can install it using the following commands:

    • Linux:

      • Ubuntu/Debian

        sudo apt-get update
        sudo apt-get install ffmpeg
        
      • RHEL/CentOS/Fedora

        sudo yum install ffmpeg
        
      • Arch Linux

        sudo pacman -S ffmpeg
        
    • macOS:

      brew install ffmpeg
      
    • Windows: Download and install from the FFMPEG official site and add it to your PATH.

Important: The program will not work if FFMPEG is not installed.

Usage

Start Recording

To start recording, use the record command:

timelapser record --fps 30 --mp4 --monitor_index 0 --output_dir Recordings

or Download and use timelapser.py file from the GitHub repository:

python timelapser.py record --fps 30 --mp4 --monitor_index 0 --output_dir Recordings

Options:

  • --fps: Frames per second (e.g., 30, Default is 100).
  • --mp4: Save the video in MP4 format. Use --avi for AVI format.
  • --monitor_index: Index of the monitor to record from (default is 0).
  • --output_dir: Directory where the video will be saved (default is "Outputs").

Stop Recording

To stop recording, press Q on your keyboard.

List Monitors

To list all available monitors and their resolutions, use:

timelapser list-monitors

Code Organization

  • timelapser/main.py: Contains the CLI commands and main logic for recording and listing monitors.
  • timelapser/recorder.py: Contains functions for creating videos, recording frames, and handling output directories.
  • timelapser/utils.py: Contains utility functions for generating timestamps and video formats.
  • requirements.txt: Lists the Python dependencies.

Bugs and Feature Requests

  • When you have any bug or feature request, please open an issue on GitHub.

Contributing

Feel free to contribute to this project by submitting issues, feature requests, or pull requests. Ensure you follow the coding style and include tests for new features.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For any questions or feedback, please contact dev.asib@proton.me.

Metadata

Release files for timelapser 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for timelapser 0.1.3
File Size Uploaded
timelapser-0.1.3.tar.gz 5.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for timelapser 0.1.3
File Interpreter ABI Platform
timelapser-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 11.8 kB

Release files / timelapser-0.1.3.tar.gz

Download URL timelapser-0.1.3.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ad226f8e6f4f2802cbbcf40c759f781d091c377a4bf65ec185667560d74d8154
BLAKE2b-256 checksum
How to use checksums
0fb8388d72e28eae2d0d57da96de88687ec0d9033b1f47bb0241a3790810f8f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.19

Release files / timelapser-0.1.3-py3-none-any.whl

Download URL timelapser-0.1.3-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
63f77d302bed2de43e1ac6ecb9f60a394ed138d61e75aa650fa965239209243b
BLAKE2b-256 checksum
How to use checksums
8e97dc4e5b15ebc1f1ae21fedd156ebdf4d729f4f4ea5fb6e9f5c960c32673b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.19

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page