If you click Channels/EPG a 3rd row of buttons should show up and on the 3rd row all the way to the right there’s EPG Grabber Modules.
What buttons do you have on the 3rd row? Screenshot?
If it’s not there then try changing the View Level to Expert.
If you click Channels/EPG a 3rd row of buttons should show up and on the 3rd row all the way to the right there’s EPG Grabber Modules.
What buttons do you have on the 3rd row? Screenshot?
If it’s not there then try changing the View Level to Expert.
After setting view level to expert you were correct… I was able to access the other modules, etc.
However I think my head is going to explode trying to set this up even for a v1 test of integrating it with Plex… XD
There’s ALOT of functionality. It literally does everything and makes an awesome backend that can be integrated not only to just Plex but all media players.
I keep seeing the error message “2022-05-10 20:02:09.773 iptv: [ServiceName] bandwidth limited exceeded”
How do I mitigate that? Is there a particular configuration I can set or is there something I missed? Thanks.
Under Configuration - DVB Inputs - Networks select your network name and press edit. There should be a setting for maximum bandwidth. Set that to zero.
Also, make sure when creating your IPTV networks you set Service Id to 1 and make sure Scan after creation is unchecked. It’s the same dialog you bring up to set the bandiwdth.
I’m a little bit closer now… my problem currently is that I can “watch live TV” in TVHeadEnd… but not in Plex … and my connection is how you described above… Tvheadend → xTeVe → Plex
10, 2022 22:29:03.045 [0x7fdda8137b38] DEBUG - [Grabber/1007-1h8uv6tmy0idxsabop01d5er] Activity: updated activity d3c0abba-dea7-49d6-9a45-1bc78e3ea870 - completed 8.0% - Recording
May 10, 2022 22:29:03.045 [0x7fdda879db38] DEBUG - [Grabber/1007-1h8uv6tmy0idxsabop01d5er] Activity: updated activity 0efde16a-e577-4e25-a65e-b0b8d405d2ee - completed 8.0% - Refreshing Sub
May 10, 2022 22:29:04.048 [0x7fdda80e5b38] DEBUG - [Grabber/1007-1h8uv6tmy0idxsabop01d5er] TranscodeSession: timed out waiting to find duration for live session
May 10, 2022 22:29:04.048 [0x7fdda80e5b38] ERROR - [Grabber/1007-1h8uv6tmy0idxsabop01d5er] Failed to start session.
May 10, 2022 22:29:04.048 [0x7fdda80e5b38] DEBUG - [Grabber/1007-1h8uv6tmy0idxsabop01d5er] Streaming Resource: Terminated session 0x7fddaa40f7a8:afd456b7-155c-43a4-85af-29d693222811 with reason Recording failed. Please check your tuner or antenna.
May 10, 2022 22:29:04.048 [0x7fdda80e5b38] ERROR - [Grabber/1007-1h8uv6tmy0idxsabop01d5er] Recorder: Unable to create transcode session or session failed to start.
May 10, 2022 22:29:04.048 [0x7fdda80e5b38] DEBUG - [Grabber/1007-1h8uv6tmy0idxsabop01d5er] Killing job.
May 10, 2022 22:29:04.048 [0x7fdda80e5b38] DEBUG - [Grabber/1007-1h8uv6tmy0idxsabop01d5er] Signalling job ID 22260 with 9
May 10, 2022 22:29:04.048 [0x7fdda80e5b38] ERROR - [Grabber/1007-1h8uv6tmy0idxsabop01d5er] Recorder: Error 16 (Recording failed. Please check your tuner or antenna.) starting the record, shutting things down.
May 10, 2022 22:29:04.048 [0x7fdda80e5b38] DEBUG - [Grabber/1007-1h8uv6tmy0idxsabop01d5er] Grabber: Cleaning up rolling grab for channel 1007.
May 10, 2022 22:29:04.048 [0x7fdda80e5b38] DEBUG - [Grabber/1007-1h8uv6tmy0idxsabop01d5er] Recorder: No more consumers, stopping.
May 10, 2022 22:29:04.048 [0x7fdda80e5b38] DEBUG - [Grabber/1007-1h8uv6tmy0idxsabop01d5er] Recorder: Asked to stop recording 'Live TV - Session 1h8uv6tmy0idxsabop01d5er' on channel 1007.
May 10, 2022 22:29:04.048 [0x7fdda80e5b38] DEBUG - [Grabber/1007-1h8uv6tmy0idxsabop01d5er] Grabber: Freed a tuner on device://tv.plex.grabbers.hdhomerun/2022-05-U6D9-MWTZ5M:2 (now 4 available)
May 10, 2022 22:29:04.048 [0x7fdda80e5b38] DEBUG - [Grabber/1007-1h8uv6tmy0idxsabop01d5er] Grabber: Operation for 'Live TV - Session 1h8uv6tmy0idxsabop01d5er' on channel 1007 completed with status error (Recording failed. Please check your tuner or antenna.)
Make sure your playlist import in xTeVe looks like this http://tvheadend:9981/playlist/auth/tag/default?auth=YOURPERSISTENTAUTHCODE&profile=pass
Enable persistent authentication for your user under Configuration - Users - Passwords and replace the string it provides in the URL above.
tag/default you need to replace default with whatever you set up under Configuration - Channel/EPG - Channel Tags. You then need to go into Configuration - Channel/EPG - Channels and set the tag for each channel.
Then import into xTeVe.
If everything is correct you’ll see your session inside TVheadend under the Status tab when tuning a channel.
Once you can at least get a channel to play inside Plex then I will give you some other settings to tweak and then when you’re happy I will hook you up with my custom modifications.
Make sure that crappy stream buffer is turned off in xTeVe.
I’m a bit late to this conversation. When everyone says IPTV are we talking about multicast streams? I have a set top box that I’ve chatted extensively about with my provider and it uses multicast streams that are either mpeg2 or mpeg4, mostly the latter, and we have dvr licenses that allow us to keep copies of recorded shows for up to 2 or 3 years. If a show comes down the pipe as mpeg4, is there really any encoding to do?
Well things are a bit better… but not quite there…
I see my URL formed as you said…
http://tvheadend:9981/stream/channelid/1842990340?auth=[AUTHTOKEN]&profile=pass
The logs show the following in TVHeadEnd but no video…I decided to take plex out of the equation and I’m just testing with an IPTV tuner on my desktop… It appears that the streams are just stalling…
2022-05-11 15:58:33.808 mpegts: XXXX.m3u - US abc 4 (KOMO) Seattle (A) in IPTorrents - tuning on IPTV #1
2022-05-11 15:58:33.846 subscription: 0001: "HTTP" subscribing on channel "US abc 4 (KOMO) Seattle (A)", weight: 100, adapter: "IPTV #1", network: "IPTorrents", mux: "3XXXXX.m3u - US abc 4 (KOMO) Seattle (A)", provider: "FFmpeg", service: "Service01", profile="pass", hostname="10.0.4.231", username="plexstream", client="XXXXX"
Make sure it’s enabled.
Data timeout 5 seconds.
Restart on error checked.
Switch to another service checked.
Rewrite service ID 1.
Check all boxes below that.
Maximum timeout (seconds) 5.
I have the same provider. It works great with my custom mods with the service randomization when a channel has multiple sources programmed to it. When one dies it will switch if no data is received for 5 seconds. Trust me when I say they have a 404 problem a lot lol…
When we do my mods you’ll be using a spawn profile instead of pass ![]()
I’m not sure about multicast. Everything here is unicast I believe.
I’ve been using tvHeadend w/ tvhProxy as a shim with Plex Media Server for better than 3 years now, with the full knowledge of my ISP/TV provider. They don’t support past their network device, but they’re perfectly fine with what I’m doing (and I’m trying to be a good network neighbor.) Right now, I’m pulling in an MPEG2 1080i stream.
Unfotunately, having said all of that… I’ve had to figure out how to construct a .m3u file for tvHeadend, and I’ve done that by sniffing network traffic while their STB refreshes it’s guide info. All IPTV streams come in as udp://x.y.z.t:port, and regretully, I’ve had to rebuild my structures a couple of times since converting to this ISP/TV provider. tvHeadend has no problem joining and releasing the multicast groups. PMS pulls the EPG data from Plex’s servers, that has seemed to work the best (even with it’s warts.) My PMS host is multi-homed, one leg on my internal network, and one leg on the IPTV network, default route set on my network. None of the multicast groups require a network hop, and this seems to work pretty good. PMS is running on openSuSE Linux 15.3.
As far as your original question… nearly everybody talking about IPTV streams seem to be referring to Internet based hosting, via HTTPS connections. Something like tvHeadend doesn’t seem to have many issues with multicast, but there is a steep learning curve getting it to work.
FINALLY… I have it working… it took a !@#$ton of trial and error but I have it pretty well dialed in and you are SPOT on… TVHeadEnd makes the streaming SO much nicer… it’s like watching from an OTT service…
That seriously was making me nuts figuring out the knobs to use tho… ![]()
What did you have to tweak?
Pretty much everything… but mostly the issues were PEBKAC-related… when I took a step back and realized TVHeadEnd is just a big streaming switchboard and ran thru a couple of dry runs, erased configurations, and started over, things started making more sense.
One question tho… say I want to add a channel source that’s a duplicate of one I already use… how much trouble is it to ‘merge’ the two (or more) sources into a single channel after the fact?
Manually create your channels and assign each service to the channel. Don’t automatically “Map selected services”.
My modded TVheadend allows it to randomly select a source instead of a pre determined order and it adjusts a couple hard-coded timeout values.
The thing with that is if it switches sources because one fails/errors and the next source has a different audio format or even different audio at all the video can often get choppy/lose sync and the only way is to channel dance. What solves this issue for me is using a “spawn” profile instead of “pass” and transcoding the audio on the fly to one specific format. Then the sources will transition correctly without any error.
Let me know when you want to set up the spawn profile and I’ll give you my command line to do the transcoding.
Make sure you’re always in Expert view.
If you use these mods I have included streamlink support so you can incorporate streams directly from websites.
So far so good… with a couple of interesting behaviors… I’m able to tune in to channels on the Plex iOS app, or on the Plex AppleTV app… but not on the web browser (Chrome).
It appears to be because Plex starts a direct stream playback and then decides to switch over to Hardware Transcoding… And then it chokes and fails…
Suggestions or tips?
It shouldn’t be transcoding on original quality. It has never for me. But… it is now for some reason. It’s definitely a bug… If you go to Plex Web then go to Debug and check “Use alternate streaming protocol for video playback” it stops transcoding.
I tested with Chrome.
Well at least now it is actually streaming (usually) but this time I still get the transcoding message… lol!

You got the quality settings low…
Plex Web - Quality… or change them directly while viewing the stream.