The VQEG JEG project created a VirtualBox image using the OpenSuSE distribution in order to store all executables and source codes that are collected and/or created in this project.
The purpose of the VirtualBox is to simplify collaborative work and notably reproducible research by providing a common basis of algorithms. One of the difficulties in research is that standard algorithms may remain important for a duration that exceeds the lifetime of operating systems - from small interface changes to required libraries up to CPU architecture changes. It is believed that a Virtual Machine may be executed easily even in 10 or 20 years from now.
The VQEG JEG group has several ways of collaboration on software. The master Virtual Machine is currently hosted as a VirtualBox at IRCCyN, University of Nantes by Marcus Barkowsky. It runs on a desktop PC and is accessible remotely. It is also backed up every Sunday on the ftp server in the mbarjeg1 user directory "virtualbox/current_jeg". For details on access to the VirtualBox, please contact Marcus Barkowsky.
VQEG-JEG uses the following terms:
- External Source Code (extsrc)
- Source code that is imported into VQEG projects from external projects, notably libraries
- Internal Source Code (intsrc)
- Source code that has been produced as part of VQEG projects. Contributions may come from many projects, notably the MOAVI project.
- External Programs (extprg)
- Executables that are required for the work within VQEG.
- Internal Programs (intprg)
- Executables that have been created by members of VQEG for the use in projects of VQEG. Notably compiled versions of Internal Source COde fall within this category
- Raw Video Data
- Any file that contains uncompressed video data. Possible file formats include YUV, AVI, and H264 lossless.
- Video Bitstream Data
- Any bitstream from any video codec.
- The term "Program" or "Executable" shall be interpreted in a large context here, including, for example shell scripts. The license shall allow for free sharing within VQEG and beyond.
Organisation - git/vqegjeg.git
For intsrc, extsrc, intprg, and extprg, a GIT repository exists at: https://ftpivc.polytech.univ-nantes.fr/git/vqegjeg. It is imported in the virtual machine as ~/git/vqegjeg.git. For accounts that have write access, please contact Marcus Barkowsky.
The "src" directory contains External Source Code and Internal Source Code. The "prg" directory contains External Programs and Internal Programs. Programs are directly stored in this folder as in /usr/bin.
The directory names in this structure can be chosen freely by the corresponding creator, an appropriate entry in the Wiki-Pages shall be added.
Any idea how we can easily store the libraries with the program and make it independent of the distribution? (e.g. docker)
For any Executable that is stored within the GIT repository, providing a unique identifier of the program's version is advised. A simple solution is to append the date of creation such as program_20160411.
Organisation - jeg_media
Raw Video Data and Video Bitstream Data shall be limited inside the VirtualBox to the strict minimum to demonstrate functionalities in order to limit the size of the shared VirtualBox image. It shall be stored within the directory jeg_media under the appropriate subdirectory.