Software la cattura e registrazione dello schermo. Sono supportati i seguenti sistemi:
- Linux
- Windows
- MacOS (non testato)
Il software si compone di una libreria per la registrazione dello schermo e di una interfaccia grafica per una facile gestione.
La struttura del progetto è la seguente:
.
├── assets
└── src
├── Interface.cpp
├── main.cpp
└── lib
├── Recorder.cpp
├── ...
└── ffmpeg_cpp
- In
asset
sono contenuti gli asset grafici per la gui - In
src
ci sono tutti i sorgenti e i file di setup percmake
- In
lib
la libreria di recording con binding alle funzioni di ffmpeg e una sua implementazione con classi e idioma RAII (qui la documentazione dettagliata) Interface.cpp
implementa una semplice interfaccia grafica con il framework GTK4
Per il del progetto sono necessarie le seguenti dipendenze:
cmake 3.20+
clang 13+
oMSVC c++ compiler
ffmpeg 4.4.1+
gtk4
libx264
Installare i pacchetti ffmpeg
, gtk4
, e libx264
è il modo più veloce per soddisfare automaticamente le dipendenze, tramite un package manager su sistemi Linux oppure adoperando tool come vcpkg
per sistemi Windows o brew
per MacOS.
Dalla cartella root del progetto eseguire il build con:
cmake -B build
cd build
make
Questo genererà l'eseguibile nella cartella build
appena creata.
Nel caso in cui si effettui la build su un sistema Windows, è necessario disporre delle dipendenze richiste nel file cmake, che è stato configurato per integrarsi con eventuali installazioni presenti di vcpkg (il percorso di installazione richiesto è "C:/src/vcpkg" ma può essere modificato nel file per soddisfare percorsi differenti).
Sarà inoltre necessario aggiungere -DCMAKE_TOOLCHAIN_FILE={vcpkg-root-folder}/scripts/buildsystems/vcpkg.cmake
alle opzioni di cmake sostituendo la parte tra parentesi con il percorso di installazione di vcpkg.
A questo punto tutte le dipendenze necessarie possono essere installate tramite vcpkg e verranno riconosciute automaticamente.
È richiesto aggiungere alle variabili di ambiente XDG_DATA_DIRS={vcpkg-root-folder}\installed\x64-windows\share
per permettere il corretto funzionamento di gtk4 nel caso di installazione tramite vcpkg.
Le procedure descritte non sono invece necessarie nel caso si adoperino i binari contenuti nei file zip di release.
Eseguire con ./recs
, si possono aggiungere dei flag da linea di comando:
USAGE: recs <args>
-v Set logging to INFO level
-w Set loggign to DEBUG level
-V, --version Print current software version
-h, --help Show this helper
- Belluardo Gabriele s290270
- Bottisio Alessandro s277945