Skip to content

Virtual TV Setup ​

There are several solutions to setup custom channels for Live TV using your own media files:

  • ErsatzTV
  • DizqueTV
  • PseudoTV (only for Kodi Matrix v19+)

I chose ErsatzTV because it support HLS (HTTP Live Streaming) and support fillers (commercials).

ErsatzTV ​

Download the latest develop build instead of stable 6.6

When setting up channel with HLS Direct, make sure to disable subtitle by setting Subtitle Mode to None. Otherwise the transcoder will complain about overlay issue such as the following. Also see my posted github commit https://github.com/jasongdove/ErsatzTV/issues/938

Streamcopy requested for output stream 0:1, which is fed from a complex filtergraph. Filtering and streamcopy cannot be used together.

Example of video with error

[22:32:20 INF] ffmpeg arguments -threads 1 -nostdin -hide_banner -nostats -loglevel error -fflags +genpts+discardcorrupt+igndts -ss 00:08:51.9165007 -i "/mnt/tv/Heroes/Season 1/Heroes.S01E06.Better.Halves.1080p.BluRay.REMUX.VC-1.DTS-HD.MA.5.1-EPSiLON.mkv" -filter_complex [0:0][0:2]overlay[vst] -map 0:1 -map [vst] -muxdelay 0 -muxpreload 0 -movflags +faststart -flags cgop -sc_threshold 0 -t 00:34:42.3234992 -c:v copy -c:a copy -metadata "service_provider=\"ErsatzTV\"" -metadata "service_name=\"NBC\"" -metadata:s:a:0 language=eng -f mpegts -mpegts_flags +initial_discontinuity pipe:1
Streamcopy requested for output stream 0:1, which is fed from a complex filtergraph. Filtering and streamcopy cannot be used together.

Also try to use the ffmpeg that came preinstalled with jellyfin if have issues. That is located at /var/lib/jellyfin-ffmpeg/ffmpeg