This is an old revision of the document!


HDHomeRun HTTP Development Guide

The list of available channels can be queried using the following URLs:

   http://<device ip>/lineup.json
   http://<device ip>/lineup.xml


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.
  • “GuideName” in UTF-8 format. Client must support UTF-8 character encoding.
  • “Tags” in comma-separated-value format. The following tags are supported:
    • “favorite” indicates the user has marked this channel as a favorite channel.
    • “drm” indicates this channel requires the use of end-to-end copy protection.
  • URL” for sourcing the video for this channel.

The HTTP request will result in the following sequence:

  • A tuner will be allocated for this HTTP operation.
  • The channel will be authorized and tuned.
  • The PID filter will be set automatically.
  • The video stream will be streamed in MPEG-TS format over the HTTP connection.

The stream will continue until the TCP connection is closed by the client or the specified duration is reached, at which point the tuner will become available for other client requests.

Optional parameters may be specified by adding ?<paramater>&<paramater>&<…> to the end of the URL.

  • duration=<n> sets a duration limit for the http transfer. Once <n> seconds has elasped the stream will be closed by the HDHomeRun.
  • transcode=<profile> enables transocding of the video/audio following the specified profile. (EXREND models only)
  • 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 1280×720 30fps.
  • internet720: transcode to low bitrate AVC progressive not exceeding 1280×720 30fps.
  • internet480: transcode to low bitrate AVC progressive not exceeding 848×480 30fps for 16:9 content, not exceeding 640×480 30fps for 4:3 content.
  • internet360: transcode to low bitrate AVC progressive not exceeding 640×360 30fps for 16:9 content, not exceeding 480×360 30fps for 4:3 content.
  • internet240: transcode to low bitrate AVC progressive not exceeding 432×240 30fps for 16:9 content, not exceeding 320×240 30fps for 4:3 content.

If the virtual channel number is not known the tuner will return “404 Not Found”.

If the request cannot be completed at this time (for example all tuners are in use) the tuner will return “503 Service Unavailable”.

If the program cannot be not found in the stream within 5 seconds or the program cannot be authorized within 5 seconds the tuner will return “503 Service Unavailable”.

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.

  • Last modified: 2019/10/10 19:24