Live TV (IPTV Support)

With this set up you have IPTV working better than 99% of the Plex community.

Is this an OTA stream!? Cause I’ve been having my hdhomerun for locals

I have yet to get my xteve to work correctly which is odd. Plex just refuses to playback the stream even without using xteve as the playback client and just sending the chunks

I gotta check this out tbh. It’s such a pain with xteve alone

I will warn you… it’s a royal PITA to set this stuff up and dial it in right…

however once it’s working… it’s pretty dang tight… definitely better than Emby with their IPTV support…

TVheadend integration into Plex via xTeVe is flawless. My tweaks above make it that much more better. The configuration options using this method are literally limitless.

I couldn’t be happier with this set up.

What’s even better is once TVheadend is set up you can integrate every single app to the same set up. Plex, Kodi, Emby, Jellyfin, VLC whatever.

This… because even Emby isn’t nearly as stable with IPTV as the configuration using TVHeadend and Xteve… the difference is pretty amazing…

One thing I did notice, Sixx - is that my streams do not look like that… they look more like a ‘heartbeat’. Also the ‘remote’ track stays basically flat… I’m guessing the remote is the outbound traffic if I’m not at home when trying to watch something…

Still. better than what I was working with… but is there something I should be doing specific to spawn profile in the channel configuration itself that I’m missing (I’ve already configured according to your above comments for the profile itself.

Thanks again.

The graph is prolly fine. The blue line is remote sessions yes. I am on Spectrum Fiber so my internet is extremely stable and fast which could be why my graph is so smooth. I’m pulling from IPT and PIA.

There’s nothing more to do that I can think of if you set everything as above and your channel sources are picked at random. Besides EPG, if your streams only give playback error VERY VERY seldom then I think it’s fine.

Sometimes it takes 5-10 seconds to tune a channel if TVheadend needs to keep cycling the sources until one comes in. At times when it locks on to a channel that is very active it will load in like two seconds. I also have 5+ sources for all my channels so there is variation on resolution and FPS between them all… that’s the only downside.

Hey there Sixx

Question… trying to rescan channels after one was removed I saw this error… the last time I saw this it actually went into an infinite crash loop and I had to delete the config folder and start over… (NOT fun). Any ideas? Google didn’t turn up anything conclusive (at least not my searches)

2022-06-22 09:05:20.121 [  ALERT] CRASH: Signal: 11 in PRG: /usr/bin/tvheadend (4.3-2031~gb5f14e4ba) [26f54c26f24fd38a7042a3c6a1e635c46d50aaf5] CWD: /run/s6/services/tvheadend
2022-06-22 09:05:20.121 [  ALERT] CRASH: Fault address 0xd8 (Address not mapped)
2022-06-22 09:05:20.122 [  ALERT] CRASH: Loaded libraries: /usr/bin/tvheadend /usr/lib/libhdhomerun.so /usr/lib/libdvbcsa.so.1 /lib/libssl.so.1.1 /lib/libcrypto.so.1.1 /lib/libz.so.1 /usr/lib/libpcre2-8.so.0 /usr/lib/liburiparser.so.1 /usr/lib/libavfilter.so.7 /usr/lib/libavformat.so.58 /usr/lib/libavcodec.so.58 /usr/lib/libavutil.so.56 /usr/lib/libva.so.2 /usr/lib/libiconv.so.2 /lib/ld-musl-x86_64.so.1 /usr/lib/libswscale.so.5 /usr/lib/libpostproc.so.55 /usr/lib/libswresample.so.3 /usr/lib/libavresample.so.4 /usr/lib/libass.so.9 /usr/lib/libvidstab.so.1.1 /usr/lib/libbz2.so.1 /usr/lib/libgnutls.so.30 /usr/lib/libsrt.so.1 /usr/lib/libssh.so.4 /usr/lib/libvpx.so.6 /usr/lib/libwebpmux.so.3 /usr/lib/libwebp.so.7 /usr/lib/libdav1d.so.5 /usr/lib/libaom.so.3 /usr/lib/libmp3lame.so.0 /usr/lib/libopus.so.0 /usr/lib/libtheoraenc.so.1 /usr/lib/libtheoradec.so.1 /usr/lib/libvorbis.so.0 /usr/lib/libvorbisenc.so.2 /usr/lib/libx264.so.163 /usr/lib/libx265.so.199 /usr/lib/libxvidcore.so.4 /usr/lib/libva-drm.so.2 /usr/lib/libvdpau.so.1 /usr/lib/libX11.so.6
2022-06-22 09:05:20.122 [  ALERT] CRASH: Register dump [23]: 000000000000000000007f6e574f3dc000000000000000000000000000000000000000000000418000007f6e5653379000007f6e4fbbc9d000000000000000000000000000000000000000000000021300007f6e51a66688000000000000000000007f6e50ccc5500000000000000000000000000000003600007f6e574f3ee000005628cc88de5e0000000000010246002b0000000000330000000000000004000000000000000efffffffc7ffbba1300000000000000d8
2022-06-22 09:05:21.090 [   INFO] main: Log started
2022-06-22 09:05:21.128 [   INFO] http: Starting HTTP server 0.0.0.0:9981
2022-06-22 09:05:21.128 [   INFO] htsp: Starting HTSP server 0.0.0.0:9982
2022-06-22 09:05:21.178 [   INFO] config: loaded

i 100% agree with this, but would add that the plex live tv interface is actually quite poor.
Tivimate is light years ahead of it and is a great piece of software.

How are you re-scanning channels? Are you going to Configuration - DVB Inputs - Networks, select your network and then press “Force Scan”?

Don’t do that it with IPTV networks. It crashes for me too.

Select your network in the same place and press Edit. You’ll see “Re-fetch period (mins):”. You can set this to any time frame you want and will update your Service lists on it’s own.

You can also remove the last character for the “URL:” parameter, press “Apply” and then add the character back and then press “Save”. In this scenario your giving it a broken URL that doesn’t work and then giving it the correct URL and this is the way I usually do it. It won’t mess up your mappings.

I wish it was a click of the button. That would be great.

The Plex Live TV interface is fine. It does everything that I need it to do and with the TVheadend integration it works FLAWLESS.

Yep… that was it. Thank you for verifying that. I think I’m just glad this time it didn’t go into an infinite crashloop this time… I really did NOT enjoy rebuilding TVHeadEnd… :stuck_out_tongue:

If that becomes the case I’m sure there’s some way to restart the container via the operating system. I’m not sure how an infinite loop would survive the container being restarted.

Also, my container recovered on it’s own. It crashed and 5 seconds later it came back. I’m using podman on CentOS thought.

Oh for sure!

docker-compose -f docker-compose.yml restart

:slight_smile:

I wasn’t either… and yet it did… I tried a restart multiple times and it would get into a loop trying to read services/muxes and keep crashing with the above error messages.

it’s all about opinions, yours is that the interface is fine,
mine (and others) is that it’s quite poor.

The only thing I might be doing different is I download the playlist and import it into TVheadend via the file instead of the actual URL.

file:///playlists/file.m3u

I’d be happy(er) if after all these years the channel guide would wrap top to bottom.

I’m on fiber and have a semi-local ISP with multicast IPTV I’m paying for anyway.
Could you elaborate on this process? I really looked into using UDProxy with it and just hit a dead end at this spot.
You would be my hero! :slight_smile:

Okay… I have a set top box that’s provided by my ISP/TV. I have the capability to snoop traffic on it’s network connection. When it boots up from a cold start, I snoop traffic until it’s got it’s EPG, then pull strings out of the capture file and filter on what looks like channel configurations, i.e. a channel name (ABC-TV) and a UDP description (udp://x.y.z.t:port.) I use these to create an M3U file that will describe to tvHeadend what channels are available and how to access them. It’ll start something like this:

   #EXTM3U
   #EXTINF:2 tvh-chnum="2", ABC-TV HD
   udp://x.y.z.t:8000

   #EXTINF:3 tvh-chnum="3",CBS-TV HD
   udp://x.y.z.t:8002

I find tvhProxy to be a necessary shim between PMS and tvHeadend.

If Plex can supply the EPG for you, I’d suggest using that for PMS. If Plex doesn’t, then you’ll need to decide where to get an XMLTV file and feed that into either PMS or tvHeadend.

Please note:

  1. I’m doing this with the knowledge of my provider, and “permission”, with the understanding that they won’t support traffic beyond the media converter/smart switch or their set top box. I try rather hard to be a good network neighbor.
  2. This does require some networking knowledge. I have a dedicated interface set up specifically on the ISP/TV network that’s used only for IPTV traffic. Wireshark is my little friend. I also have prosumer networking gear here that makes a lot of this much more manageable.
  3. tvHeadend is a highly flexible package, and there’s a lot that I still don’t know about it, but I have managed to get it to function for me.

I probably should point out that I’m running this on Linux (openSuSE 15.3) and have been using *ix for 30+ years. YMMV.

1 Like