Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
dvr_api [2019/10/10 19:51] neds [Parameters] |
dvr_api [2019/10/10 19:52] neds |
||
---|---|---|---|
Line 2: | Line 2: | ||
=====Live TV===== | =====Live TV===== | ||
+ | <WRAP indent> | ||
The record engine supports buffering live TV with automatic tuner sharing. | The record engine supports buffering live TV with automatic tuner sharing. | ||
====API URL==== | ====API URL==== | ||
+ | <WRAP indent> | ||
<code><storage engine BaseURL>/auto/v<channel number>?<parameters></code> | <code><storage engine BaseURL>/auto/v<channel number>?<parameters></code> | ||
Example: <code>http://10.20.20.162:4999/auto/v2.1?<parameters></code> | Example: <code>http://10.20.20.162:4999/auto/v2.1?<parameters></code> | ||
+ | </WRAP> | ||
====Parameters==== | ====Parameters==== | ||
+ | <WRAP indent> | ||
^ Parameter ^ Type ^ Description ^ | ^ Parameter ^ Type ^ Description ^ | ||
| ClientID | GUID | Unique ID to identify the player. | | | ClientID | GUID | Unique ID to identify the player. | | ||
Line 24: | Line 24: | ||
The SessionID must be unique for each new request of a channel. This allows the record engine to differentiate between a new request vs a seek within the existing session. | The SessionID must be unique for each new request of a channel. This allows the record engine to differentiate between a new request vs a seek within the existing session. | ||
+ | </WRAP> | ||
====Seeking==== | ====Seeking==== | ||
+ | <WRAP indent> | ||
- Close the existing HTTP connection that is streaming video. | - Close the existing HTTP connection that is streaming video. | ||
- Issue a new HTTP request specifying the desired starting byte offset in the RANGE header. The ClientID and SessionID parameters of the URL must be the same as the original HTTP request. | - Issue a new HTTP request specifying the desired starting byte offset in the RANGE header. The ClientID and SessionID parameters of the URL must be the same as the original HTTP request. | ||
Line 32: | Line 33: | ||
The record engine automatically limits the amount of back history that is available for a channel to avoid running the DVR out of disk space when a client is left playing a channel for an extended period of time. When attempting to seek back to a byte position that is before the oldest still-available data the record engine will return success and will indicate the actual (higher) byte position in the HTTP Content-Range response header. | The record engine automatically limits the amount of back history that is available for a channel to avoid running the DVR out of disk space when a client is left playing a channel for an extended period of time. When attempting to seek back to a byte position that is before the oldest still-available data the record engine will return success and will indicate the actual (higher) byte position in the HTTP Content-Range response header. | ||
+ | </WRAP> | ||
====Changing channel==== | ====Changing channel==== | ||
+ | <WRAP indent> | ||
- Close the existing HTTP connection that is streaming video. | - Close the existing HTTP connection that is streaming video. | ||
- Issue a new HTTP connection to request the new channel. Use the same ClientID but a new SessionID. | - Issue a new HTTP connection to request the new channel. Use the same ClientID but a new SessionID. | ||
Line 41: | Line 42: | ||
The new SessionID tells the record engine that this is a new request rather than a seek request. Required to handle the situation where the user leaves live TV mode, then a short while later goes back into live TV mode. | The new SessionID tells the record engine that this is a new request rather than a seek request. Required to handle the situation where the user leaves live TV mode, then a short while later goes back into live TV mode. | ||
+ | </WRAP> | ||
+ | </WRAP> |