Project

General

Profile

Newbie question

Added by Gabriel Galand over 4 years ago

I have a Nvidia TV Shield box. I use the Molotov TV application to display TV channels and store some videos in order to display them later.

But problems:
First, Molotov TV charges me for video storage. It is not very expensive (4,99€/month for 150h), but in a while I will get short of storage and sure it will be more expensive if I wish to raise my storage limit.
Second, the videos are stored somewhere in the Molotov cloud and I cannot store it on my NAS if I want to keep it as a free personal copy. I believe the law gives me the right to get one.
Third, Molotov TV will charge me if in a while I want to display high definition live TV. In fact Molotov Tv will charge me for a as many things as they can.

I have been said on the Kodi forum that Tvheadend could help me to have an alternate way to display and record live TV if I install it on the Nvidia Shield. I add that I am not searching a way to illegal live TV.
The problem is I do not know very well what tvheadend is. Is there a tutorial explaining what tvheadend is, how to install it on my Shield and test it ?

Edit I have installed the Kodi add-on TVHeadend, but now I am still at square one. I know there are a lot of things to install and to configure, but I do not know how to do it. In fact I am really a newbie in this field !!!

:) gabier


Replies (50)

RE: Newbie question - Added by Hiro Protagonist over 4 years ago

TVHeadend is a server that can receive TV from a number of different sources, e.g. DVB, Satellite etc [with appropriate tuner hardware], or IPTV.

With the TV it receives it can either provide that live to a client [like the Kodi client you've installed], or record it to storage. Recorded programs can either be accessed directly via a video viewer such as VLC, or played by a TVHeadend client.

As well as a source of TV programs, you will need access to EPG data. This can be extracted from OTA data, or imported via a protocol called XMLTV.

Exactly how to set things up can be very dependent on the country you are in [different broadcasting standards etc] and the type of hardware/software you're using.

So, if you have access to either broadcast or IPTV in an acceptable format, you should be able to use TVHeadend in conjunction with your Kodi client to watch live TV, and record programs.

Note that if you JUST wanted to watch live you wouldn't need TVH, you could install an IPTV client to do that, but as you want to tore recordings, you'll need TVH.

RE: Newbie question - Added by Gabriel Galand over 4 years ago

Hello Hiro,
In fact i knew most of what you tell me, except the confirmation that I should be able do what I want with TVH.
But what I need is beyond that. I understand that the details depend on the country. I live in France, and I could not find a tutorial for TVHeadEnd installation with french details. What I found is a very good tutorial for installation with Kodi on Linux in 2 cases
- Kodi and Kodi's IPTV simple client, on the same computer (no TVH)
- Kodi on the client side and TVH on a NAS Synology as the backend.
I have a Synology NAS and I can use this distributed scheme, but it would be more simple to use Kodi and TVH on the Nvidia Shield.
Maybe if you have a detailed tutorial for your country, and although I could not apply it exactly, maybe it could help me to implement all of the different and necessary parameters.
Anyway thanks for help.
:) gabier

RE: Newbie question - Added by Hiro Protagonist over 4 years ago

First you need to know where you are getting your TV from - broadcast or IPTV?

RE: Newbie question - Added by Gabriel Galand over 4 years ago

From IPTV.
I have fiber Internet. The Nvidia Shield is wired directly to the ISP Internet Box.
:) gabier

RE: Newbie question - Added by Hiro Protagonist over 4 years ago

OK, this should be reasonably straightforward, but less so if you've never used TVH before.

You will need access to a playlist [ .m3u or .m3u8 ] of the channels. This can be either as provided by your IPTV vendor, or a local file containing just the channels you want.

You will need to know what format the video comes in. TVH expects a transport stream [ .ts files ], if the video is in a different form the playlist will need to be modified to pipe the data through ffmpeg for remuxing to a transport stream.

You will need to know the URL for your playlist. This will be 'file:///path/to/playlist/file.m3u8' if local or a URL to your vendor's playlist.

