bkirkman / hdhrtv

An HDHomeRun LAMP Streaming Server with MythTV Listings
GNU General Public License v3.0
5 stars 6 forks source link

HDHRTV - a streaming server for both DLNA and non-DLNA HDHomeRun devices that can stream a native MPEG2 TS stream (DLNA devices only) or transcoded flash stream. MythTV program listings can be displayed if a MythTV server is available.

  1. Disclaimer

HDHRTV is a hobby project that has been developed to serve a need but not be a perfect body of code. It most likely will contain bugs. Please note that security is ultimately the responsibility of the person installing software on a server. It is highly encouraged to secure any public facing server with password protection and encryption.

The transcoding and streaming method used by HDHRTV is rather crude and simplistic. The possibility exists that FFmpeg processes could become orphaned when streams are not cleanly initiated or closed. Please check for orphaned FFmpeg processes on a regular basis if the streaming server is being regularly used.

  1. Overview

HDHRTV was originally developed for the HDHomeRun PRIME, which is a CableCard tuner device capable of HTTP streaming the native MPEG2 TS digital cable stream tuned by the device over a network. Unfortunately, this stream is typically too large to stream over WiFi or outside the local network, though the native standard definition stream will stream okay, in most cases, over WiFi on the local network. In order to allow streaming to any location, HDHRTV transcodes the MPEG stream to a flash video and streams it via a web page. Though Apple devices have embraced HTML 5 and HTTP Live Streaming (HLS), it seems that the rest of the world is slow to get on board. Android seems to only have mild success with HLS depending on what 3rd party applications have been installed. As such, HDHRTV has been developed to stream Flash until the rest of the OS world catches up to HTML 5 and HLS streaming. If interested in setting up an HLS server for the HDHomeRun PRIME, consider using Wallop (http://jonmaddox.com/wallop/). For direct streaming using Android device, consider using MX Player or Daroon Player. Standard definition flash streaming should work on nearly any server. HD channels will require that a decent, modern processor be used for transcoding. Also note that a couple of ffmpeg configurations have been set up in the configuration file. One uses the original Sorenson flv codec. This codec cannot multithread, so it will most likely not be effective transcoding HD channels. The other ffmpeg configuration uses h.264 video and mp3 audio in an flv container. This configuration is capable of multithreading and should be able to transcode HD video.

The predecessors to the HDHomeRun PRIME were not capable of streaming directly ove HTTP, but HDHRTV can still stream a flash stream using these legacy devices. The server uses hdhomerun_config to create this stream. Please refer to the Silicon Dust website and documentation for installation instructions of hdhomerun_config. HDHRTV streaming of legacy, non-DLNA HDHomeRun devices was added in HDHRTV version 0.2.

  1. Credits
  1. License

GPLv3 - see COPYING file.

  1. Requirements

Development system: CentOS 6.4, Apache 2.2.15, PHP 5.3.3, MythTV .26, FFmpeg 1.2.4, HDHomeRun Prime.

  1. Features

Main Page / Listing:

Favorites:

Channel Details:

Settings:

Channel Scan:

  1. Installation
  1. Tips and Tricks
  1. Known issues
  1. Possible TODO Items
  1. History

version 0.2 (2014-01-18)

version 0.1 (2013-11-23):