[mythtv-users] HLS Streaming Problem

Chris Notley mythtv at notleyc.fastmail.fm
Mon Oct 22 20:49:10 UTC 2012


Hi there,

I've been hoping to simplify the process of integrating Myth and Enigma2
based satellite receivers.

I've been experimenting with the new HTTP Live Streaming feature of Myth
0.26 with a hope to simplify the process of integrating an Enigma2 based
satellite receiver.  It feels as though the solution is within reach,
but I'm not there yet.

I started by creating a m3u playlist hosted on my backend containing
streaming links taken directly off the Enigma2 box as follows:

#EXTM3U
#EXTINF:0,1 - BBC1
#EXTMYTHTV:xmltvid=london.bbc1.bbc.co.uk
http://enigma2_ip/web/stream.m3u?ref=1:0:1:189D:7FD:2:11A0000:0:0:0:&name=BBC%201%20London
#EXTINF:0,2 - BBC2
#EXTMYTHTV:xmltvid=england.bbc2.bbc.co.uk
http://enigma2_ip/web/stream.m3u?ref=1:0:1:189E:7FD:2:11A0000:0:0:0:&name=BBC%202%20England

The above was saved in /var/www and if I opened it using VLC I could
switch between playlist entries and successfully play either channel, so
then tried adding it to a freshly built test box running Myth 0.26
broadly following the guide at
(http://www.mythtv.org/wiki/User_Manual:Setting_up_HTTP_Live_Streaming_Recorder
- thanks Jean-Yves for an excellent article).  I was able to configure
the new card, source and scan for channels, but could not watch or
record anything.

After enabling verbose logging I could see there was a problem with my
playlist as there was an 'unhandled url' error reported when I tried to
record/watch a channel from my playlist.

To verify that the problem was definitely with the playlist I'd created,
I added the playlist listed in the wiki page above hosted by Jean-Yves,
which worked.  I then also re-read and noticed the comment at the start
of the wiki entry stating that "The link provided must be to a HTTP Live
Streaming playlist", so I then modified my playlists so the main
playlist (as referenced in the capture card) contained the following:

#EXTM3U
#EXTINF:0,1 - BBC1
#EXTMYTHTV:xmltvid=london.bbc1.bbc.co.uk
http://myth026_ip/bbc1.m3u
#EXTINF:0,2 - BBC2
#EXTMYTHTV:xmltvid=england.bbc2.bbc.co.uk
http://myth026_ip/bbc2.m3u

The two new playlists referenced above were as follows:

#EXTM3U
#EXTINF:0,1 - BBC1
#EXT-X-TARGETDURATION:10
http://enigma2_ip/web/stream.m3u?ref=1:0:1:189D:7FD:2:11A0000:0:0:0:&name=BBC%201%20London

and 

#EXTM3U
#EXTINF:0,2 - BBC2
#EXT-X-TARGETDURATION:10
http://enigma2_ip/web/stream.m3u?ref=1:0:1:189E:7FD:2:11A0000:0:0:0:&name=BBC%202%20England

After trying to record again, the verbose logging looked a little more
promising, as shown in the extract below:

2012-10-22 21:08:45.895657 I  ChannelBase(1): Input #1: 'MPEG2TS'
schan(1) sourceid(1) ccid(1)
2012-10-22 21:08:45.895668 I  ChannelBase(1): Current Input #1:
'MPEG2TS'
2012-10-22 21:08:45.895725 I  IPTVChan(1): Open() -- end
2012-10-22 21:08:45.896032 I  IPTVChan(1): GetChanInfo() -- begin
2012-10-22 21:08:45.896038 I  IPTVChan(1): GetChanInfo() -- locked
2012-10-22 21:08:45.897843 I  IPTVFeed: Open() -- begin
2012-10-22 21:08:45.897848 I  IPTVFeed: Init() -- begin
2012-10-22 21:08:45.930427 I  IPTVFeed: Init() -- adding listeners
2012-10-22 21:08:45.930513 I  IPTVFeed: Init() -- end 1
2012-10-22 21:08:45.930548 I  IPTVHLS: Open(http://myth026_ip/bbc1.m3u)
-- begin
2012-10-22 21:08:45.930643 I  IPTVHLS: Open() -- end
2012-10-22 21:08:45.930647 I  IPTVFeed: Open() -- end
2012-10-22 21:08:46.384148 I  HLSBuffer: HTTP Live Streaming
(http://myth026_ip/bbc1.m3u)
2012-10-22 21:08:46.384342 I  HLSBuffer: Live Playlist HLS protocol
version: 1
2012-10-22 21:08:46.385151 I  HLSBuffer: Starting Prefetch for 1
segments
2012-10-22 21:08:46.789217 I  HLSBuffer: Finished Prefetch (0.404079s)
2012-10-22 21:08:46.789476 I  HLSBuffer: pausing until we get sufficient
data buffered
2012-10-22 21:08:46.890451 I  HLSBuffer: reloading HLS live meta
playlist
2012-10-22 21:08:47.493555 I  HLSBuffer: Live Playlist HLS protocol
version: 1
2012-10-22 21:08:47.493707 I  HLSBuffer: updated hls stream
(program-id=0, bitrate=0) has 1 segments
2012-10-22 21:08:50.960231 I  sleeping for 60000 ms (interuptable)
2012-10-22 21:08:52.494786 I  HLSBuffer: reloading HLS live meta
playlist
2012-10-22 21:08:53.096349 I  HLSBuffer: Live Playlist HLS protocol
version: 1
2012-10-22 21:08:53.096397 I  HLSBuffer: updated hls stream
(program-id=0, bitrate=0) has 1 segments
2012-10-22 21:08:54.975745 I  Cardid 1: max bitrate 162597 KB/min
2012-10-22 21:08:54.975756 I  Maximal bitrate of busy encoders is 162597
KB/min
2012-10-22 21:08:58.096612 I  HLSBuffer: reloading HLS live meta
playlist
2012-10-22 21:08:58.698109 I  HLSBuffer: Live Playlist HLS protocol
version: 1
2012-10-22 21:08:58.698157 I  HLSBuffer: updated hls stream
(program-id=0, bitrate=0) has 1 segments

Running wireshark during the attempted recording shows an HTTP get
request being sent to the Enigma2 box from the mythtv box, so it appears
the structure of the playlist is sound, but the recording never seems to
happen.

I've run out of steam this evening, but any pointers would be greatly
appreciated!!

Cheers,
Chris


More information about the mythtv-users mailing list