Video encoder fields
These are the fields related to the built in video encoder in the ATEM Mini series of video switchers. This contains all the settings for the “Live stream” and “Stream recorder” components of these devices.
The settings for these two features are interlinked. The same encoder is used for creating the h265 stream for the live broadcast and the recording.
Base encoder settings
- class pyatem.field.StreamingAudioBitrateField(raw)
Data from the STAB. This is the audio bitrate for the internal encoder used for recording and streaming This is always 128k for min and max on tested devices.
Offset
Size
Type
Descriptions
0
4
u32
Min bitrate
4
4
u32
Max bitrate
Live streaming
- class pyatem.field.StreamingServiceField(raw)
Data from the SRSU. This the settings for the live stream output, it also sets the video bitrate for the internal encoder which is shared with the recorder component so this influences recording quality.
The ATEM Software Control application only uses the rtsp URL to display the streaming service name and has a preset list of rtsp urls for various streaming services.
Offset
Size
Type
Descriptions
0
64
char[]
Service display name
65
512
char[]
Target rtsp url
557
512
char[]
Stream key/secret
1089
4
u32
Video bitrate minimum
1093
4
u32
Video bitrate maximum
- class pyatem.field.StreamingStatusField(raw)
Data from the StRS. The displayed status of the live stream
Offset
Size
Type
Descriptions
0
2
i16
Status
2
2
?
unknown
Status
Value
-1
unknown
0
nothing?
1
idle
2
connecting
4
on-air
22
stopping
36
stopping
- class pyatem.field.StreamingStatsField(raw)
Data from the SRSS. The displayed status of the live stream
Offset
Size
Type
Descriptions
0
4
u32
Bitrate
4
2
u16
Cache used
Recording
- class pyatem.field.RecordingSettingsField(raw)
Data from the RMSu. The settings for the stream recorder.
Offset
Size
Type
Descriptions
0
128
char[]
Audio source index
128
4
i32
Disk slot 1 index, or -1 for no disk
132
4
i32
Disk slot 2 index, or -1 for no disk
136
1
bool
Trigger recording in cameras
137
3
?
?
The recorder settings has 2 slots to select attached USB disks. If no disk is selected the i32 will be -1 otherwise it will be the disk number referring a RTMD field
- class pyatem.field.RecordingDiskField(raw)
Data from the RTMD. Info about an attached recording disk.
Offset
Size
Type
Descriptions
0
4
u32
Disk index
4
4
u32
Recording time available in seconds
8
2
u16
Status bitfield
10
64
char[]
Volume name
Bit
Status value
0
Idle
1
Unformatted
2
Ready
3
Recording
4
?
5
Deleted
- class pyatem.field.RecordingStatusField(raw)
Data from the RTMS. The status for the stream recorder and total space left in the target device.
Offset
Size
Type
Descriptions
0
2
u16
Recording status
4
4
i32
Total recording time available
Bit
Status value
0
Recording
1
?
2
Disk full
3
Disk error
4
Disk unformatted
5
Frames dropped
6
?
7
Stopping
- class pyatem.field.RecordingDurationField(raw)
Data from the RTMR. The current recording duration, this does not update very often. The dropped frames field signifies that the disk cannot keep up with writing the data and triggers the warning in the UI.
Offset
Size
Type
Descriptions
0
1
u8
Hours
1
1
u8
Minutes
2
1
u8
Seconds
3
1
u8
Frames
4
1
bool
Has dropped frames
5
3
?
unknown