Skip to content

Commit

Permalink
Add initial documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
DaniElectra committed Feb 14, 2024
1 parent 78eaace commit adfd182
Show file tree
Hide file tree
Showing 14 changed files with 636 additions and 4 deletions.
9 changes: 5 additions & 4 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
title: Just the Docs Template
description: A starter template for a Jeykll site using the Just the Docs theme!
title: Ubitus Wiki
description: Documentation about the Ubitus protocols
theme: just-the-docs
color_scheme: dark

url: https://just-the-docs.github.io
url: https://pandorastream.github.io

aux_links:
Template Repository: https://github.com/just-the-docs/just-the-docs-template
# Template Repository: https://github.com/just-the-docs/just-the-docs-template
41 changes: 41 additions & 0 deletions docs/irtsp/echo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
title: ECHO method
layout: default
parent: iRTSP Protocol
nav_order: 10
---

# ECHO method

This method is used for validating that the server is still alive.

## Request

| Header | Description |
|--------|-----------------------------------|
| t | Unknown, seems to be time related |

Example:

```
iRTSP/1.21
Seq=3
SET/ECHO
t=61018
Submit
```

## Response

The response doesn't include any headers.

Example:

```
iRTSP/1.21
Seq=3
RSP/ECHO/200
Submit
```
11 changes: 11 additions & 0 deletions docs/irtsp/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: iRTSP Protocol
layout: default
has_children: true
---

# iRTSP Protocol

The iRTSP Protocol (presumably standing for Interactive Real Time Streaming Protocol) is a streaming protocol based on the standard [RTSP](https://www.ietf.org/rfc/rfc2326.txt) protocol used by Ubitus on the GameNow and GameCloud services.

It has some additions to allow the client to interact with the server, this way allowing games to send user input to the server, so that the server can process it and send the gameplay back in various streams.
44 changes: 44 additions & 0 deletions docs/irtsp/knock.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
title: KNOCK method
layout: default
parent: iRTSP Protocol
nav_order: 4
---

# KNOCK method

The KNOCK method is used for getting the KNOCK media stream. In this stream, the server sends random data to the client at a certain bitrate set by the client. This is used for testing the connection and determining its speed.

## Request

| Header | Description |
|---------|---------------------------------------------|
| Bitrate | The bitrate (Kbps) to be used in the stream |

Example:

```
iRTSP/1.21
Seq=2
SET/KNOCK
Bitrate=1400
Submit
```

## Response

| Header | Description |
|--------|--------------------------------------------------------------------|
| p | The [media header](/docs/media-stream#media-header) for the stream |

Example:

```
iRTSP/1.21
Seq=2
RSP/KNOCK/200
p=iDataChunk/unicast/tcp/44805;
Submit
```
75 changes: 75 additions & 0 deletions docs/irtsp/message.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
title: iRTSP Message
layout: default
parent: iRTSP Protocol
nav_order: 1
---

# iRTSP Message

An iRTSP message is composed as follows:

```
Version + CRLF
"Seq" + = + Sequence Number + CRLF
Type + / + Method (+ / + Code) + CRLF
Header (+ = + Value) + CRLF
...
"Submit" + CRLF
```

All iRTSP messages end with the word `Submit`, followed by a `CRLF`.

Example iRTSP request:

```
iRTSP/1.21
Seq=0
SET/START
t=45850
sc
Submit
```

Example iRTSP response:

```
iRTSP/1.21
Seq=0
RSP/START/200
t=45850,1806955874,1806955874
sc=tls
Submit
```

## Version

This represents the iRTSP version used. Example: `iRTSP/1.21`

## Sequence Number

This stores the sequence value of an iRTSP message. It works the same way as the `CSeq` header of a standard RTSP message.

## Message Type

This differentiates if an iRTSP message is a request or a response. If the message is a request, it will have the value `SET`. If the message is a response, then it will use the value `RSP`. Both the client and server can send request and response messages.

## Method

This stores the method used on the message. The known possible values are:
- START
- SETUP
- KNOCK
- PUSHINFO
- USERINFO
- REMOTECTL
- SET
- PLAY
- ECHO
- TEARDOWN

## Headers

All message headers have a header field and value. These are split with an equal sign `=` and with no spaces, instead of the usual two dots `:` used in standard RTSP.
44 changes: 44 additions & 0 deletions docs/irtsp/play.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
title: PLAY method
layout: default
parent: iRTSP Protocol
nav_order: 9
---

# PLAY method

This method starts the transmission of the video, audio and control streams.

## Request

| Header | Description |
|--------|-----------------------------------|
| t | Unknown, seems to be time related |

Example:

```
iRTSP/1.21
Seq=6
SET/PLAY
t=1469001
Submit
```

## Response

| Header | Description |
|--------|-----------------------------------|
| t | Unknown, seems to be time related |

Example:

```
iRTSP/1.21
Seq=6
RSP/PLAY/200
t=1469001,1877240750,1877240750
Submit
```
60 changes: 60 additions & 0 deletions docs/irtsp/pushinfo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
title: PUSHINFO method
layout: default
parent: iRTSP Protocol
nav_order: 5
---

# PUSHINFO method

This method is requested by the server to the client to give information about the result of the connection test.

## Request

The request can be either:

| Header | Description |
|---------|-----------------------------------------|
| Bitrate | The result bitrate (Kbps) in the stream |

Or, if the connection test fails:

| Header | Description |
|--------|----------------|
| Error | The error code |

Example for a successful connection:

```
iRTSP/1.21
Seq=0
SET/PUSHINFO
Bitrate=888
Submit
```

Example for a too slow connection:

```
iRTSP/1.21
Seq=0
SET/PUSHINFO
Error=1014
Submit
```

## Response

The response doesn't include any headers.

Example:

```
iRTSP/1.21
Seq=0
RSP/PUSHINFO/200
Submit
```
41 changes: 41 additions & 0 deletions docs/irtsp/remotectl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
title: REMOTECTL method
layout: default
parent: iRTSP Protocol
nav_order: 7
---

# REMOTECTL method

This method serves an unknown purpose, but it's possibly passing information for configuring the control stream.

## Request

| Header | Description |
|--------|-----------------------------------------------------------------------------|
| ctl | Unknown, possibly containing information for configuring the control stream |

Example:

```
iRTSP/1.21
Seq=4
SET/REMOTECTL
ctl=wm/32805/0/0
Submit
```

## Response

The response doesn't include any headers.

Example:

```
iRTSP/1.21
Seq=4
RSP/REMOTECTL/200
Submit
```
Loading

0 comments on commit adfd182

Please sign in to comment.