Skip to content

LegeApp/OpenArc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenArc

OpenArc is a media archiver for photo and video folders with both interactive and command-line workflows. Point it at one or more folders, and it will convert standard images to BPG, recompress videos when that helps, preserve camera RAW files losslessly, and bundle the result into a single archive with manifests and hashes.

Archive layout

  • media/: converted images and processed videos
  • raw.arc: preserved camera-source files packed with FreeArc
  • misc.arc: other preserved files packed with FreeArc
  • OPENARC_METADATA.json: image restoration metadata
  • MANIFEST.txt: user-facing archive contents
  • HASHES.sha256: integrity hashes

Quick start

git clone https://github.com/LegeApp/OpenArc.git
cd OpenArc
cargo dist

That builds the codec C/C++ sources in-tree and produces a self-contained binary at dist/openarc.exe (Windows) or dist/openarc (Linux). See BUILDING.md for prerequisites (MSYS2 packages on Windows, -dev packages on Linux).

./dist/openarc create -o archive.oarc ~/Pictures ~/Videos

CLI usage

openarc
openarc interactive
openarc create -o my-archive.oarc ~/Pictures ~/Videos
openarc extract -i my-archive.oarc -o restored
openarc list my-archive.oarc

Running openarc with no arguments launches interactive mode. Use openarc create, openarc extract, and openarc list for non-interactive runs.

At the end of archive creation, the CLI prints how many RAW files were preserved separately and their total size.

Build

Single command: cargo dist. See BUILDING.md for prerequisites.

Repository shape

OpenArc/
├── src/                    # CLI and archive orchestration
├── crates/
│   ├── arcmax/             # FreeArc implementation (C++ compiled by build.rs)
│   ├── codecs/             # BPG + FFmpeg wrappers (compiled by build.rs)
│   ├── zune-image/         # vendored image workspace
│   └── winmtp/             # Windows MTP helper
├── native/                 # bundled native components, including BPG and jp2lam
├── zenzstd/                # Rust Zstandard implementation
├── xtask/                  # `cargo dist` helper
└── dist/                   # build output: openarc.exe

About

Encoding and archiving intended for phone and camera media, uses BPG and FFMPEG + custom ARC archiving

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors