grudolf / m3u2hts

Generate TVHeadend 3.x channel/tag configuration files from VLC compatible IPTV M3U playlist
40 stars 18 forks source link

Make it 3.9 tvheadend compatible #2

Open iLLiac4 opened 10 years ago

iLLiac4 commented 10 years ago

Hi!

Is it possible to make it 3.9 compatible, since the structure has changed.

grudolf commented 10 years ago

Did some work in 554a2a77fc8d79109d73a3c23f7a12cea612cb8a. As I'm having some troubles with new TVHeadend version and I'm not sure if it's because of my misconfiguration, you should proceed with caution. Let me know if it works for you.

iLLiac4 commented 10 years ago

I have tested and it is not working. The channels are listed and also EPG looks ok, but stream does not start. I think the udp should be like udp://@232.4.3.19:5002 (with @). I have manually changed one and it has started to work. Maybee also usable would be under tab Muxes on the channel where URL is entered there is also Service Name.:. Maybe fill this one with Channel Name. This new ordering is totally confusing in TVHeadend in my opinion.

grudolf commented 10 years ago

Added service name to mux (display is still wrong, it's probably a webui bug) and @ to url. It didn't help though - the trouble is in service id (sid) which isn't provided in the .m3u file. This is the generated service definition

{
"enabled": 1, 
"dvb_servicetype": 1, 
"svcname": "SLO 2", 
"name": "SLO 2", 
"sid": 1  
}

and that's how the automatically generated service looks when you create/edit a mux through webui:

{
"sid": 2,
"lcn": 0,
"svcname": "SLO2",
"provider": "RTV SLOVENIJA",
"dvb_servicetype": 1,
"prefcapid": 0,
"enabled": true,
"pcr": 140,
"pmt": 102,
"stream": [
    {
        "pid": 140,
        "type": "MPEG2VIDEO",
        "position": 0
    },
    {
        "pid": 141,
        "type": "MPEG2AUDIO",
        "position": 0,
        "language": "slv",
        "audio_type": 0
    },
    {
        "pid": 142,
        "type": "TELETEXT",
        "position": 0
    }
]
} 

I could skip over services and create only muxes and channels, but they can't be linked without them. What makes is even worse is that service name (svcname) and id (sid) change quite often with my provider, even if url of the channel stays the same (they do change those too, ofc...).

Perhaps something could be solved by using json api to edit/create muxes, services and channels but the interface is undocumented and may still change.

I've been testing the head revision and I don't think it is ready yet - initial scan (all the channels at once?) kills my internet, switching to channel with invalid service id starts a stream which can be terminated only by restarting the service. And yeah, it's confusing.

iLLiac4 commented 10 years ago

Hmm i have tried now and set in your python script this line from 1 to 0. 'initscan': 0 # mark mux as scanned And after few minutes the channels started to work. I did also Map services and marked first three options. I doubt that this did it but you can try.

Maybe one note. I know a few commits back there was a bug in tvheadend. For reference this is the one i am using HTS Tvheadend 3.9.569~ge113c3b~trusty

grudolf commented 10 years ago

Yeah, that's the flag that kills my internet - if the muxes aren't marked as scanned tvheadend tries to scan all of them simultaneously and my puny VDSL is effectively DOS-ed.

iLLiac4 commented 10 years ago

:) yeah mine too. But after that just turn off and on the modem and it works after then..