Once you have this sorted you're ready to start and configure TVH.

RE: Newbie question - Added by Gabriel Galand over 4 years ago

OK,

As you know in France we stay at home because of the confinement regulations and we have plenty of time. That is why yesterday I decided to explore the Synology solution . This is not the solution I am really looking for but it compels me to have a m3u files and to use TVH. It is on the synology but the GUI seems to be the same.

For the m3u file I will have one soon. My provider does not publish it, but I have found a free application which explores an ip range and finds all channels. I have a m3u file with 500 entries. I must now sort it with VLC in order to extract the channels which do not display anything. I think it should end with a pretty good m3u file. It will be a local one.

As for the transport stream, I do not know yet how I can find out what it is, but I will find.I not I will ask for help on that too!!

I come back when I am ready. Thank you for help.

:) gabier

RE: Newbie question - Added by Hiro Protagonist over 4 years ago

Gabriel Galand wrote:

As you know in France we stay at home because of the confinement regulations and we have plenty of time.

You're not alone in that.

As for the transport stream, I do not know yet how I can find out what it is

ffmpeg is your friend.

RE: Newbie question - Added by Gabriel Galand over 4 years ago

Things don't turn out the way I expected.

Concerning the transport stream, after googling in french, I am pretty sure it is a ts stream. I have never used ffmpeg. i suppose it is a converter. What input can I use to be sure that we get ts streams ?

As for my m3u file is not so good. Out of the 500, barely a few channels opened in VLC, exactly 12, and in these 12 less then a handful is really interesting.
I am still searching a good m3u file...

:) gabier

RE: Newbie question - Added by Gabriel Galand over 4 years ago

Hello Hiro,

At last I have a m3u8 file. It is a local one and it is quite short (10 entries). Is that OK for a test ?

The reasons are
1. My ISP does not give access to their m3u list
2. On Internet you find a lot of m3u lists but they are generally stolen or copied from different ISPs and they want to make you buy an illegel TV box.
So I used a scanning application in order to find what IPTV can be accessed from where I am. The net result is that I cannot access many. Probably the reason is that ISPs crypt most channels, even many of the "free" channels (in France there are about 25 channels which are financed by tax and pub and the ISPs cannot charge you for accessing them).
The net result is that when my scanning application search the network, it finds more than 800 channels but non crypted channels are only 18. And when you sort out which are really active and which are not active or are only still images, only 10 active channels are left.

The real good strategy for me would be to change my ISP so that I have access to an official m3u file, always up to date. But before changing, I would like to have made a test of IPTV on my Nvidia Shield with TVH.
I can show you how the m3u file looks like
#EXTM3U
#EXTINF:-1,ARTE HD+ (fra)
rtp://232.0.3.4:8200
#EXTINF:-1,ARTE HD+ (qaa)
rtp://232.0.3.4:8200
#EXTINF:-1,ARTE HD+ (qad)
rtp://232.0.3.4:8200
#EXTINF:-1,ARTE HD+ (deu)
rtp://232.0.3.4:8200
#EXTINF:-1,ACTU TV HD
rtp://232.0.4.46:8200
#EXTINF:-1,TV5 MONDE HD
rtp://232.0.4.52:8200
#EXTINF:-1,L'actu d'OCS HD
rtp://232.0.4.64:8200
#EXTINF:-1,TF1 SF DAI (fra)
rtp://232.0.7.48:8200
#EXTINF:-1,TF1 SF DAI (qaa)
rtp://232.0.7.48:8200
#EXTINF:-1,TF1 SF DAI (qad)
rtp://232.0.7.48:8200
#EXTINF:-1,TF1 SF DAI (fra)
rtp://232.0.7.49:8200
#EXTINF:-1,TF1 SF DAI (qaa)
rtp://232.0.7.49:8200
#EXTINF:-1,TF1 SF DAI (qad)
rtp://232.0.7.49:8200
#EXTINF:-1,6ter-DAI-XOS
rtp://232.0.7.51:8200
#EXTINF:-1,EM4000 IPTV SCTE
rtp://232.0.7.52:8200
#EXTINF:-1,Service 3022
rtp://232.0.7.53:8200
#EXTINF:-1,France 2 DAI (fra)
rtp://232.0.7.55:8200
#EXTINF:-1,France 2 DAI (qad)
rtp://232.0.7.55:8200
#EXTINF:-1,France 2 DAI (qaa)
rtp://232.0.7.55:8200
#EXTINF:-1,SKYNEWS INTERNATIONAL
rtp://232.0.10.65:8200
#EXTINF:-1,CNBC
rtp://232.0.10.73:8200

