Orchid VMS can be load a specific stage configuration and playing time using a URL of the form: https://{your fusion or orchid server}/#!/stage?s={stage-configuration}
The stage matrix's URL query parameter s is an uncompressed representation of a 2D grid of players and maps displayed on the stage. This parameter allows the matrix configuration to be shared or persisted as a compact string. The system parses this URL parameter to reconstruct the matrix for display. A compressed version of the same data may be specified using the z parameter.
This article explains the format of the URL parameter, how it is structured, and how it is parsed into a matrix.
URL Parameter Format
The URL parameter is a JSON representation of a 2D array of cells. Each cell in the matrix corresponds to either:
- A player cell (representing a player camera),
- A map cell (representing a map view), or
- An empty cell.
Cell Types
Player Cell:
- Format: ["p", orchidId, cameraId, rowSpan, columnSpan]
- Fields:
- "p": Indicates the cell type is a player.
- orchidId: A unique identifier for the player's camera (Orchid's UUID for Fusion or 1 for Orchid).
- cameraId: The ID of the player's camera (number).
- rowSpan: The number of rows the cell spans (number).
- columnSpan: The number of columns the cell spans (number).
Map Cell:
- Format: ["m", mapId, rowSpan, columnSpan]
- Fields:
- "m": Indicates the cell type is a map.
- mapId: The ID of the map (string).
- rowSpan: The number of rows the cell spans (number).
- columnSpan: The number of columns the cell spans (number).
Empty Cell:
- Format: []
-
Represents a cell with no data or invalid configuration.
Example URL Parameter
Matrix Parameter
Consider the following Stage matrix represented as JSON:
[
[
["p","orchidUUID",12,1,2],[],["m","cameraGroupUUID",2,3],[],[]],
[[],[],[],[],[]],
[[],[],[],[],[]],
[[],["p","orchidUUID",15,2,3],[],[],[]],
[[],[],[],[],[]
]
]
This specifies the following stage configuration:
Note The rowSpan and columnSpan properties need to be reflected in the rest of the grid. If there is a columnSpan greater than 1, there needs to be an empty cell for it to span into. If the rowSpan is greater than 1, there needs to be corresponding rows for the cell to expand into.
URL Parameter
The JSON string, formatted for a URL:
https://{orchid-server}/#!/stage?s=[[["p","orchidUUID",12,1,2],[],["m","cameraGroupUUID",2,3],[],[]],[[],[],[],[],[]],[[],[],[],[],[]],[[],["p","orchidUUID",15,2,3],[],[],[]],[[],[],[],[],[]]]
Compression
Optionally, the JSON URL parameter may compressed using the lz-string algorithm as a URI component (using the compressToEncodedURIComponent method and then specified as a the z parameter:
https://{orchid-server}/#!/stage?z=NohEAdQGlB7AnAxgCwJYBMCqmCSARaARgCYpCpiBdKYa4UAW2lEQEMGBTeVgcXlgCu4bPmikAzHSl1aNKXLkz5slZSU0IzBCgwiCZAKwUokhavWqzaykA
Summary
The stage matrix URL parameter is a JSON string representation of a 2D grid of players and maps making it easy to share and persist configurations. The system parses this parameter to reconstruct the matrix for display on the stage.
Key Points:
- Player cells are represented as ['p', orchidId, cameraId, rowSpan, columnSpan].
- Map cells are represented as ['m', mapId, rowSpan, columnSpan].
- Empty cells are represented as [].
- Invalid or unrecognized cells are treated as empty cells during parsing.
This feature enables efficient sharing and reconstruction of stage layouts for collaborative or persistent use cases.
Comments
0 comments
Article is closed for comments.