Opened 4 years ago

Last modified 4 years ago

#12450 new Bug Report - General

IPTV channel search not working - missing channel number in playlist

Reported by: glenn@… Owned by:
Priority: minor Milestone: unknown
Component: MythTV - Recording Version: Unspecified
Severity: medium Keywords: backend setup, channels, iptv, m3u, channels not showing up
Cc: Ticket locked: no

Description

Hi,

I'm not too sure if my question below is related to a bug or if it's a user based issue, so please let me know.

I've been trying to setup my myth tv backend for the last couple of days, without much luck.

I'm trying to load my IPTV channels, based on my .m3u file (www.glennmartinez.net/Wiedergabeliste.m3u). The .m3u file, generated by my "tv card" http://avm.de/produkte/fritzwlan/fritzwlan-repeater-dvb-c/ works perfectly fine with VLC and Kodi PVR IPTV Simple Client. To receive the epg data, I'm using epgdata.

I've run through the backend-setup (v. 0.27) and the different options several times. This should all be straight forward but the channel list just stays empty. Any help is appreciated.

Change History (8)

comment:1 Changed 4 years ago by Karl Egly

Component: MythTV - GeneralMythTV - Recording
Status: newinfoneeded_new
Summary: IPTV channel search not workingIPTV channel search not working - missing channel number in playlist

The playlist contains the channel name in a format without channel number. No other device does this, so we do not support this style. (yet)

#EXTINF:-1,Das Erste HD
#EXTVLCOPT:network-caching=1000
rtsp://192.168.178.31:554/?freq=418&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=1&pids=0,16,17,18,20,6000,6010,2171,2172,6020,6021,6022,6030,6031,6070

Try to change "#EXTINF:-1,Das Erste HD" into "#EXTINF:-1,1 - Das Erste HD" then this channel should be imported.

I have collected examples of other devices / standards for a unit test. Does this device carry some kind of channel number at all? If so, then you could suggest to AVM that adding a channel number in the SAT>IP standard style helps with compatibility? (or any other style. number minus name, appears to be a common style.)

comment:2 Changed 4 years ago by glenn@…

Hi,

Thank you for your message.

By adding the channel numbers, the channels now appear in the channel list. I will send AVM a wish for change request.

Unfortunately, the channels can't be displayed in MythTV. VLC doesn't have an issue in displaying the same IPTV channels. Any ideas on how to solve it?

comment:3 Changed 4 years ago by Karl Egly

Can you post the backend logfile with "--verbose record" when starting a recording/livetv?

My guess is that AVM doesn't rewrite the PAT to filter out other programs and MythTV ends up wondering which of the programs you want to record. Other player do further testing to be able to do an educated guess. (e.g. search for PMTs and A/V Streams then guess you want to record the program that is actually present in the stream)

We added a work around with #11487. But it is only in master, not in fixes/0.27.

You can try to manually specify the correct service_id/program_number like this (extending the sample from the forum): #EXTVLCOPT:program=11100 (I'm guessing you are receiving DVB-C in an upgraded area from Unitymedia. The frequency does match.)

#EXTM3U
#EXTINF:0,1 - Das Erste
#EXTMYTHTV:xmltvid=ard.de
#EXTVLCOPT:network-caching=1000
#EXTVLCOPT:program=11100
rtsp://192.168.178.31:554/?freq=418&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=1&pids=0,16,17,18,20,6000,6010,2171,2172,6020,6021,6022,6030,6031,6070

comment:4 Changed 4 years ago by steve.bn@…

Hello,

I have the same device on Kabel Deutschland. I tried your advise with 0.28 installed and following m3u:

#EXTM3U
#EXTINF:0,101 - Das Erste
#EXTMYTHTV:xmltvid=ard.de
#EXTVLCOPT:network-caching=1000
#EXTVLCOPT:program=28106
rtsp://192.168.1.139:554/?freq=338&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,16,17,18,20,100,101,102,103,104,105,106,2070,2171