:) gabier

RE: Newbie question - Added by saen acro over 4 years ago

Gabriel Galand wrote:

Hello Hiro,

At last I have a m3u8 file. It is a local one and it is quite short (10 entries). Is that OK for a test ?

The reasons are
1. My ISP does not give access to their m3u list
2. On Internet you find a lot of m3u lists but they are generally stolen or copied from different ISPs and they want to make you buy an illegel TV box.
So I used a scanning application in order to find what IPTV can be accessed from where I am. The net result is that I cannot access many. Probably the reason is that ISPs crypt most channels, even many of the "free" channels (in France there are about 25 channels which are financed by tax and pub and the ISPs cannot charge you for accessing them).
The net result is that when my scanning application search the network, it finds more than 800 channels but non crypted channels are only 18. And when you sort out which are really active and which are not active or are only still images, only 10 active channels are left.

The real good strategy for me would be to change my ISP so that I have access to an official m3u file, always up to date. But before changing, I would like to have made a test of IPTV on my Nvidia Shield with TVH.
I can show you how the m3u file looks like
#EXTM3U
#EXTINF:-1,ARTE HD+ (fra)
rtp://232.0.3.4:8200
#EXTINF:-1,ARTE HD+ (qaa)
rtp://232.0.3.4:8200
#EXTINF:-1,ARTE HD+ (qad)
rtp://232.0.3.4:8200
#EXTINF:-1,ARTE HD+ (deu)
rtp://232.0.3.4:8200
#EXTINF:-1,ACTU TV HD
rtp://232.0.4.46:8200
#EXTINF:-1,TV5 MONDE HD
rtp://232.0.4.52:8200
#EXTINF:-1,L'actu d'OCS HD
rtp://232.0.4.64:8200
#EXTINF:-1,TF1 SF DAI (fra)
rtp://232.0.7.48:8200
#EXTINF:-1,TF1 SF DAI (qaa)
rtp://232.0.7.48:8200
#EXTINF:-1,TF1 SF DAI (qad)
rtp://232.0.7.48:8200
#EXTINF:-1,TF1 SF DAI (fra)
rtp://232.0.7.49:8200
#EXTINF:-1,TF1 SF DAI (qaa)
rtp://232.0.7.49:8200
#EXTINF:-1,TF1 SF DAI (qad)
rtp://232.0.7.49:8200
#EXTINF:-1,6ter-DAI-XOS
rtp://232.0.7.51:8200
#EXTINF:-1,EM4000 IPTV SCTE
rtp://232.0.7.52:8200
#EXTINF:-1,Service 3022
rtp://232.0.7.53:8200
#EXTINF:-1,France 2 DAI (fra)
rtp://232.0.7.55:8200
#EXTINF:-1,France 2 DAI (qad)
rtp://232.0.7.55:8200
#EXTINF:-1,France 2 DAI (qaa)
rtp://232.0.7.55:8200
#EXTINF:-1,SKYNEWS INTERNATIONAL
rtp://232.0.10.65:8200
#EXTINF:-1,CNBC
rtp://232.0.10.73:8200

:) gabier

why not start to use UDPxy
you url will be

