IPTV Help
Added by G C over 7 years ago
Hello,
Can someone help with some IPTV problems as I'm trying this feature for the first time. I'm running 4.1-2405 on ubuntu 16.04
I added a network as IPTV Automatic and pointed to a m3u8 file. I also set the "Service ID"=1 as it doesn't seem to find anything otherwise. This creates a whole bunch of Muxes and if I have "Service ID"=1 then it also creates Services for every mux. If I try to play the channel I get this in the log
------------------------------------------
Mar 30 13:47:01 us-tvh tvheadend999: http: x.x.x.x: using ticket 77CE3908629BEA5D2095C5A01648C11B68159627 for /stream/mux/091f2348a5f3c940bda99fbbd62efe9c
Mar 30 13:47:01 us-tvh tvheadend999: mpegts: name
Mar 30 13:47:03 us-tvh tvheadend999: subscription: 18A3: "HTTP" subscribing to mux "name", weight: 10, adapter: "IPTV", network: "xxx", service: "Raw PID Subscription", hostname="x.x.x.x", client="VLC/2.2.4 LibVLC/2.2.4"
Mar 30 13:47:19 us-tvh tvheadend999: subscription: 18A3: service instance is bad, reason: No input detected
Mar 30 13:47:21 us-tvh tvheadend999: subscription: 18A3: No input source available for subscription "HTTP" to mux "name"
Mar 30 13:47:21 us-tvh tvheadend999: webui: Couldn't start streaming /stream/mux/091f2348a5f3c940bda99fbbd62efe9c?ticket=77CE3908629BEA5D2095C5A01648C11B68159627, No input detected
------------------------------------------
I did an ffmpeg -i on the m3u file that is listed under the mux and it says this
---------------------------------------
Input #0, hls,applehttp, from 'http://host/file.m3u8':
Duration: N/A, start: 30370.372000, bitrate: N/A
Program 0
Metadata:
variant_bitrate : 0
Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 960x540 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 126 kb/s
At least one output file must be specified
---------------------------------------
any thoughts for my next steps? I can open the m3u8 fine with VLC and open the particular stream i am testing with
UPDATE:
I can also do this and get data (.ts file grows quickly and i can play that .ts file in VLC)
ffmpeg -loglevel fatal -i http://server:80/path/file.m3u8 -vcodec copy -acodec copy -metadata service_provider=XXX -metadata service_name=XXX -f mpegts pipe:1 > output.ts
Replies (6)
RE: IPTV Help - Added by Robert Cameron over 7 years ago
IIRC, Tvheadend does not support HLS streams as IPTV inputs. Your IPTV stream must be MPEG-TS.
If it is not, the. You either need to find a different input, or use the pipe:// protocol to convert your input before it gets to TVH.
RE: IPTV Help - Added by G C over 7 years ago
I think i figured it out (although I don't fully understand). The first m3u8 just had a list of other .m3u8 files in it
-----------------------
#EXTM3U
#EXTINF:-1,CHAN1
http://server/path/file1.m3u8
#EXTINF:-1,CHAN2
http://server/path/file2.m3u8
#EXTINF:-1,CHAN3
http://server/path/file3.m3u8
----------------------
This didn't work. I found another m3u8 file that had this instead
----------------------
#EXTINF:-1 tvg-name="CHAN1" tvg-id="xxx" tvg-logo="xxx" group-title="CHAN1",CHAN1
http://server/path/file1.ts
#EXTINF:-1 tvg-name="CHAN2" tvg-id="xxx" tvg-logo="xxx" group-title="CHAN2",CHAN2
http://server/path/file2.ts
#EXTINF:-1 tvg-name="CHAN3" tvg-id="xxx" tvg-logo="xxx" group-title="CHAN3",CHAN3
http://server/path/file3.ts
----------------------
This seems to work fine. Should the first file also work but i'm missing a step?
M
RE: IPTV Help - Added by Robert Cameron over 7 years ago
G C wrote:
I think i figured it out (although I don't fully understand). The first m3u8 just had a list of other .m3u8 files in it
-----------------------
#EXTM3U
#EXTINF:-1,CHAN1
http://server/path/file1.m3u8
#EXTINF:-1,CHAN2
http://server/path/file2.m3u8
#EXTINF:-1,CHAN3
http://server/path/file3.m3u8
----------------------This didn't work. I found another m3u8 file that had this instead
----------------------
#EXTINF:-1 tvg-name="CHAN1" tvg-id="xxx" tvg-logo="xxx" group-title="CHAN1",CHAN1
http://server/path/file1.ts
#EXTINF:-1 tvg-name="CHAN2" tvg-id="xxx" tvg-logo="xxx" group-title="CHAN2",CHAN2
http://server/path/file2.ts
#EXTINF:-1 tvg-name="CHAN3" tvg-id="xxx" tvg-logo="xxx" group-title="CHAN3",CHAN3
http://server/path/file3.ts
----------------------This seems to work fine. Should the first file also work but i'm missing a step?
M
No, the first file will not work. M3U8 files are playlists. Specifically, they are HTTP Live Streaming (HLS) playlists, which are lists of sequential segments of a video stream. For Tvheadend this is not a valid IPTV input.
The second playlist has entries that are transport streams. Those are the only types of files that are supported as inputs for IPTV in Tvheadend.
RE: IPTV Help - Added by saen acro over 7 years ago
M3U8 is not as m3u, it is manifest of dynamical created "on website" playlist.
M3U8 is used when there is a HLS or DASH streaming,
both use small segments /chunks/.
DASH serve multiple bitrates for same service, "multi screen" aka multi resolution.
RE: IPTV Help - Added by G C over 7 years ago
well inside the nested m3u8 files are links to .ts files. I got a different file that has the .ts files directly in a m3u8 rather than in an m3u8 inside another m3u8 and its all working fine.
Is there anyway to tell tvheadend to filter certain muxes? some of these files have a ton of garbage in them. Or is it easier to parse the file with a script prior to tvheadend?
RE: IPTV Help - Added by Robert Cameron over 7 years ago
G C wrote:
well inside the nested m3u8 files are links to .ts files. I got a different file that has the .ts files directly in a m3u8 rather than in an m3u8 inside another m3u8 and its all working fine.
Is there anyway to tell tvheadend to filter certain muxes? some of these files have a ton of garbage in them. Or is it easier to parse the file with a script prior to tvheadend?
I would say the best solution is to use valid and legitimate sources straight from your IPTV provider, not a questionable random site on the internet with more-than-likely pirated/illegal streams.