Virtualbox

From VQEG JEG Wiki
Revision as of 15:38, 11 April 2016 by Mbarkows (Talk | contribs)

Jump to: navigation, search

Contents

Virtual Machine

Introduction

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.

Location

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.

Definitions

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.
Executable 
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.

Shall we define a substructure for intsrc such as VQEG project name or the location in the processing chain, i.e. preprocessing?

Any idea how we can easily store the libraries with the program and make it independent of the distribution?

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.