http://192.168.1.1:4022/rtp/232.0.3.4:8200

following ip numbering it's easy to get more channels.

RE: Newbie question - Added by Gabriel Galand over 4 years ago

Hello saen,

I tried to put the url in an address field but nothing happened.

Could you explain a little more what you are suggesting?

192.168.1.1 is my ISP's Internet box. What is the 4022 port ?

Also you are talking of trying udpxy and you code /rtp/232.0.3.4 ... ???

If I try to guess, maybe you try to bypass my ISP's box in order to see the outside network ?

:) gabier

RE: Newbie question - Added by saen acro over 4 years ago

Gabriel Galand wrote:

Hello saen,

I tried to put the url in an address field but nothing happened.

Could you explain a little more what you are suggesting?

192.168.1.1 is my ISP's Internet box. What is the 4022 port ?

Also you are talking of trying udpxy and you code /rtp/232.0.3.4 ... ???

If I try to guess, maybe you try to bypass my ISP's box in order to see the outside network ?

:) gabier

But you not install UDPxy

RE: Newbie question - Added by Gabriel Galand over 4 years ago

Saen,

Sorry, I had not understood UDPxy was an application. I have searched for information on it. If I understood correctly it is a Linux application. I have no Linux system, only Windows and Android. I know people have installed UDPxy on Raspberry Pis computers and it is not expensive.

But I am quite reluctant to go this route. I want a simple solution and I have been said that it is possible to implement IPTV on my Shield Android box, with Kodi and TVHeadEnd. I know this approach is not easy with my ISP orange because it does not give access to its channels' playlists. That is why I plan to change my ISP, but I would like to be sure before I change that the solution works in my environment.
I would like to test the solution with a simple playlist such as the one I showed above. I hope the test can be performed with this simple m3u file.

:) gabier

RE: Newbie question - Added by saen acro over 4 years ago

Realy am not shure what you read about but there is a Windows alternative
UDP-to-HTTP proxy

But to receve multicast from operator, you router need to support it or you need to conected directly to operator network.

RE: Newbie question - Added by Gabriel Galand over 4 years ago

saen acro wrote:

Realy am not shure what you read about but there is a Windows alternative
UDP-to-HTTP proxy

But to receve multicast from operator, you router need to support it or you need to conected directly to operator network.

Sorry, but I am searching an android solution, which fits best with the location of my different boxes, Tv, and computers.

:) gabier

RE: Newbie question - Added by saen acro over 4 years ago

Android is end user player not pointed to enyting else
There is no TVH for Android.

Clear you logic how it must work.

RE: Newbie question - Added by Gabriel Galand over 4 years ago

Sorry again, saen,

You are wrong. There is a TVHeadEnd for Android, it is an add-on to Kodi. It is the solution I aim to use.

And there are other TV applications in the Play Store, for instance Molotov TV, which can display any channel for you if you pay for it.

:) gabier

RE: Newbie question - Added by saen acro over 4 years ago

Gabriel Galand wrote:

Sorry again, saen,

You are wrong. There is a TVHeadEnd for Android, it is an add-on to Kodi. It is the solution I aim to use.

And there are other TV applications in the Play Store, for instance Molotov TV, which can display any channel for you if you pay for it.

:) gabier

Realy
PVR addon is not TVH it's a client to show TVH content.

Make diference betwin:
Fronend
Middlewere
Backend

RE: Newbie question - Added by Gabriel Galand over 4 years ago

OK let say I am really a newbie.

Can somebody explain me clearly what and where I should install in order to display live IPTV on my TV set, and record it where I want?

My understanding now:

Kodi has client add-ons. They can display and record IPTV if it comes to it. Those clients are for instance "IPTV simple Clent" or "TVHeadEnd".

