Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
http_api [2019/10/14 04:23]
neds
http_api [2022/09/23 04:25] (current)
neds
Line 5: Line 5:
 The list of available channels can be queried using the following URLs: The list of available channels can be queried using the following URLs:
  
-     ​http://​<device ip>/​lineup.json +     ​http://​hdhomerun.local/​lineup.json 
-     ​http://​<device ip>/lineup.xml+     ​http://​hdhomerun.local/lineup.xml 
 +     ​http://​hdhomerun.local/​lineup.m3u 
 +\\ 
 +//**Note:** "​hdhomerun.local"​ can also be replaced by the deviceID.local or the IP address of the HDHomeRun.//​ 
 +\\
 \\ \\
- 
 The following information is returned for each program: The following information is returned for each program:
   * "​GuideNumber"​ (virtual channel number). For ATSC the number will be "​n.n"​ format. For all other systems the number will be "​n"​ format.   * "​GuideNumber"​ (virtual channel number). For ATSC the number will be "​n.n"​ format. For all other systems the number will be "​n"​ format.
Line 18: Line 21:
  
 </​WRAP>​ </​WRAP>​
-=====Channel URL examples===== 
-<WRAP indent> 
- 
- 
- 
-</​WRAP>​ 
-=====Error codes===== 
-<WRAP indent> 
  
- 
- 
-</​WRAP>​ 
 =====Streaming Video===== =====Streaming Video=====
 <WRAP indent> <WRAP indent>
Line 56: Line 48:
   * heavy: transcode to AVC with the same resolution, frame-rate, and interlacing as the original stream. For example 1080i60 → AVC 1080i60, 720p60 → AVC 720p60.   * heavy: transcode to AVC with the same resolution, frame-rate, and interlacing as the original stream. For example 1080i60 → AVC 1080i60, 720p60 → AVC 720p60.
   *  mobile: trancode to AVC progressive not exceeding 1280x720 30fps.   *  mobile: trancode to AVC progressive not exceeding 1280x720 30fps.
-  *  ​internet720: transcode to low bitrate AVC progressive not exceeding ​1280x720 ​30fps.+  *  ​internet540: transcode to low bitrate AVC progressive not exceeding ​960x540 ​30fps.
   *  internet480:​ transcode to low bitrate AVC progressive not exceeding 848x480 30fps for 16:9 content, not exceeding 640x480 30fps for 4:3 content.   *  internet480:​ transcode to low bitrate AVC progressive not exceeding 848x480 30fps for 16:9 content, not exceeding 640x480 30fps for 4:3 content.
   *  internet360:​ transcode to low bitrate AVC progressive not exceeding 640x360 30fps for 16:9 content, not exceeding 480x360 30fps for 4:3 content.   *  internet360:​ transcode to low bitrate AVC progressive not exceeding 640x360 30fps for 16:9 content, not exceeding 480x360 30fps for 4:3 content.
Line 65: Line 57:
 <WRAP indent> <WRAP indent>
 For the URL "​http://​192.168.0.100:​5004/​auto/​v5.1"​ \\ For the URL "​http://​192.168.0.100:​5004/​auto/​v5.1"​ \\
-http://​192.168.0.100:​5004/​auto/​v5.1?​duration=120 ​\\ +  * http://​192.168.0.100:​5004/​auto/​v5.1?​duration=120 
-http://​192.168.0.100:​5004/​auto/​v5.1?​transcode=mobile ​\\ +  ​* ​http://​192.168.0.100:​5004/​auto/​v5.1?​transcode=mobile 
-http://​192.168.0.100:​5004/​auto/​v5.1?​transcode=mobile&​duration=120+  ​* ​http://​192.168.0.100:​5004/​auto/​v5.1?​transcode=mobile&​duration=120 
 + 
 +</​WRAP>​ 
 +====Channel frequency instead of vchannel==== 
 +<WRAP indent>​ 
 + 
 +URLs can also use the channel frequency instead of the virtual channel. Use "​ch"​ instead of "​v",​ and the RF channel number or frequency in Hz instead of the virtual channel number. 
 +  * Example channel 5 is RF 14, which is 473MHz and would be written as <​code>​http://​192.168.0.100:​5004/​auto/​ch473000000</​code>​ 
 + 
 +  * If the channel has sub-channels,​ you can use the program number to specify the channel with a dash. For example, channel 5.3 might be -3 (program numbers are not always sequential or starting with 1), it would be written as, <​code>​http://​192.168.0.100:​5004/​auto/​ch473000000-3</​code>​ 
 + 
 +</​WRAP>​ 
 +====Specifying a tuner==== 
 +<WRAP indent>​ 
 + 
 +The "/​auto/"​ portion of the URL will select the first available tuner. Replacing this with a tuner identifier will force use of a specific tuner. For example: 
 +  * tuner0 - the first tuner 
 +  * tuner1 - the second tuner 
 +  * tuner2 - the third tuner (if you have a 3 or 4 tuner model) 
 +  * tuner3 - the fourth tuner (if you have a 4 tuner model) 
 + 
 +The URL for using the second tuner might look like this: 
 + 
 +<​code>​http://​192.168.0.100:​5004/​tuner1/​v5.1</​code>​
  
 </​WRAP>​ </​WRAP>​
Line 79: Line 94:
  
 If the program requires content-protection not requested by the client the tuner will return "503 Service Unavailable"​ after 5 seconds. This error code may change in the future to return a more relevant error code. If the program requires content-protection not requested by the client the tuner will return "503 Service Unavailable"​ after 5 seconds. This error code may change in the future to return a more relevant error code.
 +
 +There'​s an X-HDHomeRun-Error header that will be returned with more specific reasons. The parts in parentheses are not included in the error, just an explanation of what the error is.
 +
 +| 801 | Unknown Channel |
 +| 802 | Unknown Transcode Profile (EXTEND only) |
 +| 803 | System Busy (normally means the device is in the middle of a channel scan) |
 +| 804 | Tuner In Use (when a specific tuner is used instead of auto) |
 +| 805 | All Tuners In Use |
 +| 806 | Tune Failed (TA reported an error (PRIME only), or hardware error) |
 +| 807 | No Video Data (bad reception/​station off air/​particular service is not being transmitted at that time) |
 +| 808 | DVR Failure (DVR can't write to the recording location) |
 +| 809 | Playback Connection Limit (DVR has hit the limit of playback streams) |
 +| 810 | DVR Full |
 +| 811 | Content Protection Required (PRIME only, channel is copy protected) |
  
 </​WRAP>​ </​WRAP>​
  • Last modified: 2019/10/14 04:23