I scheduled a 2 minute recording with the web interface (unfortunately, I did not get the kodi pvr plugin to work to test livetv) and the tuner displayed a connection for this time. So it is probably working already!

Here is the log from the backend:

2015-06-02 21:55:04.705493 I  JobQueue: Metadata Lookup Starting for "0 (Das Erste)":"2015-06-02 21:53:00" recorded from channel 1000 at 2015-06-02T19:54:00Z
2015-06-02 21:55:04.705868 I  Starting process manager
2015-06-02 21:55:04.705923 I  Starting IO manager (read)
2015-06-02 21:55:04.707675 I  Starting process signal handler
2015-06-02 21:55:04.707860 I  Starting IO manager (write)
2015-06-02 21:55:43.736513 I  Reschedule requested for MATCH 3 0 0 - PHP
2015-06-02 21:55:43.748192 I  Scheduled 1 items in 0.0 = 0.00 match + 0.00 check + 0.00 place
2015-06-02 21:56:30.756052 I  TVRec[2]: ASK_RECORDING 2 29 0 0
2015-06-02 21:56:30.797993 I  TVRec[1]: ASK_RECORDING 1 29 0 0
2015-06-02 21:57:00.017678 I  TVRec[1]: Changing from None to RecordingOnly
2015-06-02 21:57:00.018917 I  TVRec[1]: HW Tuner: 1->1
2015-06-02 21:57:00.025590 I  Loaded [data]rtsp://192.168.1.139:554/?freq=338&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,16,17,18,20,100,101,102,103,104,105,106,2070,2171[fectype][fec0][fec1] for 1000
2015-06-02 21:57:00.034701 I  Loaded [data]rtsp://192.168.1.139:554/?freq=338&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=0&pids=0,16,17,18,20,100,101,102,103,104,105,106,2070,2171[fectype][fec0][fec1] for 1000
2015-06-02 21:57:00.039641 I  IPTVSH(192.168.1.139::554): run()
2015-06-02 21:57:00.041606 N  AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 14 min
2015-06-02 21:57:00.042026 I  Tuning recording: "0 (Das Erste)":"2015-06-02 21:57:00": channel 1000 on cardid 1, sourceid 1
2015-06-02 21:57:00.111886 I  CetonRTSP: Transport: RTP/AVP;unicast;client_port=34952-34953
2015-06-02 21:57:00.204958 C  ProgramInfo(): Failed to find recorded entry for 0.
2015-06-02 21:57:01.694699 I  Updating status for "0 (Das Erste)":"2015-06-02 21:57:00" on cardid 1 (Tuning => Recording)
2015-06-02 21:57:01.922717 I  TVRec[1]: rec->GetPathname(): '/var/lib/mythtv/recordings/1000_20150602195700.ts'
2015-06-02 21:57:01.923132 W  RecBase[1](): SetOption(mrl,http://127.0.0.1/test.m3u): Option not recognized
2015-06-02 21:57:01.923159 E  RecBase[1](http://127.0.0.1/test.m3u): SetStrOption(...recordingtype): Option not in profile.
2015-06-02 21:57:01.928951 I  IPTVSH(192.168.1.139::554): run()
2015-06-02 21:57:02.001463 I  CetonRTSP: Transport: RTP/AVP;unicast;client_port=56597-56598
2015-06-02 21:59:00.991829 I  TVRec[1]: Changing from RecordingOnly to None
2015-06-02 21:59:00.992718 E  TVRec[0]: Problem finding starting channel, setting to default of '3'.
2015-06-02 21:59:01.437747 N  Finished Recording: Container: MPEG2-TS Video Codec: mpeg2video (720x576 A/R: 3 25fps) Audio Codec: ac3
2015-06-02 21:59:01.439829 I  Finished recording 0 (Das Erste) "2015-06-02 21:57:00": channel 1000
2015-06-02 21:59:01.440016 I  Updating status for "0 (Das Erste)":"2015-06-02 21:57:00" on cardid 1 (Recording => Recorded)
2015-06-02 21:59:01.440797 I  Reschedule requested for CHECK -3 3 719528 UpdateRecStatus2 | 0 (Das Erste) | 2015-06-02 21:57:00 |  | 
2015-06-02 21:59:01.449944 I  Scheduled 0 items in 0.0 = 0.00 match + 0.00 check + 0.00 place
2015-06-02 21:59:09.716109 I  JobQueue: Metadata Lookup Starting for "0 (Das Erste)":"2015-06-02 21:57:00" recorded from channel 1000 at 2015-06-02T19:57:00Z
2015-06-02 22:05:14.044450 N  AutoExpire: CalcParams(): Max required Free Space: 1.0 GB w/freq: 15 min

comment:5 Changed 4 years ago by glenn@…

Hi dekarl,

I've now added the #EXTVLCOPT:program=11100 line into my m3u file. Unfortunately, there is still no livetv showing on my screen. Am I missing something?

someone@somewhere:~$ mythbackend --verbose record
2015-06-03 09:08:17.058271 C  mythbackend version: fixes/0.27 [v0.27.4-69-gb7afc9b] www.mythtv.org
2015-06-03 09:08:17.058293 C  Qt version: compile: 4.8.6, runtime: 4.8.6
2015-06-03 09:08:17.058302 N  Enabled verbose msgs:  general record
2015-06-03 09:08:17.058315 N  Setting Log Level to LOG_INFO
2015-06-03 09:08:17.069251 I  Added logging to the console
2015-06-03 09:08:17.070195 I  Setup Interrupt handler
2015-06-03 09:08:17.070222 I  Setup Terminated handler
2015-06-03 09:08:17.070237 I  Setup Segmentation fault handler
2015-06-03 09:08:17.070254 I  Setup Aborted handler
2015-06-03 09:08:17.070267 I  Setup Bus error handler
2015-06-03 09:08:17.070283 I  Setup Floating point exception handler
2015-06-03 09:08:17.070303 I  Setup Illegal instruction handler
2015-06-03 09:08:17.070319 I  Setup Real-time signal 0 handler
2015-06-03 09:08:17.070386 N  Using runtime prefix = /usr
2015-06-03 09:08:17.070416 N  Using configuration directory = /home/glenn/.mythtv
2015-06-03 09:08:17.070538 I  Assumed character encoding: de_DE.UTF-8
2015-06-03 09:08:17.071291 N  Empty LocalHostName.
2015-06-03 09:08:17.071304 I  Using localhost value of multimedia
2015-06-03 09:08:17.087936 N  Setting QT default locale to de_US
2015-06-03 09:08:17.088029 I  Current locale de_US
2015-06-03 09:08:17.088093 E  No locale defaults file for de_US, skipping
2015-06-03 09:08:17.091640 I  Current MythTV Schema Version (DBSchemaVer): 1317
2015-06-03 09:08:17.092113 I  Loading de translation for module mythfrontend
2015-06-03 09:08:17.093966 N  MythBackend: Starting up as the master server.
2015-06-03 09:08:17.095904 I  TVRec[1]: SetRecordingStatus(Unbekannt->Unbekannt) on line 156
2015-06-03 09:08:17.096104 I  TVRec[1]: GetStartChannel(1, 'MPEG2TS')
2015-06-03 09:08:17.105611 I  Loaded [data]rtsp://192.168.178.31:554/?freq=418&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=1&pids=0,16,17,18,20,6000,6010,2171,2172,6020,6021,6022,6030,6031,6070[fectype][fec0][fec1] for 1001
2015-06-03 09:08:17.108461 I  TVRec[1]: SetFlags(RunMainLoop,) -> RunMainLoop,
2015-06-03 09:08:17.108478 I  TVRec[1]: ClearFlags(ExitPlayer,FinishRecording,) -> RunMainLoop,
2015-06-03 09:08:17.110221 I  Found 1 distinct programid authorities
2015-06-03 09:08:17.110734 I  New static DB connectionSchedCon
2015-06-03 09:08:17.110747 I  Registering HouseKeeperTask 'LogClean'.
2015-06-03 09:08:17.110811 I  Registering HouseKeeperTask 'DBCleanup'.
2015-06-03 09:08:17.110835 I  Registering HouseKeeperTask 'ThemeUpdateNotifications'.
2015-06-03 09:08:17.110858 I  Registering HouseKeeperTask 'RecordedArtworkUpdate'.
2015-06-03 09:08:17.111843 I  Registering HouseKeeperTask 'MythFillDB'.
2015-06-03 09:08:17.111869 I  Registering HouseKeeperTask 'JobQueueRecover'.
2015-06-03 09:08:17.111885 I  Registering HouseKeeperTask 'HardwareProfiler'.
2015-06-03 09:08:17.113291 I  Starting HouseKeeper.
2015-06-03 09:08:17.115462 E  Failed listening on TCP 127.0.0.1:6544 - Error 8: The bound address is already in use
2015-06-03 09:08:17.115499 E  MediaServer::HttpServer Create Error
2015-06-03 09:08:17.116503 E  Failed listening on TCP 127.0.0.1:6543 - Error 8: The bound address is already in use
2015-06-03 09:08:17.116522 C  Backend exiting, MainServer initialization error.
2015-06-03 09:08:17.171407 I  New Client:  (#1)
2015-06-03 09:08:20.118609 I  TVRec[1]: ClearFlags(RunMainLoop,) -> 0x0
2015-06-03 09:08:20.118674 I  TVRec[1]: ClearFlags(RecorderRunning,) -> 0x0
glenn@multimedia:~$ mythbackend --verbose record
2015-06-03 09:09:11.271969 C  mythbackend version: fixes/0.27 [v0.27.4-69-gb7afc9b] www.mythtv.org
2015-06-03 09:09:11.271991 C  Qt version: compile: 4.8.6, runtime: 4.8.6
2015-06-03 09:09:11.272000 N  Enabled verbose msgs:  general record
2015-06-03 09:09:11.272013 N  Setting Log Level to LOG_INFO
2015-06-03 09:09:11.282901 I  Added logging to the console
2015-06-03 09:09:11.283656 I  Setup Interrupt handler
2015-06-03 09:09:11.283672 I  Setup Terminated handler
2015-06-03 09:09:11.283682 I  Setup Segmentation fault handler
2015-06-03 09:09:11.283693 I  Setup Aborted handler
2015-06-03 09:09:11.283702 I  Setup Bus error handler
2015-06-03 09:09:11.283713 I  Setup Floating point exception handler
2015-06-03 09:09:11.283725 I  Setup Illegal instruction handler
2015-06-03 09:09:11.283737 I  Setup Real-time signal 0 handler
2015-06-03 09:09:11.283798 N  Using runtime prefix = /usr
2015-06-03 09:09:11.283815 N  Using configuration directory = /home/glenn/.mythtv
2015-06-03 09:09:11.283883 I  Assumed character encoding: de_DE.UTF-8
2015-06-03 09:09:11.284323 N  Empty LocalHostName.
2015-06-03 09:09:11.284334 I  Using localhost value of multimedia
2015-06-03 09:09:11.298659 N  Setting QT default locale to de_US
2015-06-03 09:09:11.298754 I  Current locale de_US
2015-06-03 09:09:11.298809 E  No locale defaults file for de_US, skipping
2015-06-03 09:09:11.302771 I  Current MythTV Schema Version (DBSchemaVer): 1317
2015-06-03 09:09:11.303360 I  Loading de translation for module mythfrontend
2015-06-03 09:09:11.305667 N  MythBackend: Starting up as the master server.
2015-06-03 09:09:11.307967 I  TVRec[1]: SetRecordingStatus(Unbekannt->Unbekannt) on line 156
2015-06-03 09:09:11.308293 I  TVRec[1]: GetStartChannel(1, 'MPEG2TS')
2015-06-03 09:09:11.318538 I  Loaded [data]rtsp://192.168.178.31:554/?freq=418&bw=8&msys=dvbc&mtype=256qam&sr=6900&specinv=1&pids=0,16,17,18,20,6000,6010,2171,2172,6020,6021,6022,6030,6031,6070[fectype][fec0][fec1] for 1001
2015-06-03 09:09:11.324819 I  TVRec[1]: SetFlags(RunMainLoop,) -> RunMainLoop,
2015-06-03 09:09:11.324842 I  TVRec[1]: ClearFlags(ExitPlayer,FinishRecording,) -> RunMainLoop,
2015-06-03 09:09:11.326850 I  Found 1 distinct programid authorities
2015-06-03 09:09:11.327116 I  Registering HouseKeeperTask 'LogClean'.
2015-06-03 09:09:11.327178 I  Registering HouseKeeperTask 'DBCleanup'.
2015-06-03 09:09:11.327205 I  Registering HouseKeeperTask 'ThemeUpdateNotifications'.
2015-06-03 09:09:11.327208 I  New static DB connectionSchedCon
2015-06-03 09:09:11.327225 I  Registering HouseKeeperTask 'RecordedArtworkUpdate'.
2015-06-03 09:09:11.328636 I  Registering HouseKeeperTask 'MythFillDB'.
2015-06-03 09:09:11.328659 I  Registering HouseKeeperTask 'JobQueueRecover'.
2015-06-03 09:09:11.328673 I  Registering HouseKeeperTask 'HardwareProfiler'.
2015-06-03 09:09:11.330254 I  Starting HouseKeeper.
2015-06-03 09:09:11.332729 E  Failed listening on TCP 127.0.0.1:6544 - Error 8: The bound address is already in use
2015-06-03 09:09:11.332766 E  MediaServer::HttpServer Create Error
2015-06-03 09:09:11.334092 E  Failed listening on TCP 127.0.0.1:6543 - Error 8: The bound address is already in use
2015-06-03 09:09:11.334110 C  Backend exiting, MainServer initialization error.
2015-06-03 09:09:11.385025 I  New Client:  (#1)
2015-06-03 09:09:14.335047 I  TVRec[1]: ClearFlags(RunMainLoop,) -> 0x0
2015-06-03 09:09:14.335146 I  TVRec[1]: ClearFlags(RecorderRunning,) -> 0x0

comment:6 Changed 4 years ago by steve.bn@…

Hey glenn,

you need to upgrade to the mythtv development version in order for the extra line to work:

sudo add-apt-repository ppa:mythbuntu/0.28 

From your log it also seems like another instance of the backend is running already that you need to stop.

With the added line both recording and livetv is working for me. However, it is a very slow process to retrieve the program/service_id information from the vlc stream information. Is there a better way?

Also, the stream includes both EPG and teletext information. Is there any chance to have it evaluated by mythtv?

comment:7 Changed 4 years ago by Karl Egly

  • The best way would be for AVM to correctly rewrite the transmitted PAT to only list the one program that is actually present in the stream instead of copying the complete PAT from DVB-C with all programs. Other DVB->IP solutions do this properly, see e.g. http://www.mumudvb.net/doc/mumudvb-1.7.2/README.html#pat_rewrite
  • The second best way would be for AVM to automatically add the VLC style option #EXTVLCOPT:program=12345 (they already added another VLC option) to their playlist (The information is stored in the device already, as after all they filter by the program_number/service_id to only carry the relevant PIDs).
  • The last option would be to enhance MythTV's stream tasting to look for PMT presence, but as multiple PMTs can be transmitted on the same PID that may not be enough. So we need to write a lot of code, involving PID counting in case of multiple programs sharing streams (e.g. Euronews / regional variations of programs with dynamic PMT).

comment:8 Changed 4 years ago by paulh

Status: infoneeded_newnew
Note: See TracTickets for help on using tickets.