The IPTV signal comes to the client coming from a "server" or "back-end" application which can be on the same computer or on another computer in the same network.
Can this back-end application be TVH ? If yes is there or not an Android version of TVH server? If no where should I install it
- on my windows 10 computer ?
- on the Synology NAS where there is indeed a TVH application available ?
A last question is : what input should be given to the backend in order to retrieve valid IPTV sources. The Unicast/Multicast issue is not very clear to me. I begin to suspect that my "simple" m3u8 file is not suitable.

Any explanation or advice (or link) is welcome.

:) gabier

RE: Newbie question - Added by Hiro Protagonist over 4 years ago

Gabriel Galand wrote:

OK let say I am really a newbie.

Can somebody explain me clearly what and where I should install in order to display live IPTV on my TV set, and record it where I want?

My understanding now:

The server is the source of the IPTV, that is a TV company or other entity that provides the IPTV streams.

Kodi has client add-ons. They can display and record IPTV if it comes to it. Those clients are for instance "IPTV simple Clent" or "TVHeadEnd".

Clients can't record, a client like IPTV simple client can simply play live TV provided by an IPTV server.
The TVHeadend Client you can install on Kodi or Android is not TVHeadend, it's just a client [i.e. a way to access the TVHeadend data].

The IPTV signal comes to the client coming from a "server" or "back-end" application which can be on the same computer or on another computer in the same network.

You have two types of setup:

Server -> Client - like simple client.
Server -> Backend -> Client - this is where TVHeadend etc comes in

Can this back-end application be TVH ? If yes is there or not an Android version of TVH server? If no where should I install it

That's what TVHeadend is, it's a back-end. No there isn't an Android version.

- on my windows 10 computer ?

Nope.

- on the Synology NAS where there is indeed a TVH application available ?

Either there or on a Linux box.

A last question is : what input should be given to the backend in order to retrieve valid IPTV sources. The Unicast/Multicast issue is not very clear to me. I begin to suspect that my "simple" m3u8 file is not suitable.

What you ultimately need is one or more IPTV transport streams, or something that can be converted to a transport stream by ffmpeg. You'll need to obtain or construct a .m3u8 file which provides the URLs for the different channels.

As you've observed, the lists you find online are usually rubbish. Some TV services provide IPTV streams, these are often geo-locked, some don't.

I hope you can find something that works.

RE: Newbie question - Added by Gabriel Galand over 4 years ago

Hello Hiro,

Thank you a lot. This clarifies several things which were not clear for me. My conclusion and resulting questions:

I want indeed to be able to record. That means I need TVH.

The place where I will install TVH depends on how the recording is organized.
Can I ask for a recording at the client location and this client will ask the server to address it the right stream ? In this case I can install TVH on the NAS.
Or do I have to go to a browser and order the recording directly to the server ? In this case I do not know yet how to proceed, because the multimedia stuff is not at the same place than the data processing stuff. Is there a browser that I can display on the TV set so that I can give orders to TVH back-end from there ?

As for the m3u8 file, I go on searching a valid one for a test, even if it is short.

:) gabier

RE: Newbie question - Added by Hiro Protagonist over 4 years ago

Gabriel Galand wrote:

I want indeed to be able to record. That means I need TVH.

Correct.

The place where I will install TVH depends on how the recording is organized.
Can I ask for a recording at the client location and this client will ask the server to address it the right stream ? In this case I can install TVH on the NAS.

The primary user interface for TVH is the web interface, so you will browser access for admin at a minumum.
The Kodi client can request recordings, but currently it cannot do autorec [i.e. series recording].
You can also use an Android client, it can do autorec.

As for the m3u8 file, I go on searching a valid one for a test, even if it is short.

If you just want test, try this:

#EXTM3U

#EXTINF:0,Deutsche Welle
pipe:///usr/bin/ffmpeg -loglevel fatal -headers User-Agent:\ FMLE/3.0\ (compatible;\ FMSc/1.0)\r\n -i http://dwstream4-lh.akamaihd.net:80/i/dwstream4_live@131329/index_1_av-p.m3u8 -map 0 -copy_unknown -c copy -metadata service_name=DW -f mpegts pipe:1

