You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sync video recorder's (--video) renderer backend with the active visualizer (--visualizer) (#5474)
# Description
<!--
Thank you for your interest in sending a pull request. Please make sure
to check the contribution guidelines.
Link:
https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html
💡 Please try to keep PRs small and focused. Large PRs are harder to
review and merge.
-->
Extending Brian's original PR:
Sync video recorder's (--video) renderer backend with the active
visualizer (--visualizer)
Change enable cross recording support for Renderers and Visualizers
Also fixes
https://nvbugs/6121118
<!-- As a practice, it is recommended to open an issue to have
discussions on the proposed pull request.
This makes it easier for the community to keep track of what is being
developed or added, and if a given feature
is demanded by more than one party. -->
## Type of change
<!-- As you go through the list, delete the ones that are not
applicable. -->
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
## Screenshots
Please attach before and after screenshots of the change if applicable.
<!--
Example:
| Before | After |
| ------ | ----- |
| _gif/png before_ | _gif/png after_ |
To upload images to a PR -- simply drag and drop an image while in edit
mode and it should upload the image directly. You can then paste that
source into the above before/after sections.
-->
## Checklist
- [ ] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it
For example,
- [x] I have done this task
- [ ] I have not done this task
-->
---------
Signed-off-by: bdilinila <148156773+bdilinila@users.noreply.github.com>
Signed-off-by: Kelly Guo <kellyg@nvidia.com>
Signed-off-by: matthewtrepte <mtrepte@nvidia.com>
Co-authored-by: Brian Dilinila <bdilinila@nvidia.com>
Co-authored-by: HuiDong Chen <huidongc@nvidia.com>
Co-authored-by: bdilinila <148156773+bdilinila@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Piotr Barejko <pbarejko@nvidia.com>
Co-authored-by: myurasov-nv <168484206+myurasov-nv@users.noreply.github.com>
Co-authored-by: Pascal Roth <57946385+pascal-roth@users.noreply.github.com>
Co-authored-by: Antoine Richard <antoiner@nvidia.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: ClemensSchwarke <clemens.schwarke@gmail.com>
Co-authored-by: rwiltz <165190220+rwiltz@users.noreply.github.com>
Co-authored-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: Kelly Guo <kelly@nvidia.com>
Co-authored-by: ooctipus <zhengyuz@nvidia.com>
Co-authored-by: hougantc-nvda <127865892+hougantc-nvda@users.noreply.github.com>
Co-authored-by: Piotr Barejko <piotrbarejko@protonmail.com>
When the ``--video`` flag is enabled, Isaac Lab captures a perspective view of the scene. The backend
7
-
is chosen automatically from the active physics and renderer stack: an Isaac Sim Kit camera or a
8
-
Newton GL headless viewer.
6
+
When the ``--video`` flag is enabled, Isaac Lab captures a perspective view of the scene. If a Kit or
7
+
Newton visualizer is active, that visualizer selects the video backend by default. Otherwise, the
8
+
backend is chosen automatically from the active physics and renderer stack: an Isaac Sim Kit camera or
9
+
a Newton GL headless viewer.
9
10
10
11
This feature can be enabled by installing ``ffmpeg`` and using the following command line arguments with the training
11
12
script:
@@ -32,8 +33,8 @@ Overview
32
33
33
34
The video recording feature is implemented using the ``VideoRecorder`` class. This class is responsible for resolving the video backend from the scene, capturing the video frames, and saving them to a file.
34
35
35
-
* ``VideoRecorderCfg`` (``isaaclab.envs.utils.video_recorder_cfg``) holds resolution and world-space
36
-
perspective parameters ``camera_position`` and ``camera_target`` (defaults to a diagonal view of the
@@ -72,11 +73,20 @@ Backend selection: Kit vs Newton GL
72
73
-------------------------------------
73
74
74
75
``VideoRecorder`` resolves the implementation from the live :class:`~isaaclab.scene.InteractiveScene`.
75
-
If the user provides the PhysX physics (``presets=physx,...``) or Isaac RTX (``presets=isaac_rtx_renderer,...``) in the sensor stack, the Kit path is selected (``omni.replicator`` on
76
-
``/OmniverseKit_Persp``). The Newton GL path is selected when Newton physics is active (``presets=newton,...``) or the Newton
77
-
Warp renderer (``presets=newton_renderer,...``) appears in the sensor stack - and neither PhysX nor Isaac RTX is present to claim the
78
-
Kit path. OVRTX (``presets=ovrtx_renderer,...`` from ``isaaclab_ov``) can pair with IsaacSim or Newton physics; in that case the video backend is
79
-
selected via the physics preset. If both Kit and Newton GL signals are present (e.g., ``presets=physx,isaac_rtx_renderer,...`` or ``presets=newton,newton_renderer,...``), the Kit path is chosen.
76
+
With the default ``VideoRecorderCfg.backend_source = "visualizer"``, an active ``--visualizer kit``
77
+
selects the Kit path (``omni.replicator`` on ``/OmniverseKit_Persp``), and an active
78
+
``--visualizer newton`` selects the Newton GL path. If both visualizers are active, Kit takes
79
+
precedence and only one ``--video`` stream is recorded. Rerun records ``.rrd`` replay data through
80
+
the Rerun visualizer rather than producing ``--video`` clips, and Viser does not currently provide a
81
+
``--video`` recording backend.
82
+
83
+
Set ``VideoRecorderCfg.backend_source = "renderer"`` to ignore active visualizers and choose from the
84
+
physics/renderer stack instead. In that mode, PhysX physics (``presets=physx,...``) or Isaac RTX
85
+
(``presets=isaac_rtx_renderer,...``) selects the Kit path. Newton physics (``presets=newton,...``) or
86
+
the Newton Warp renderer (``presets=newton_renderer,...``) selects the Newton GL path when no Kit
87
+
signal is present. OVRTX (``presets=ovrtx_renderer,...`` from ``isaaclab_ov``) can pair with IsaacSim
88
+
or Newton physics; in that case the video backend is selected via the physics preset. If both Kit and
89
+
Newton GL signals are present, the Kit path is chosen.
0 commit comments