This is a home project to create time-lapse videos from various types of cameras, including IP cameras and USB cameras. The captured images are processed into videos using ffmpeg
, and the resulting videos are sent to a specified Telegram chat.
Project in development, not for production!!!
- Capture images from IP cameras (Axis, D-Link) and USB cameras.
- Save images to local storage or an FTP server.
- Create directories and manage files in the storage.
- Process images into videos using
ffmpeg
. - Send processed videos to a Telegram chat.
- Configuration using
config.yaml
andmy_config.yaml
.
- Go 1.16+
fswebcam
(for capturing images from USB cameras on Linux)ffmpeg
(for processing images into videos)- Access to an IP camera or USB camera
- Telegram bot token and chat ID
-
Clone the repository:
git clone https://github.com/your-username/time-lapse-project.git cd time-lapse-project
-
Install required dependencies:
sudo apt-get update sudo apt-get install fswebcam ffmpeg
-
Build the project:
go build -o timelapse cmd/time-lapse/main.go
-
Copy the
config.yaml
tomy_config.yaml
:cp config.yaml my_config.yaml
-
Edit
my_config.yaml
with your configuration details.
Run the application:
./timelapse
The application will start capturing images based on the configuration and process them into a video daily, sending the result to the specified Telegram chat.
- Add support for additional camera types.
- Improve error handling and logging.
- Implement unit tests for all components.
- Optimize the video processing pipeline.
- Add support for cloud storage services.
- Fix Usb camera support(usbcamera module not work corectly)
- Add webdav support
- Add smb support
- fix Processing support with Storage interface
- because i'm using ffmpeg for make video from images, we need download images localy, for to do it. That's the problem. That there may not always be room or it may not always be possible. So we need to come up with a solution.
- Sending videos to a Telegram chat.
- Dockerize this app
- Image capture from IP cameras (Axis, D-Link, android-ipcam) and USB cameras(manual mode).
- Local and FTP storage support.
- Directory creation and file management in storage.
- Image processing into videos using
ffmpeg
.
This project is licensed under the MIT License. See the LICENSE file for details.
Feel free to fork the repository and submit pull requests. For major changes, please open an issue first to discuss what you would like to change.
For any questions or suggestions, please open an issue in the repository.
Thank you for using the Time-Lapse Project! Enjoy creating your time-lapse videos.