#EXTINF:0,Bloomberg
pipe:///usr/bin/ffmpeg -loglevel fatal -headers User-Agent:\ FMLE/3.0\ (compatible;\ FMSc/1.0)\r\n -i http://cdn-videos.akamaized.net/btv/desktop/akamai/europe/live/primary.m3u8 -map 0 -copy_unknown -c copy -metadata service_name=BWN -f mpegts pipe:1

Make sure the path to ffmpeg is correct for your system. If you don't have ffmpeg, you can just strip out all the pipe stuff & use the ram URLs.

RE: Newbie question - Added by Gabriel Galand over 4 years ago

OK I will have to do with the must of a browser. Maybe on a smartphone...

For the m3u file, I would like to try it but I suppose I have to put it on he Synology, where TVH is. ffmpeg is installed on the NAS but the problem is to find the path. On the Syno Gui I have no access to the system files.
I wonder if I have to reactivate my ssh console in order to access the system files from outside. In short I need time to have a ffmpeg I can launch in your script.

Thank you for help

:) gabier

RE: Newbie question - Added by Gabriel Galand over 4 years ago

Hello Hiro,

I have checked with ssh that the path of ffmpeg on my synology is indeed /usr/bin/. Your script should work. But when I try to give it to TVH it does not seem to like it. The scan does not find any transponder.
I am not sure TVH can read m3u lists which are in fact pipes from ffmpeg ! Is it not possible to execute the pipe somewhere else ? Or maybe I code something wrong when specifying the local network URL.

The problem with TVH is that we cannot know which URL pleases it and which doesn't. And if it does not work, it does not say why. Is there no log of errors in TVH ?

:) gabier

RE: Newbie question - Added by Hiro Protagonist over 4 years ago

Gabriel Galand wrote:

Hello Hiro,

I have checked with ssh that the path of ffmpeg on my synology is indeed /usr/bin/. Your script should work. But when I try to give it to TVH it does not seem to like it. The scan does not find any transponder.
I am not sure TVH can read m3u lists which are in fact pipes from ffmpeg ! Is it not possible to execute the pipe somewhere else ? Or maybe I code something wrong when specifying the local network URL.

I can assure you this does work.

You can try without the pipe if you like:

#EXTM3U

#EXTINF:0,Deutsche Welle
http://dwstream4-lh.akamaihd.net:80/i/dwstream4_live@131329/index_1_av-p.m3u8

#EXTINF:0,Bloomberg
http://cdn-videos.akamaized.net/btv/desktop/akamai/europe/live/primary.m3u8

The problem with TVH is that we cannot know which URL pleases it and which doesn't. And if it does not work, it does not say why. Is there no log of errors in TVH ?

When using the TVH web interface, at the bottom right of the window, click on the button that looks like two ^ on top of each other, This will display the current TVHeadend log.

However, when it comes to evaluating URL's, access to ffmpeg [or ffprobe] is more useful, e.g.

ffprobe 'http://dwstream4-lh.akamaihd.net:80/i/dwstream4_live@131329/index_1_av-p.m3u8'
...
Input #0, hls,applehttp, from 'http://dwstream4-lh.akamaihd.net:80/i/dwstream4_live@131329/index_1_av-p.m3u8':
  Duration: N/A, start: 8754.045467, bitrate: N/A
  Program 0 
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv), 720x400 [SAR 1:1 DAR 9:5], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 0
    Stream #0:2: Data: timed_id3 (ID3  / 0x20334449)
    Metadata:
      variant_bitrate : 0

I've deleted some noise from the output above, the important thing is that you see a video stream. If it's not working you'll usually see just a 404 [not found] or 403 [not authorized] message.

If you don't have ffprobe, use ffmpeg -i 'url' instead, it will complain that "At least one output file must be specified" but you can ignore that. Make sure you put the URL to be tested inside ''.

(1-25/50)