Version 0.18.0
Note
|
The PDF version of this documentation can be obtained here. |
About
This is the official documentation for the Envisaged Redux project.
Envisaged Redux is a Docker container application to generate Gource visualizations and saving them as videos using FFmpeg. Currently Envisaged Redux supports generating Gourve visualizations from Git repos, as well as an option to provide your own Gource custom log to render. More inputs may be supported in the future.
What makes Envisaged Redux stand out from other similar containerized applications is its portable-focused approach. Envisaged Redux can and will run on any platform that supports Docker, and it requires no extra hardware support to run (e.g. GPU’s). This enables Envisaged Redux to be used in CI/CD chains and basic cloud VPS services without issue. This is achieved by leveraging the Gallium LLVMPipe Driver and Xvfb to render in software.
Head over to Getting Started for a fast track tutorial.
Official source repository for this project is on GitLab with a mirror on GitHub. Docker images avaliable on Docker Hub.
-
Git Support
-
Web-based Live Preview
-
Gource API (via Environment Variables)
-
Render Templates
-
Multi-repository Support
-
Color Grouping Feature
-
Save generated Gource log file
-
Recursive Submodule Support
Envisaged Redux is a fork of the Envisaged project.
Dependencies
A number of core dependencies used by Envisaged Redux are:
-
Git
-
FFmpeg †
-
Gource †
-
libx264 †
-
libx265 †
-
lighttpd
-
Xvfb
-
Mesa (Gallium LLVMPipe)
-
ImageMagick
-
HLS.js
† These projects are GPL Licensed to their respective copyright owners.
They are compiled from source during the docker build
process and the source code is bundled with each image under /gpl_sources
.
Compile-time configurations are derivable from the Dockerfile
at the root of this project’s source repository.
If there is any issue regarding GPL compliance, please reach out to the maintainer of this project.
Versioned Dependencies
For stability purposes, some dependencies (including some build-time dependencies) are version controlled for stability purposes.
The current list of versioned dependencies for Envisaged Redux 0.18.0 are:
ENV VERSION_STABLE_GOURCE="0.51" \
VERSION_MESA="19.3.5" \
VERSION_LLVM="llvm9" \
VERSION_FFMPEG="4.2.2" \
VERSION_NASM="2.14.02" \
VERSION_YASM="1.3.0" \
VERSION_X264="20191217-2245" \
VERSION_X265="3.2.1" \
VERSION_HLS_JS="0.13.2"
Building Envisaged Redux
Prebuilt images of Envisaged Redux are available at Docker Hub. If you wish to build and test Envisaged Redux locally (for example, to develop on), read on.
Auto Script
There is a convenience script that will work on Linux and OSX hosts located at dev-tools/build_script.sh
.
Running the script will perform 3 tasks:
-
Build a local copy of Envisaged Redux under the image name and tag
cartoonman/envisaged-redux:latest
. -
Build the testing overlay image
cartoonman/test-envisaged-redux:latest
. -
Run the test suite.
Manual
To manually build the image, run the following command from the root directory of the Envisaged Redux repo:
docker build -t cartoonman/envisaged-redux:latest ./
To build the test image, the Envisaged Redux image must have been already built. The command to build it is (from the root directory of the Envisaged Redux repo):
docker build -f tests/Dockerfile -t cartoonman/test-envisaged-redux:latest ./
To run the test suite, run the tests/scripts/start.sh
script.
Alternatively, you can run the test suite with the command:
docker run --rm -t \
--name test-envisaged-redux \
cartoonman/test-envisaged-redux:latest
Getting Started
This section will fast track users to run a local instance of Envisaged Redux to experiment with. We will leverage one of the many example scripts designed to showcase the features of Envisaged Redux. The Envisaged Redux git repository itself will be our example repository.
Quick Start Example
Fetching the Image
-
Pull the latest build of Envisaged Redux from Docker Hub
docker pull cartoonman/envisaged-redux:latest
-
Clone the git repo for Envisaged Redux
git clone https://gitlab.com/Cartoonman/Envisaged-Redux.git
Starting the Example
-
Navigate to the cloned repo directory and run the following command:
examples/quick_start_example.sh
-
At this point the container should be spawned. Open your browser and navigate to http://localhost:8080
-
Click on
Click here for Live Preview
(or navigate to http://localhost:8080/preview.html) to view the Live Preview feature of Envisaged Redux. The Live Preview shows in pseudo-realtime (with a slowdown factor applied to avoid jitter) what the visualization being rendered looks like †. -
When the video is finished rendering, the main page will display the link to download the video from. When you are done, simply press Ctrl + C in the terminal running Envisaged Redux and this will close the application.
Tip
|
The Live Preview window is smart and can tell when the Envisaged Redux container is stopped, or when a new Envisaged Redux container is launched. A great way to experiment is to leave the Live Preview window up while playing with different runtime configurations. The Live Preview window will automatically show the live preview when available without requiring browser refreshes. |
Note
|
† Certain visual compression artifacts present/absent in output file will not be present/absent in the Live Preview display. See Live Preview for more details regarding these caveats. |
Examples
Included in the Envisaged Redux repository are various example scripts that highlight various features and capabilities of Envisaged Redux. Users are encouraged to use these scripts to build off of and experiment with their own runtime configurations.
All Examples
Included in the examples/
directory are a number of scripts that showcase different runtime configuration examples.
The scripts in examples/
leverage helper functions and scripts to make it easy to build off of. They all call a common script, baseline.sh
, and use common arguments and methods.
You can make your own scripts by leveraging the arguments and API of this script.
By adding --help
to the calls to these scripts, you will be given the available arguments.
Args:
One of the following mounts is REQUIRED:
--vcs-source-dir [absolute/path/to/repo(s)_dir]
The VCS repo (or directory of repos) you want Gource to
render. Currently supports Git repositories only.
--custom-log [absolute/path/to/log_file]
The path to the custom Gource log file to be used as
the input to Gource to render the visualization.
The following are optional mount arguments:
--log-output-dir [path/to/dir]
The path to the output directory where you would want
Envisaged Redux to save it's generated gource.log file.
--caption-file [absolute/path/to/caption_file]
The path to a caption file for Gource to display
captions during the video at predefined timestamps.
--avatars-dir [absolute/path/to/avatars_dir]
A directory of images with filenames matching that of
users in the generated or provided Gource log.
--logo-file [absolute/path/to/logo_image]
A logo image file to be rendered in the video.
--background-image-file [absolute/path/to/image]
An image file to be used as the background image of
the Gource visualization.
--default-user-image-file [absolute/path/to/image]
An image file to be used as the default image of
users in the Gource visualization.
--font-file [absolute/path/to/font]
A font file to be used to render the displayed text
in the Gource visualization.
--video-output-dir [path/to/dir]
If given, the video will be saved into this directory
instead of available for download through web server.
Other args will be passed through to docker run command.
e.g. -e RENDER_H265_CRF="0"
Note
|
For convenience, all example scripts default to using Envisaged Redux’s own repo as it’s selected repository directory.
However you can override this by simply providing your own path with the Most scripts also run with |
- default_example
-
This is the bare-bones script that all other Example scripts are based on. This runs Envisaged Redux with no predefined environment variables. This can be considered a clean slate example that users may wish to build on top of as they experiment.
- quick_start_example
-
If you followed the section Getting Started, this is the example you ran. This showcases a general example of configurations tailored for visualizing Envisaged Redux's development history.
- alt_preview_example
-
If for any reason Live Preview does not work for you (e.g. browser not capable of HLS), this is a useful script for optimizing the fastest render time. Users can use this to quickly view the effects of their custom runtime configurations on the rendered visualization before scaling up to their target render settings.
- alt_default_user_image_example
-
This example exercises the Default User Image feature of Gource, with a provided image replacing the default user image.
- headless_example
-
For CD/VPS use cases, these will require a headless operation. This gives an example of how to run Envisaged Redux for headless operation mode.
By default it will save the output video file in the
examples/
directory.NoteFor proper headless operation, you may wish to remove the -it
as well as the-p 8080:80
docker args present incommon/baseline.sh
. - color_groups_example
-
This example exercises the Color Groups feature of Gource, where each directory branch is assigned it’s own color.
- border_template_example
-
This example utilizes the Border Template to render the visualization.
- 4k_example
-
For rendering 4k visualizations, this example sets certain optimal variables to ensure elements like text are properly sized at this scale.
API Documentation
This is the documentation detailing the API for Envisaged Redux.
Environment Variables are passed as inputs into Envisaged Redux through the --env
or -e
flag in docker run
.
For mount points, the examples provided give you the exact syntax needed.
Through a combination of Environment Variables and Mounts, there is a wide array of configurations you can use to customize how Envisaged Redux renders your visualization.
Runtime Mounts
In Envisaged Redux, mounts act both as a data source/sink, as well as a trigger to enable certain features. This section will describe some of the mounts that Envisaged Redux supports, as well as an example of a proper mount.
For safety reasons, all mounts that provide data to Envisaged Redux should be marked as readonly
when using the --mount
directive in Docker.
This will be reflected in the examples.
Required
One of the following mounts must be provided when running Envisaged Redux.
Single/Multi Repos
|
|||
Mounts the path to a single VCS repo, or a directory of multiple VCS repos in subdirectories for multi-repo visualizations. Currently Envisaged Redux only supports Git repositories.
|
Custom Log
|
|
Envisaged Redux will skip checks for a source repo and use the provided log file as the input to Gource. See Gource’s Custom Log Format Page for more details on the file format, as well as examples. |
Optional
These runtime mounts are not required, but will add features, capabilities, or modify the behavior of Envisaged Redux.
Save Generated Gource Log
|
|||||
Envisaged Redux will generate it’s own
|
Captions
|
|
Gource will try given captions.txt file to render captions on video. See gource docs for supported caption format. |
Avatars
|
|
Gource will try given avatars directory to render user avatars on video. See gource docs for naming rules and supported image types. |
Logo
|
|
Gource will try given logo image file to render the logo in the lower right hand corner of the video. |
Background Image
|
|
Gource will try given background image file to use as the background of the visualization scene. |
Default User Image
|
|||
Gource will try given image file to use as the default user image for all users in the visualization scene.
|
Font File
|
|
Gource will use the provided font file as the text font used in the visualization.
Compatible with most font types supported by FreeType, including |
Local Video Output
|
|||
If this mount is made, Envisaged Redux will save the rendered video in the mounted directory and immediately exit once rendering completes.
|
Live Preview
Requirements
In order to use Live Preview, you must run the Envisaged Redux docker container with port 80 accessible or mapped to the host.
Live preview requires H.264 codec support and JavaScript enabled in your browser. A rough check can be done by visiting html5test.com to see if your browser supports H.264.
It is confirmed to work on the latest versions of Firefox, Chromium, and Edge, with likely support on Chrome, Safari and Opera. Since this works through the browser, it is inherently platform agnostic, and will work on any host operating system.
Note
|
If you are unable to use Live Preview, the preview.sh script is the best alternative to quickly check the effects of your configs before rendering a longer run.
|
How it works
Live preview works concurrently with the normal video rendering process, so at the end of the render you will still have the original video available to save.
The Live Preview mechanism splits the FFmpeg video rendering stream such that the user can view the output live as FFmpeg rendered it. This lets users quickly preview how the visualization looks before settling on a configuration list.
Caveats
Excluding RENDER_H265_PRESET, RENDER_H265_CRF, and PREVIEW_SLOWDOWN_FACTOR > 1, all API variables will have their effects represented in Live Preview exactly as what is rendered to output.mp4
.
For the CRF and PRESET variables, the Live Preview mechanism uses a fixed CRF of 1 and does not use the PRESET variable, instead being subjected to a fixed max bitrate ceiling for performance. Because of this, visual artifacts (e.g. compression artifacts such as blockiness and fuzziness) seen in the live preview may not manifest in output.mp4
and vice versa.
For PREVIEW_SLOWDOWN_FACTOR, any value that is greater than 1 will have the Live Preview render at a slower rate, but any speed adjustments made with this variable will not affect output.mp4
.
At a value of 1, the Live Preview frame speed will match output.mp4
.
Tip
|
If you want to be absolutely sure output.mp4 will look like what you expect from a compression artifact point of view, run a separate render with GOURCE_STOP_AT_TIME set to a low number of seconds so the render process ends early. An example of this usage can be seen in examples/preview.sh .
|
Templates
Templates are predefined structural configurations within Envisaged Redux that change the way Gource and FFmpeg work together.
By selecting a template, Envisaged Redux will use it to render the output video. Certain templates may restrict, add, or modify the behavior of other configs.
Templates are configured through the RUNTIME_TEMPLATE Environment Variable.
Standard
This is the default template. The standard template is the simplest template. It does not employ any overlays or filters, and renders the Gource environment in full.
Border
The border template adds a border overlay with a dedicated left panel for the Gource file extension key. Due to the overlay, the user can individually set the Title and Date font sizes and colors.
The border template overrides the following general config variables:
Note
|
See the Overridden By section in the documentation of each variable for details about the overide. |
In addition to overridden variables, there are additional specialized configuration variables for the Border template. See Gource Variables for Templates: Border for their documentation.
Color Groups
Note
|
This feature does not apply to Custom Log inputs. |
The Color Groups feature of Envisaged Redux colors each branch of the Gource tree to a pseudo-random color. Each branch will have it’s own color, and all sub branches and nodes will share the same color. For single-repo cases, each branch represents a parent directory in the repository. For multi-repo cases, each branch represents a repository.
Tip
|
This feature is useful when you wish to highlight multiple groups working on various components of a project or system. |
By default, if Color Groups is not enabled, each node in the Gource tree is colored based on the file type.
Color Groups is enabled by setting the boolean variable RUNTIME_COLOR_GROUPS
to 1
.
Additional variables to configure Color Groups can be found at the Color Groups Environment Variables section.
Modes
There are two modes of operation for Color Groups:
Random
By default this is the default mode of operation. This will generate close-to-true random colors to the coloring mechanism.
Seeded Random
For some cases, we may want to have the same color assignments for our branches. We can achieve this by providing a seed value to COLOR_GROUPS_SEED. This will mean that if you run the same visualization job with the same COLOR_GROUPS_SEED provided, you should get the same colors mapped to the same branches every time. This can provide a replicable way to have color groups in your visualization.
Runtime Environment Variables
These are general settings that configure and enable certain features of Envisaged Redux.
RUNTIME_TEMPLATE
|
|
|
|
RUNTIME_RECURSE_SUBMODULES
|
|
Flag to enable recursing through the repo(s) submodules. |
RUNTIME_LIVE_PREVIEW
|
|
Flag to enable Live Gource preview through the web interface. See Live Preview for details. |
RUNTIME_COLOR_GROUPS
|
|||
Flag to enable Color Groups feature. See Color Groups for details.
|
RUNTIME_PRINT_VARS
|
|
Flag to have Envisaged Redux print the provided input Environment Variables. Useful for logging the runtime configuration on headless platforms. |
Live Preview Environment Variables
These are general settings that configure the Live Preview feature in Envisaged Redux.
PREVIEW_SLOWDOWN_FACTOR
|
|
Slowdown Factor is used to slow the preview stream to reduce buffer hangs from slow renders. 1 means no slowdown. Supported values are integers >= 1. This setting will not affect the resultant |
Color Groups Environment Variables
These are general settings that configure the Color Groups feature in Envisaged Redux.
COLOR_GROUPS_CENTER_COLOR
|
|
Override the default color ( |
COLOR_GROUPS_SEED
|
|
Seed value to provide as the input to the random color generator.
The value MUST be a positive integer between If unset, the Color Groups will generate true random colors. |
Render Environment Variables
The rendering process can be configured using a number of Render Environment Variable. These primarily adjust and effect the FFmpeg backend.
In addition to general Render settings, there are Codec-specific options available to configure:
RENDER_CODEC
|
|
|
|
Output video codec.
Supported options are |
RENDER_VIDEO_RESOLUTION
|
|
|
|
Output video resolution.
Supported options are |
RENDER_FPS
|
|
|
|
Output video Frames per Second. Supported framerates are |
RENDER_PROFILE
|
|
The maximum compatibility profile to set for the chosen codec. See ffmpeg docs for details. |
RENDER_LEVEL
|
|
The target level for the chosen codec. Note that there are fixed, specific supported levels, and you must specify a supported level. See ffmpeg docs for details. |
RENDER_INVERT_COLORS
|
|
Applies a color inversion filter on the video output. |
RENDER_VERBOSE
|
|
Enables verbose output from FFmpeg render step. |
RENDER_NO_PROGRESS
|
|
When set to true, this disables the live progress bar during FFmpeg render step. Should be used on headless (non-interactive) renders to avoid output log spam. |
H.264 Options
These are environment variables to configure the H.264 (x264) codec renderer.
RENDER_H264_PRESET
|
|
H.264 encoding preset. Refer to the FFmpeg H264 Docs for supported options. |
RENDER_H264_CRF
|
|
The Constant Rate Factor (CRF). Refer to FFmpeg H264 Docs for supported values. |
H.265 Options
These are environment variables to configure the H.265 (x265) codec renderer.
RENDER_H265_PRESET
|
|
H.265 encoding preset. Refer to the FFmpeg H265 Docs for supported options. |
RENDER_H265_CRF
|
|
The Constant Rate Factor (CRF). Refer to FFmpeg H265 Docs for supported values. |
Gource Environment Variables
These variables give user access to Gource’s runtime settings.
The currently supported Gource build is v0.51.
These are the subgroups of Gource Variables:
General API
These are general variables that apply to all templates. There are certain templates however that will override some of these values. If applicable, a list of these templates will be noted in the Overridden By field.
GOURCE_TITLE
|
|
|
|
Title displayed at the lower left corner of the video |
GOURCE_CAMERA_MODE
|
|
|
|
Camera mode (Valid options are ‘overview’ or ‘track’). |
GOURCE_START_DATE
|
|
|
|
Start after given date (and optional time) (see gource docs for formats) |
GOURCE_STOP_DATE
|
|
|
|
Stop after given date (and optional time) (see gource docs for formats) |
GOURCE_START_POSITION
|
|
|
|
Begin at some position in the log (between 0.0 and 1.0 or 'random'). |
GOURCE_STOP_POSITION
|
|
|
|
Stop at some position in the log (between 0.0 and 1.0) |
GOURCE_STOP_AT_TIME
|
|
|
|
Stop after a specified number of seconds. |
GOURCE_SECONDS_PER_DAY
|
|
|
|
Speed of simulation in seconds per day. |
GOURCE_AUTO_SKIP_SECONDS
|
|
|
|
Skip to next entry if nothing happens for a number of seconds. |
GOURCE_TIME_SCALE
|
|
|
|
Change simulation time scale. |
GOURCE_USER_SCALE
|
|
|
|
Change scale of user avatars. |
GOURCE_MAX_USER_SPEED
|
|
|
|
Max speed users can travel per second. |
GOURCE_HIDE_ITEMS
|
|
|
|
|
|
Hide one or more display elements from the list below: bloom - bloom effect date - current date dirnames - names of directories files - file icons filenames - names of files mouse - mouse cursor progress - progress bar widget root - root directory of tree tree - animated tree structure users - user avatars usernames - names of users For Envisaged Redux, mouse and progress have no effect. |
GOURCE_FILE_IDLE_TIME
|
|
|
|
Time in seconds files remain idle before they are removed or 0 for no limit. |
GOURCE_MAX_FILES
|
|
|
|
Set the maximum number of files or 0 for no limit. Excess files will be discarded. |
GOURCE_MAX_FILE_LAG
|
|
|
|
Max time files of a commit can take to appear. Use -1 for no limit. |
GOURCE_FILENAME_TIME
|
|
|
|
Duration to keep filenames on screen (>= 2.0). |
GOURCE_FONT_SIZE
|
|
|
|
|
|
Font size for title and date. |
GOURCE_FONT_COLOR
|
|
|
|
|
|
Font color for title and date in hex. |
GOURCE_BACKGROUND_COLOR
|
|
|
|
Background color in hex. |
GOURCE_DATE_FORMAT
|
|
|
|
Date Format (based on strftime format) |
GOURCE_DIR_NAME_DEPTH
|
|
|
|
Draw names of directories down to a specific depth in the tree. |
GOURCE_BLOOM_MULTIPLIER
|
|
|
|
Adjust the amount of bloom. (>= 0.0) |
GOURCE_BLOOM_INTENSITY
|
|
|
|
Adjust the intensity of the bloom. (>= 0.0) |
GOURCE_PADDING
|
|
|
|
Camera view padding (between 0.0-2.0 exclusive) |
GOURCE_HIGHLIGHT_USERS
|
|
|
|
Keeps all user’s names visible. |
GOURCE_MULTI_SAMPLING
|
|
|
|
Enables anti-aliasing multi-sampling for smoother edges |
GOURCE_SHOW_KEY
|
|
|
|
|
|
Enables the file extension key legend |
GOURCE_REALTIME
|
|
|
|
Runs the visualization at realtime playback speed. |
GOURCE_ELASTICITY
|
|
|
|
Sets the elasticity of nodes. |
GOURCE_FOLLOW_USER
|
|
|
|
Set the camera such that it follows the given user. |
GOURCE_HIGHLIGHT_DIRS
|
|
|
|
Keeps the names of all directories visible for the duration of the visualization. |
GOURCE_HIGHLIGHT_COLOR
|
|
|
|
Sets the color of user names in hex. |
GOURCE_SELECTION_COLOR
|
|
|
|
Sets the color of selected user names (names selected by GOURCE_FOLLOW_USER for example). |
GOURCE_FILENAME_COLOR
|
|
|
|
Sets the color of filenames. |
GOURCE_DIR_COLOR
|
|
|
|
Sets the color of directory names. |
GOURCE_FILE_EXTENSIONS
|
|
|
|
Show filename extensions only. |
GOURCE_USER_FRICTION
|
|
|
|
Sets the time (in seconds) it takes for users to come to a stop. |
GOURCE_DISABLE_AUTO_ROTATE
|
|
|
|
Disables automatic camera rotation. Camera will not rotate. |
GOURCE_COLOR_IMAGES
|
|
|
|
Colorizes the provided user images used in the Default User Image Mount. |
GOURCE_NO_TIME_TRAVEL
|
|
|
|
Use the time of the last commit if the time of a commit is in the past. |
GOURCE_DIR_NAME_POSITION
|
|
|
|
Position along edge of the directory name (between 0.1 and 1.0, default is 0.5). |
GOURCE_FILE_EXTENSION_FALLBACK
|
|
|
|
Use filename as extension if the extension is missing or empty. This applies for the file extension key legend, enabled by GOURCE_SHOW_KEY. |
GOURCE_FONT_SCALE
|
|
|
|
Scales the sizes of all fonts. 1.0 is default, < 1.0 is smaller, and > 1.0 is larger. |
GOURCE_FILE_FONT_SIZE
|
|
|
|
Font size of filenames. |
GOURCE_DIR_FONT_SIZE
|
|
|
|
Font size of directory names. |
GOURCE_USER_FONT_SIZE
|
|
|
|
Font size of user names. |
Caption API
These are specific Gource Variables that will only be used if a caption file was provided to Envisaged Redux at runtime. These settings allow the user to configure the effects of the captions displayed.
GOURCE_CAPTION_SIZE
|
|
|
|
Caption font size. |
GOURCE_CAPTION_COLOR
|
|
|
|
Caption color in hex. |
GOURCE_CAPTION_DURATION
|
|
|
|
The duration in seconds each caption will appear for. |
GOURCE_CAPTION_OFFSET
|
|
|
|
Caption horizontal offset. 0 centers the captions. |
Templated API: Border
For the Border template, these are specialized Environment Variables for configuring Gource. These will only have an effect when used with the Border template, and will have no effect otherwise.
GOURCE_BORDER_TITLE_SIZE
|
|
|
|
Font size for title. |
GOURCE_BORDER_DATE_SIZE
|
|
|
|
Font size for date. |
GOURCE_BORDER_TITLE_COLOR
|
|
|
|
Font color for title. |
GOURCE_BORDER_DATE_COLOR
|
|
|
|
Font color for date. |
API Glossary
The following is a detailed description of the labels used in the API documentation.
- Assignment
-
This denotes the equivalent or assigned Gource runtime argument for the given Environment Variable.
For example, the Environment Variable GOURCE_TITLE has the assignment of
--title
. This means that when the user provides the input ofGOURCE_TITLE="My Project"
, then the argument that is forwarded to Gource is--title "My Project"
.This serves as a easy reference for further exploration if a user is curious what the details of a given configuration are. All Gource assignments can be looked up on the official Gource docs
- Type
-
This denotes the expected datatype of the variable. By default all Environment Variables exist in an unset state save a few exceptions. If a Gource variable is unset, the Gource executable will use its own internal default handler. See Gource’s source code for more details on the default assignments and handling of configuration variables.
In general, configuration variables will either be set to a default value, or remain unset in Gource.
The datatypes are:
- Boolean
-
If set, they must be assigned the value
1
to be considered true.If assigned any value other than
1
, it will be considered false.By default, the state of being unset is equivalent to false.
Example boolean input:
GOURCE_SHOW_KEY="1"
.
- String
-
String or string-based equivalent. May include whitespace.
Example string input:
GOURCE_TITLE="My Project Title"
- List
-
Identical to String, except may not include whitespace. Typically delimited with commas.
Example list input:
GOURCE_HIDE_ITEMS="mouse,date,filenames"
- Integer
-
Integer number. The range bounds if known will be described.
Example integer input:
GOURCE_DIR_NAME_DEPTH="3"
- Float
-
Floating point number. The range bounds if known will be described.
Example float input:
GOURCE_BLOOM_INTENSITY="0.75"
- Hexadecimal
-
6 digit Hexadecimal represented as 3 groups of 256 bit values.
For example, 030201 = <3,2,1>. AABBCC = <170, 187, 204>.
This is often used to represent 256 level RGB color space (0-255).
Example hexadecimal input:
GOURCE_FONT_COLOR="FFCC45"
- Mount Type
-
This specifies the type of mount the user should be expected to assign.
The mount types are:
- Read
-
Read only mounts should be given then
readonly
specifier. This will guarantee that files that are passed to Envisaged Redux cannot be modified or overwritten by Envisaged Redux.
While Envisaged Redux has no reason to write anything to the repositories, it is best to be safe and restrict write access to the host mount.
- Write
-
These are mounts that are expected to be written to. Generally it is a good idea to mount an empty directory to Envisaged Redux so it is clear to the user what files were written as a result of Envisaged Redux.
- Example Value(s)
-
One or more example values that are considered valid inputs for the given Environment Variable.
- Mount Example
-
An example of the syntax to have docker mount a directory to a specified location within Envisaged Redux. The highlighted portion is the section that the user must replace with their own file/folder paths, leaving the rest of the
--mount
flag the same.It is important that the mount points within the container match the given example. Envisaged Redux will perform checks for these directory or file paths and will only enable functionality if the mount points are made at the right paths.
- Default
-
If this is specified, the Environment Variable will use this assigned default value when not explicitly set at runtime.
For example, RENDER_FPS has a default value of
30
. This means that if Envisaged Redux is launched without the RENDER_FPS variable set, it will automatically assign30
as the value of RENDER_FPS.If
RENDER_FPS=60
is set at runtime, the RENDER_FPS variable will be60
instead of the default30
.Environment Variables which do not have a default remain as an unset variable when not declared at runtime.
- Overridden By
-
A list of one or more templates that fully or partially overrides the specified Environment Variable when used.
- Description
-
A general description of what the variable configures.
Troubleshooting
Logo Error
If you receive this error:
convert: no decode delegate for this image format `IMAGE' @ error/constitute.c/ReadImage/556. convert: no images defined `/visualization/resources/logo_txfrmed.image' @ error/convert.c/ConvertImageCommand/3273.
This means the image file passed into Envisaged Redux is not readable by the image converter onboard (ImageMagick). Try using another format or image.
Video can’t be played because the file is corrupt
If you receive this error or something similar during a live preview playback:
Video can't be played because the file is corrupt
This is a known issue. Refreshing the page brings you right back to the latest live preview, and is the current workaround for this issue.