NGL tools¶
The ngl-tools is a set of small C programs making use of
libnopegl
.
ngl-player¶
ngl-player
is a basic real time video player. If you are looking into
testing or diagnose video playback and seeking issues, this tool is likely a
good start.
Usage: ngl-player [options] <media>
The detail of available options can be obtained with ngl-player -h
.
Source: ngl-tools/ngl-player.c
ngl-render¶
ngl-render
is a rendering test tool. It takes a serialized scene as input
(input.ngl
or stdin
if not specified) and render the specified time ranges
(by default, in a hidden window).
Usage: ngl-render [-o out.raw] [-s WxH] [-w] [-d] [-z swapinterval] -t start:duration:freq [-t start:duration:freq ...] [-i input.ngl]
Option |
Description |
---|---|
|
specify the raw output file, “-” can be used for stdout output |
|
specify the output dimensions in |
|
if specified, the rendering window will be shown |
|
enable debugging (of the tool) |
|
specify the OpenGL swapping interval (useful in combination with |
|
specify a time range to render in |
Example: ngl-serialize pynopegl_utils.examples.misc fibo - | ngl-render -t 0:60:60 -s 640x480 -o - | ffplay -f rawvideo -framerate 60 -video_size 640x480 -pixel_format rgba -
Source: ngl-tools/ngl-render.c
ngl-python¶
ngl-python
is a nope.gl
Python scene loader. It uses the C API of Python to
execute a demo script (in order to get the scene) and render it using the
libnopegl
C API.
Note: it is only available if the Python headers are present on the system at build time.
Usage: ngl-python [options] <module|script.py> <scene_func>
The detail of available options can be obtained with ngl-python -h
.
Example: ngl-python pynopegl_utils.examples.misc fibo
Source: ngl-tools/ngl-python.c
ngl-serialize¶
ngl-serialize
serializes a nope.gl
Python scene into the ngl
format.
Similarly to ngl-python
, it relies on the C API of Python to execute the
specified entry point.
Note: it is only available if the Python headers are present on the system at build time.
Usage: ngl-serialize <module> <scene_func> <output.ngl>
Example: ngl-serialize pynopegl_utils.examples.misc fibo -
Source: ngl-tools/ngl-serialize.c
ngl-desktop¶
ngl-desktop
is a player waiting for user commands from a socket connection.
It is meant to be used with ngl-ipc
for communicating commands.
By default, ngl-desktop
listen for connections on localhost
on port 1234
.
The detail of available options can be obtained with ngl-desktop -h
.
Example: ngl-desktop -x 0.0.0.0 -p 2000 --backend opengles -c 223344FF
ngl-ipc¶
ngl-ipc
is the tool used to make queries to ngl-desktop
instances.
The detail of available options can be obtained with ngl-ipc -h
.
Example: ngl-serialize pynopegl_utils.examples.misc fibo - | ngl-ipc -p 2000 -f -
ngl-probe¶
ngl-probe
is a backend capabilities probing tool.
By default, ngl-probe
prints the capabilities of every available backends,
following a YAML output layout. If the --cap
option is specified, it will
query the specified backend if set (-b
/--backend
) or query the default one.
The detail of available options can be obtained with ngl-probe -h
.
Player keyboard controls¶
ngl-player
, ngl-python
and ngl-desktop
are scene players supporting the
following keyboard controls:
Key |
Action |
---|---|
|
quit the application |
|
toggle the pause/playback |
|
seek by -10 seconds |
|
seek by +10 seconds |
|
toggle windowed/fullscreen |
|
take a screenshot |
|
kill the current scene |
|
toggle the HUD |