1 # Copyright (c) 2020-2021 NVIDIA CORPORATION. All rights reserved.
3 @page dwx_config_ref Configuration Reference
6 DriveWorks recording tools use a DriveWorks @ref rigconfiguration_usecase0 "Rig Configuration File" to specify which sensors are to be recorded.
8 An example of a Rig Configuration file is available at
10 /usr/local/driveworks/tools/capture/configs/hyperion7_1/release.json
12 @section dwx_config_ref_params Recorder-Specific Parameters
14 In addition to the the standard sensor parameters documented in the
15 @ref sensors_usecase2 section, there are additional recorder-specific sensor parameters.
16 When required these parameters should be updated in the sensor parameter string
17 in the rig configuration file.
19 @subsection dwx_config_ref_params_encodeformat Camera Encoding Format
21 This mandatory parameter specifies the encoding format for a camera sensor recording. <br>
22 It can be specified as:
24 ...,format=[raw,lraw,h264],...
26 The `format` selected also dictates which `output-format` parameter must be
27 specified for a camera sensor. The table below describes the compatibility
28 between these two parameters:
30 | Encoding Format | `format` | `output-format` |
31 | ----------------| ---------| ----------------|
32 | RAW | `raw` | `raw+yuv` |
33 | LRAW | `lraw` | `raw+yuv` |
34 | H264 | `h264` | `yuv` |
35 | H265 | `h265` | `yuv` |
36 | MP4 | `mp4` | `yuv` |
38 @note This parameter is only applicable to camera sensors.
40 @subsection dwx_config_ref_params_filebuffer File Buffer Size
42 This optional parameter specifies the size (in bytes) of the Operating System
43 write file buffer. It can be specified as:
45 ...,file-buffer-size=XXXXX,...
47 @note This is an advanced tunable, and it is currently recommended to not
48 specify `file-buffer-size`
50 @subsection dwx_config_ref_params_bitrate Recording Bit Rate
52 This optional parameter specifies the bit rate (in bps) for compressed
53 recording formats in Constant Bit Rate (CBR) mode. It can be specified as:
55 ...,bitrate=XXXXXXXX,...
57 The default bit rate is 8mbps.
59 @subsection dwx_config_ref_params_quality Recording Quality
61 This optional parameter specifies the quantization parameter for
62 constant quality in compressed recording formats. It can be specified as:
66 The default mode is CBR so there is no default quality. Quality of 0 is
67 lossless. Higher numbers are worse quality, but smaller in size. The maximum
68 quantization parameter is 50, resulting in the worst quality.
70 @subsection dwx_config_ref_params_asynchronusRecord Asynchronus recording
72 This optional parameter specifies whether to record the sensor in asynchronus mode and
73 it can be specified as:
75 ...,async-record=1,...
77 @subsection dwx_config_ref_params_cameraFrameSkip Recording Nth Camera Frame
79 This optional parameter specifies to record every Nth camera frame and
80 it can be specified as:
84 Ex: frame-mod=5 records every 5th frame and skips the other frames.
86 @subsection dwx_config_ref_params_encoderInstance Selection of Encoder Instance
88 This optional parameter allows specification of which hardware encoder will
89 be used for a given sensor, for example to manually allocate hardware resources.
90 It can be specified as:
92 ...,encoder-instance=0,...
94 Valid options vary based on hardware. On Xavier options are 0 and 1.
96 @subsection dwx_config_ref_params_entropy Selection of Encoder Entropy
98 This optional parameter allows specification of the H264 Entropy encoder type.
100 ...,entropy=cavlc,...
102 Valid options are 'cabac' and 'cavlc'. The default is 'cabac'.
104 @subsection dwx_config_ref_params_gopLength Selection of Encoder GOP-length
106 This optional parameter allows specification of the GOP Length of the encoded video.
107 GOP length holds the number of pictures in one GOP
109 ...,gop-length=XXX,...
111 Ex: gop-length=10 will be 1 I frame followed by 9 P frames
113 @subsection dwx_config_ref_params_newcodecstack Toggle to switch between the old and the new codec stack
115 This optional parameter allows use to specify which codec to use for serializing sensor data.
116 The value supplied to the parameter should either be 0 or 1.
118 ...,newcodecstack=[0|1],...
120 @section dwx_config_ref_distributed Distributed Recording
122 Distributed recording across multiple Xavier processors is supported via
123 both @ref dwx_recorder_textui_tool and @ref dwx_gui_recording2_tool
125 Instead of passing a single rig file, a `rig_directory` containing a rig file
126 per Xavier processor should be passed to the respective tool. <br> Below is an example
127 of the directory structure:
130 |___10.42.0.28<_rigConfiguration_seqNum>.json
131 |___10.42.0.29<_rigConfiguration_seqNum>.json
134 rigConfiguration is the rig name generated in aux_info, if its not provided then 'default' is generated as rig name in aux_info
136 For master-slave recording:
137 The seqNum determines order of the initialization, which is important when some sensors are in master/slave combination. SeqNum is used for orchestration of recorders, for all the masters seqNum should be provided(in ascending order in the format of IP_rigConfiguration_seqNum) and for slaves its optional. If seqNum is not provided ordering will be same as the internal file system order.
139 As shown above, the IP address of each Xavier is specified within the rig file name.
140 In additional, if any of the following scripts are present in the `rig_directory`, they will be run based
141 on the respective trigger cadence on each target processor/IP provided via the input rigs.
143 | File name | Trigger cadence | Arguments |
144 | ------------------------------- | ----------------------- |------------------- |
145 | `recorder-platform-setup.sh` | App launch | None |
146 | `recorder-platform-cleanup.sh` | App exit | None |
147 | `recorder-pre-start.sh` | Recording session start | List of disk sinks |
148 | `recorder-post-stop.sh` | Recording session end | List of disk sinks |