This module adds improved recording and replay features to FS. It can record and play flights of almost unlimited length. It also supports recording of AI traffic, and playback of recordings as (AI) traffic, which allows flying formations with yourself. Furthermore it adds advanced view features to the tower, spot and VC view modes. By Matthias Neusinger.
- Screen Recorder Simulator
- Simulation Recording Software
- Signal Simulator Recorder
- Simulation Recording
- Screen Recorder Simulator Ios
Screen Recorder Simulator
This version of FS Recorder requires FSX with Service Pack 1 installed!
Recorder This feature allows to record and reenact a previous simulation. All the events happened are registered in the recorder file. There are some high-level queries to trace and study those events. Free flight recorder now available:Scenery provided by NZA Simulationshttps://flightsim.to/file/4.
Simulation Recording Software
Automatic installation:
First extract the zip file to a directory of you choice. Then start the included Windows Installer file 'Setup.msi' and follow the instructions. FSX has to be installed on your system, otherwise the installer will not run. If you have a previous
version of FS Recorder for FSX installed, you have to uninstall it first.
The module and documentation will be installed into the directory you enter in the installation wizard. The installer will automatically add the required Launch.Addon entry to the FSX dll.xml file.
The creators of Ghost EVP/EMF Radio bring you EMF Recorder; an EMF device simulator that allows you to measure and record the electromagnetic fields around you. Recording Solution for Simulation Recording. At IVS, we’ve listened to the feedback of our clinical education customers and developed a new tool that addresses the challenge of simulation video observation, recording, and debriefing: VALT. The VALT solution is an incredibly simple but powerful tool that can be learned in minutes.
Manual installation:
Create a directory and extract the file 'RecorderFSX.dll' into it. Then open the file 'dll.xml', which is located in 'Documents and Settings[USER]Application DataMicrosoftFSX' and add the following entry before ':
FS Recorder Module
False
False
[PATH]RecorderFSX.dll
Where you have to replace [PATH] with the path, where RecorderFSX.dll is located.
If you are using Windows Vista, make sure that security permissions are correct for the FS Recorder directory and the DLL. If you run FSX as administrator, there should be no problem, otherwise make sure that your user account has execute permission for RecorderFSX.dll and the permission to create and write files in the FS Recorder directory.
Uninstalling:
If you used the installer for installation, select the 'Uninstall' shortcut under 'Start > Programs > FS Recorder for FSX'. Or you open the Windows control panel and select 'Software', find 'FS Recorder for FSX' in the list and select 'Remove'.
Signal Simulator Recorder
If you did a manual installation, remove the entry, which you added to the 'dll.xml' file.
Usage information can be found in the included PDF manual. READ THE MANUAL BEFORE USING THE MODULE, IT INCLUDES SOME IMPORTANT NOTES TO AVOID PROBLEMS!
This is one of the advanced CARLA features. It allows to record and reenact a simulation while providing with a complete log of the events happened and a few queries to ease the trace and study of those.
To learn about the generated file and its specifics take a look at this reference.
- Simulation playback:
- Setting a time factor
- Queries:
- Collisions
- Blocked actors
Recording
All the data is written in a binary file on the server side only. However, the recorder is managed using the carla.Client.
To reenact the simulation, actors will be updated on every frame according to the data contained in the recorded file. Actors that appear in the simulation will be either moved or re-spawned to emulate the recording. Those that do not appear in the recording will continue their way as if nothing happened.
Important
By the end of the playback, vehicles will be set to autopilot, but pedestrians will stop at their current location.
The information registered by the recorder basically includes:
- Actors: Creation and destruction.
- Traffic lights: State changes.
- Vehicles and pedestrians: Position and orientation.
To start recording there is only need for a file name. Using ,
/
or :
characters in the file name will define it as an absolute path. If no path is detailed, the file will be saved in CarlaUE4/Saved
.
To stop the recording, the call is also straightforward:
Note
As an estimate: 1h recording with 50 traffic lights and 100 vehicles takes around 200MB in size.
Simulation playback
A playback can be started at any point during a simulation only specifying the file name.
Additionally, this method allows for some parameters to specify which segment of the recording is reenacted:
Parameters | Description | Notes |
---|---|---|
start | Recording time in seconds to start the simulation at. | If positive, time will be considered from the beginning of the recording. If negative, it will be considered from the end. |
duration | Seconds to playback. 0 is all the recording. | By the end of the playback, vehicles will be set to autopilot and pedestrians will stop. |
camera | ID of the actor that the camera will focus on. | By default the spectator will move freely. |
Note
These parameters allows to recall an event and then let the simulation run free, as vehicles will be set to autopilot when the recording stops.
Setting a time factor
The time factor will determine the playback speed.
It can be changed any moment without stopping the playback, using the following API call:
Parameters | Default | Fast motion | slow motion |
---|---|---|---|
time_factor | 1.0 | >1.0 | <1.0 |
Simulation Recording
Important
Over 2.0 position interpolation is disabled and just updated. Pedestrians' animations are not affected by the time factor.
Screen Recorder Simulator Ios
For instance, with a time factor of 20x traffic flow is easily appreciated:
Recorded file
The details of a recording can be retrieved using a simple API call. By default, it only retrieves those frames where an event was registered, but setting the parameter show_all
would return all the information for every frame. The specifics on how the data is stored are detailed in the recorder's reference.
The following example only would retrieve remarkable events:
Opening information: map, date and time when the simulation was recorded.
Frame information: any event that could happen (actor spawning/destruction, collisions...). The output contains the actor's ID and some additional information.
Closing information: a summary of number of frames and total time recorded.
The output result should be similar to this one:
Queries
Collisions
In order to record collisions, vehicles must have a collision detector attached. The collisions registered by the recorder can be queried using arguments to filter the type of the actors involved in the collisions. For example, h
identifies actors whose role_name = hero
, usually assigned to vehicles managed by the user.
Currently, the actor types that can be used in the query are:
- h = Hero
- v = Vehicle
- w = Walker
- t = Traffic light
- o = Other
- a = Any
Note
The manual_control.py
script automatically assigns the role_name
of the vehicle to hero
besides providing control over it.
The API call to query collisions requires two of the previous flags to filter the collisions. The following example would show collisions registered between vehicles and any other object:
The output summarizes time of the collision and type, ID and description of the actors involved. It should be similar to this one:
Important
As it is the hero
or ego
vehicle who registers the collision, this will always be Actor 1
.
To understand how that collision happened, it could be a good idea to replay it just moments before the event:
In this case, the playback showed this:
Blocked actors
This query is used to detect vehicles that where stucked during the recording. An actor is considered blocked if it does not move a minimum distance in a certain time. This definition is made by the user during the query:
Parameters | Description | Default |
---|---|---|
min_time | Minimum seconds to move min_distance . | 30 secs. |
min_distance | Minimum centimeters to move to not be considered blocked. | 10 cm. |
Note
Take into account that vehicles are stopped at traffic lights sometimes for longer than expected.
For the sake of comprehension, let's make an example to look for vehicles stopped (moving less than 1 meter during 60 seconds):
The output is sorted by duration, which states how long it took to stop being 'blocked' and move the min_distance
:
In this example, the vehicle 173
was stopped for 336
seconds at time 36
seconds. To check the cause of it , it would be useful to check how it arrived to that situation by replaying a few seconds before the second 36
:
Sample python scripts
Some of the provided scripts in PythonAPI/examples
facilitate the use of the recorder:
- start_recording.py: starts the recording. Optionally actors can be spawned at the beginning and duration of the recording set.
Parameters | Description |
---|---|
-f | Filename. |
-n (optional) | Vehicles to spawn. Default is 10. |
-t (optional) | Duration of the recording. |
- start_replaying.py: starts the playback of a recording. Starting time, duration and actor to follow can be set.
Parameters | Description |
---|---|
-f | Filename. |
-s (optional) | Starting time. Default is 0. |
-d (optional) | Duration. Default is all. |
-c (optional) | ID of the actor to follow. |
- show_recorder_file_info.py: shows all the information in the recording file.
Two modes of detail: by default it only shows frames where some event is recorded. The second shows all information for all frames.
Parameters | Description |
---|---|
-f | Filename. |
-s (optional) | Flag to show all details. |
- show_recorder_collisions.py: shows recorded collisions between two actors of type A and B defined using a series of flags:
-t = vv
would show all collisions between vehicles.
Parameters | Description |
---|---|
-f | Filename. |
-t | Flags of the actors involved: h = hero v = vehicle w = walker t = traffic light o = other a = any |
- show_recorder_actors_blocked.py: shows a register for vehicles considered blocked. Actors are considered blocked when not moving a minimum distance in a certain time.
Parameters | Description |
---|---|
-f | Filename. |
-t (optional) | Time to move -d before being considered blocked. |
-d (optional) | Distance to move to not be considered blocked. |
Now it is time to experiment for a while. Use the recorder to playback a simulation, trace back events, make changes to see new outcomes. Feel free to say your word in the CARLA forum about this matter: