This web server emulates a SiliconDust HDHomeRun by its HTTP API for use with Plex's DVR feature. It is designed for use with HLS .m3u8 streams, although any input format accepted by ffmpeg
should work.
- Multiple channels
- XMLTV file generation (it just creates a generic 24/7 programme for each available channel)
- Download a binary release from GitHub, or clone the repository and compile on your machine (e.g. with
GOOS=linux GOARCH=amd64 go build -o plex-dvr-hls-linux-amd64 cmd/main.go
) - Create a
config.json
in the working directory and fill in the necessary. Possible values forencoder_profile
arevaapi
,video_toolbox
,omx
andcpu
. A sampleconfig.example.json
is available on GitHub. - Create a
channels.json
and fill in the necessary. A samplechannels.example.json
is available on GitHub. - Copy the
templates
folder from this repository into the working directory (alongside the two JSON files) - Add the server to the Plex DVR e.g.
http://<ip of machine>:5004
. When prompted for an Electronic Programme Guide, you can either use one if it's available, or use the auto-generated one by enteringhttp://<ip of machine>:5004/xmltv
- Clone the repo
- Run
go mod download
- To run the server, run
go run cmd/main.go