HLS server designed to work with Plex DVR
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.
A prebuilt Docker image is available for use.
linux/amd64
linux/arm64
linux/arm/v7
Please refer to the sample Docker Compose file for a more seamless setup.
Please note that the following files need to be present in the same directory (see examples in the repository).
config.json
channels.json
services:
plex-dvr-hls:
image: ghcr.io/duncanleo/plex-dvr-hls:latest
volumes:
- type: bind
source: './config.json'
target: '/app/config.json'
read_only: true
- type: bind
source: './channels.json'
target: '/app/channels.json'
read_only: true
ports:
- '5004:5004'
GOOS=linux GOARCH=amd64 go build -o plex-dvr-hls-linux-amd64 cmd/main.go
)config.json
in the working directory and fill in the necessary.encoder_profile
are vaapi
, video_toolbox
, omx
and cpu
. A sample config.example.json
is available on GitHub.channels.json
and fill in the necessary.channels.example.json
is available on GitHub.templates
folder from this repository into the working directory (alongside the two JSON files)http://<ip of machine>:5004
.http://<ip of machine>:5004/xmltv
go mod download
go run cmd/main.go