Git Product home page Git Product logo

gopro's Introduction

Sync, join and convert from GoPro device when plugged in USB

Description

1 - When GoPro is plugged in USB port, UDEV will start a SYSTEMD service (gopro.tcl auto move)
2 - Videos will be moved to local storage (UNPROCESSED_VIDEOS). Message is sent when finished
3 - Videos are joined (JOINED_VIDEOS) on daily timeframe (06:00:00 - 05:59:59 (of next day)) in sequential order
4 - Daily videos (YYYYMMDD.mp4) are transcoded using x264/x265 (CONVERTED_VIDEOS)

Usage

Automatic

Next step is called after previous is finished (auto move -> auto join -> auto convert):
- Transfer all images and videos from GoPro, join and covert videos: "gopro.tcl auto move" -> auto join -> auto convert
- Join all videos and convert: "gopro.tcl auto join" -> auto convert
- Convert all videos: "gopro.tcl auto convert"
All files within default directories will be processed: move (UNPROCESSED_VIDEOS), join (JOINED_VIDEOS) and convert (CONVERTED_VIDEOS)

Manual

Only invoked step is performed on all or specified files:
- Transfer all images and videos from GOPRO_MNT to UNPROCESSED_VIDEOS: "gopro.tcl manual move"
- Join videos to JOINED_VIDEOS: "gopro.tcl manual join [*]"
- Convert videos to CONVERTED_VIDEOS: "gopro.tcl manual convert [*]"
[*] If no files are specified, default path is used for input/output and all files are processed
[*] If filenames are specified, only these files from default input path will be processed
[*] If logical/physical path to files is provided, resulting output will be stored in default path

Instalation

Enable UDEV rule (99-gopro.rules)
Enable SYSTEMD service (gopro@service)
Create mounting directory for GPHOTOFS

Requirements

GPhotoFS
FFMpeg
Tcl 8.6

To-do

Parallel service execution not working. While "auto move" service is running, other "auto move" will be ignored
Move converted videos to backup storage with proper ownership/permissions for cloud usage

gopro's People

Contributors

3dk avatar

Stargazers

 avatar

Watchers

 avatar

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.