DEFENDORe / pseudotv

Create live TV channels from your own media. Access the streams using the simulated HDHomerun tuner or the generated M3U URl.
MIT License
227 stars 35 forks source link

pseudotv-plex

Create live TV channel streams from media on your Plex servers.

Project recently migrated from gitlab to github to improve development flow (docker builds and binary releases).

Configure your channels, programs, commercials and settings using the PseudoTV web UI.

Access your channels by adding the spoofed PseudoTV HDHomerun tuner to Plex, or utilize the M3U Url with any 3rd party app.

EPG (Guide Information) data is stored to .pseudotv/xmltv.xml

Features

Useful Tips/Info

Limitations

Installation

Please delete your old .pseudotv directory before using the new build. I'm sorry but it'd take more effort than its worth to convert the old databases..

Unless your are using Docker/Unraid, you must download and install ffmpeg to your system and set the correct path in the PseudoTV Web UI.

By default, pseudotv will create the directory .pseudotv wherever pseudotv is launched from. Your xmltv.xml file and config databases are stored here.

Binary Release

Download and run the PseudoTV executable (argument defaults below)

./pseudotv-win-x64.exe --port 8000 --database ./pseudotv

Docker

The Docker repository can be viewed here.

Use Docker to fetch PseudoTV, then run the container.. (replace C:\.pseudotv with your desired config directory location)

docker pull defendore/pseudotv
docker run --name pseudotv -p 8000:8000 -v C:\.pseudotv:/home/node/app/.pseudotv defendore/pseudotv

Building Docker image from source

Build docker image from source and run the container. (replace C:\.pseudotv with your desired config directory location)

git clone https://github.com/DEFENDORe/pseudotv
cd pseudotv-plex
docker build -t pseudotv .
docker run --name pseudotv -p 8000:8000 -v C:\.pseudotv:/home/node/app/.pseudotv pseudotv

Unraid Install

Add

https://github.com/DEFENDORe/pseudotv

to your "Template repositories" in the Docker tab. Click the "Add Container" button Select either the pseudotv template or the pseudotv-nvidia template if you want nvidia hardware accelerated transcoding. Make sure you have the Unraid Nvidia plugin installed and change your video encoder to h264_nvenc in the pseudotv ffmpeg settings.

From Source

Install NodeJS and FFMPEG

git clone https://github.com/DEFENDORe/pseudotv
cd pseudotv-plex
npm install
npm run build
npm run start

Plex Setup

Add the PseudoTV spoofed HDHomerun tuner to Plex via Plex Settings.

If the tuner isn't automatically listed, manually enter the network address of pseudotv. Example:

127.0.0.1:8000

When prompted for a Postal/Zip code, click the "Have an XMLTV guide on your server? Click here to use that instead." link.

Enter the location of the .pseudotv/xmltv.xml file. Example (Windows):

C:\.pseudotv\xmltv.xml

Do not use the Web UI XMLTV URL when feeding Plex the xmltv.xml file. Plex fails to update it's EPG from a URL for some reason (at least on Windows). Use the local file path to .pseudotv/xmltv.xml

App Preview




Development

Building/Packaging Binaries: (uses browserify, babel and pkg)

npm run build
npm run compile
npm run package

Live Development: (using nodemon and watchify)

npm run dev-client
npm run dev-server