XBMC Community Forum
ABC iView Plugin - Printable Version

+- XBMC Community Forum (http://forum.xbmc.org)
+-- Forum: Help and Support (/forumdisplay.php?fid=33)
+--- Forum: Add-ons Help and Support (/forumdisplay.php?fid=27)
+--- Thread: ABC iView Plugin (/showthread.php?tid=57736)

Pages: 1 2


ABC iView Plugin - Lukian - 2009-09-11 03:17

The code to allow the ABC iView plugin to work has recently been merged into the XBMC codebase, allowing more users to test it.

Read more:
http://www.andybotting.com/wordpress/using-abcs-iview-on-xbmc
http://trac.xbmc.org/ticket/7083

This thread is for discussion of any issues/suggestions related to the plugin.


- Lukian - 2009-09-11 03:20

Attempting to play any video using "ABC iView plugin v0.3" times out, and locks up the interface for quite a while allowing no further input until the time out limit is reached.

Steps to reproduce:
Download the iView plugin ( http://www.andybotting.com/wordpress/using-abcs-iview-on-xbmc)
Navigate to Video -> Library Mode -> Plugins
Select "ABC iView"
Select "Catchup"
Select any video.
Select "Play".
After ~2mins, UI displays: "Playlist playback aborted", "Too many consecutive failed items".

Debug log provides: "Connect, failed to connect socket. Error: 110. file:
rtmp://203.18.195.10:1935/ondemand/catch_up/mediawatch_09_09_31"

XBMC build: 64-bit 9.04.3+svn22528-jaunty2
AMD Athlon X2 4400+ (2.3GHz) & 4GB DDR 667MHz RAM & nVidia 8600GT. "VDPAU" as the video output.

$ nmap 203.18.195.10 -p 1935 -PN
Starting Nmap 4.76 ( http://nmap.org ) at 2009-09-08 13:47 EST
Interesting ports on 10-195-18-203-static.ptr.hostworks.net.au (203.18.195.10):
PORT STATE SERVICE
1935/tcp filtered rtmp
Nmap done: 1 IP address (1 host up) scanned in 2.40 seconds

$ curl "http://www2b.abc.net.au/iView/Services/iViewHandshaker.asmx/isp"
<?xml version="1.0" encoding="utf-8"?>
<iview xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.abc.net.au/iView/Services/iViewHandshaker">
<ip>203.123.90.21</ip>
<isp>unknown</isp>
<desc />
<host>Akamai</host>
<server />
<bwtest />
<token>daEbRa3bSdXbLbOambSdFa6bScTcadNa.dg-bkP0Vq-8-mkq_vHAoM&amp;aifp=v001</token>
<text>Your ISP does not offer iView unmetered</text>
<free>no</free>
<count>134</count>
<init>false</init>


- Squeeze - 2009-09-11 20:58

good stuff, might have to churn if this works out well...... work all weekend so I'll test nextweek.


- andybz - 2009-09-14 07:59

Lukian,

I've done some testing, and I can't seem to reproduce your error.

But, I do get the 'open' state when I hit the RTMP port. Maybe this is your problem?

andy@shuffle ~ $ nmap 203.18.195.10 -p 1935 -PN

Starting Nmap 4.76 ( http://nmap.org ) at 2009-09-14 15:58 EST
Interesting ports on 10-195-18-203-static.ptr.hostworks.net.au (203.18.195.10):
PORT STATE SERVICE
1935/tcp open rtmp


- rich harris - 2009-09-18 06:30

Lukian,

I'm seeing similar problems to you running on a v1.0 xbox. I'm running build 22528 which does contain andy's rtmp patches for iView and running the iView for XBMC plugin v0.3.

When I run the plugin and try to select Play on the video I get the
"Connect, failed to connect socket. Error: 110. file:
rtmp://203.18.195.10:1935/ondemand/catch_up/atm_09_05_32"
message in xbmc.log.

I tried to connect to 203.18.195.10 on port 1935 from my PC and also had the connection rejected. When I monitor my iView traffic with wireshark while I go to iView from a browser on my PC it is getting all of the data from 72.246.103.100.

I edited default.py and changed 203.18.195.10 to 72.246.103.100 and got the following messages in xbmc.log:
09:15:32 M: 34033664 NOTICE: DVDPlayer: Opening: rtmp://72.246.103.100:1935/ondemand/arts/atm_09_05_32
09:15:32 M: 34033664 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
09:15:32 M: 33509376 NOTICE: Creating InputStream
09:15:32 M: 33488896 NOTICE: Creating Demuxer
09:15:33 M: 25894912 NOTICE: Opening video stream: 0 source: 256
09:15:33 M: 25894912 NOTICE: Creating video codec with codec id: 0
09:15:33 M: 25894912 ERROR: Unsupported video codec
09:15:33 M: 25894912 WARNING: CDVDPlayer::OpenVideoStream - Unsupported stream 0. Stream disabled.
09:15:33 M: 25894912 NOTICE: Opening audio stream: 1 source: 256
09:15:33 M: 25894912 NOTICE: Finding audio codec for: 0
09:15:33 M: 25899008 ERROR: Unsupported audio codec
09:15:33 M: 25899008 WARNING: CDVDPlayer::OpenAudioStream - Unsupported stream 1. Stream disabled.
09:15:33 M: 25899008 NOTICE: CDVDPlayer::OnExit()
09:15:33 M: 25374720 NOTICE: DVDPlayer: eof, waiting for queues to empty
09:15:33 M: 25911296 NOTICE: CDVDPlayer::OnExit() deleting demuxer
09:15:33 M: 25948160 NOTICE: CDVDPlayer::OnExit() deleting input stream
09:15:33 M: 25948160 NOTICE: Deleted CRTMP
09:15:33 M: 26492928 NOTICE: CDVDPlayer::CloseFile()
09:15:33 M: 26492928 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
09:15:33 M: 26492928 NOTICE: DVDPlayer: waiting for threads to exit
09:15:33 M: 26492928 NOTICE: DVDPlayer: finished waiting

I am using Optus as an ISP and iView traffic is metered. Is it possible that there are some differences in how iView works if you are using an ISP with metered iView traffic vs an ISP with unmetered iView traffic?


- sladflob - 2009-09-28 10:16

Hi, great to see that the changes for this plugin have been merged into the trunk! I recently upgraded to XBMC build no. 23146 and installed the plugin. Unfortunately I'm getting an error when I start it up: the UI just says "Python error" but enabling debug and looking through the log it looks like a 404 error fetching a URL. Cutting out the relevant part of log:

15:14:22 T:2930768784 M:3033317376 NOTICE: File "/home/xbmc/.xbmc/plugins/video/ABC iView/default.py", line 133, in ?
15:14:22 T:2930768784 M:3033317376 NOTICE: channels()
15:14:22 T:2930768784 M:3033317376 NOTICE: File "/home/xbmc/.xbmc/plugins/video/ABC iView/default.py", line 18, in channels
15:14:22 T:2930768784 M:3033317376 NOTICE: channel_guide = parse_xml(url)
15:14:22 T:2930768784 M:3033317376 NOTICE: File "/home/xbmc/.xbmc/plugins/video/ABC iView/default.py", line 94, in parse_xml
15:14:22 T:2930768784 M:3033317376 NOTICE: f = urllib2.urlopen(url)
15:14:22 T:2930768784 M:3033317376 NOTICE: File "/usr/share/xbmc/system/python/python24.zip/urllib2.py", line 130, in urlopen
15:14:22 T:2930768784 M:3033317376 NOTICE: return _opener.open(url, data)
15:14:22 T:2930768784 M:3033317376 NOTICE: File "/usr/share/xbmc/system/python/python24.zip/urllib2.py", line 364, in open
15:14:22 T:2930768784 M:3033153536 NOTICE: response = meth(req, response)
15:14:22 T:2930768784 M:3033153536 NOTICE: File "/usr/share/xbmc/system/python/python24.zip/urllib2.py", line 471, in http_response
15:14:22 T:2930768784 M:3033153536 NOTICE: response = self.parent.error(
15:14:22 T:2930768784 M:3033153536 NOTICE: File "/usr/share/xbmc/system/python/python24.zip/urllib2.py", line 402, in error
15:14:22 T:2930768784 M:3033153536 NOTICE: return self._call_chain(*args)
15:14:22 T:2930768784 M:3033153536 NOTICE: File "/usr/share/xbmc/system/python/python24.zip/urllib2.py", line 337, in _call_chain
15:14:22 T:2930768784 M:3033153536 NOTICE: result = func(*args)
15:14:22 T:2930768784 M:3033153536 NOTICE: File "/usr/share/xbmc/system/python/python24.zip/urllib2.py", line 480, in http_error_default
15:14:22 T:2930768784 M:3033153536 NOTICE: raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
15:14:22 T:2930768784 M:3033153536 NOTICE: urllib2
15:14:22 T:2930768784 M:3033153536 NOTICE: .
15:14:22 T:2930768784 M:3033153536 NOTICE: HTTPError
15:14:22 T:2930768784 M:3033153536 NOTICE: :
15:14:22 T:2930768784 M:3033153536 NOTICE: HTTP Error 404: Not Found
15:14:22 T:2930768784 M:3033153536 ERROR: Scriptresult: Error

Not really sure what's going wrong here. Has the URL for iView changed? I definitely have access to iView and am on iiNet. Can anyone shed any light on this?

Thanks,

james


- Bigkidoz - 2009-10-02 12:14

How do you get the plugin to work ? I copied the iview folder to my dash>scripts folder and i get the icon and when i select it it flashes (running) but nothing happens ?


- sladflob - 2009-10-03 06:26

Sounds like what happens to me. If you look in the bottom right hand corner do you see an error message popup?


- Bigkidoz - 2009-10-03 15:14

sladflob Wrote:Sounds like what happens to me. If you look in the bottom right hand corner do you see an error message popup?

No error message at all.


- rich harris - 2009-10-08 05:15

It looks like Andy is doing a new version of the plugin to handle changes iView has made to the URLs used. He talks about a v0.4 in this comment: http://getsatisfaction.com/boxee/topics/add_abc_iview_for_australian_viewers#reply_1439637.


- sladflob - 2009-10-09 08:01

Thanks for the heads-up, 0.4 is up on Andy's site and it works a treat. It's fantastic, actually. Thanks Andy for your work on this.


Plugin doesn't work for non iiNet customers - rich harris - 2009-10-14 14:45

I've given the 0.4 version of the iView plugin a try and it still isn't working. I'm still getting the "ERROR: RTMP_LIB::CRTMP::Connect, failed to connect socket. Error: 10060. file: rtmp://203.18.195.10:1935/ondemand/catch_up/mediawatch_09_09_36" message.

Currently 203.18.195.10 is hardcoded in default.py in the plugin. I did a bit of digging around and it appears that 203.18.195.10 is a dedicated server for iiNet and Westnet customers according to this post:
http://forums.whirlpool.net.au/forum-replies-archive.cfm/1278411.html#r20794049

This explains why Lukian and I can't connect but the people on iiNet can.

When I change default.py to point to 72.246.103.100 (the server my PC streams from when I run iView from the browser) I get the following in the log:
07:51:03 M: 26300416 NOTICE: daEcfd6bqa2dSaLc6aIaKbbchdNb3dCcrdM-bk1Btx-8-ont_xEvqJ&aifp=v001
07:51:05 M: 33730560 NOTICE: DVDPlayer: Opening: rtmp://72.246.103.100:1935/ondemand/catch_up/mediawatch_09_09_36
07:51:05 M: 33730560 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
07:51:05 M: 33206272 NOTICE: Creating InputStream
07:51:06 M: 33185792 NOTICE: Creating Demuxer
07:51:07 M: 25292800 NOTICE: Opening video stream: 0 source: 256
07:51:07 M: 25292800 NOTICE: Creating video codec with codec id: 0
07:51:07 M: 25292800 ERROR: Unsupported video codec
07:51:07 M: 25292800 WARNING: CDVDPlayer::OpenVideoStream - Unsupported stream 0. Stream disabled.
07:51:07 M: 25292800 NOTICE: Opening audio stream: 1 source: 256
07:51:07 M: 25292800 NOTICE: Finding audio codec for: 0
07:51:07 M: 25305088 ERROR: Unsupported audio codec
07:51:07 M: 25305088 WARNING: CDVDPlayer::OpenAudioStream - Unsupported stream 1. Stream disabled.
07:51:07 M: 25305088 NOTICE: CDVDPlayer::OnExit()
07:51:07 M: 24780800 NOTICE: DVDPlayer: eof, waiting for queues to empty
07:51:07 M: 24879104 NOTICE: CDVDPlayer::OnExit() deleting demuxer
07:51:07 M: 24928256 NOTICE: CDVDPlayer::OnExit() deleting input stream
07:51:07 M: 24928256 NOTICE: Deleted CRTMP
07:51:07 M: 25997312 NOTICE: CDVDPlayer::CloseFile()
07:51:07 M: 25997312 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
07:51:07 M: 25997312 NOTICE: DVDPlayer: waiting for threads to exit
07:51:07 M: 25997312 NOTICE: DVDPlayer: finished waiting

So it appears it's not only the streaming server that's different for non iiNet customers.

Andy, please let me know if there are any traces I can do with wireshark that will help you see the differences between the iiNet stream and what I'm seeing as an optus customer.

Thanks,

Rich


- frosty - 2009-10-14 23:13

The same section of log as above but with DEBUG logging turned on may show useful output from librtmp, and will be considerably simpler than wireshark.


- rich harris - 2009-10-15 14:44

Thanks frosty.

The section of the log with debug enabled is at http://pastebin.com/f50329f36.

I noticed it contains the lines:
08:50:51 M: 13041664 DEBUG: Property: <Name: level, STRING: error>
08:50:51 M: 13041664 DEBUG: Property: <Name: code, STRING: NetStream.Play.StreamNotFound>
08:50:51 M: 13041664 DEBUG: Property: <Name: description, STRING: Failed to play

So the request must not be quite correct.

I hope this helps.


- rich harris - 2009-10-16 14:42

I've been having a bit more of a play and it looks like when I run iView from the browser I stream from a different IP address each time.

Some of this seems to depend on a different host name being used by iView, and there doesn't seem to be anything that I can see in the trace causing it to change. Some examples are cp44823.edgefcs.net and cp53909.edefcs.net.

cp53909.edefcs.net is hardcoded in the iView plugin script which may not be an issue.

The other reason for streaming from different hosts is that cp53909.edefcs.net resolves to different addresses. This may be some sort of load balancing mechanism to spread traffic between different servers. Here are some examples of different nslookup results for cp53909.edefcs.net:

Non-authoritative answer:
Name: a139.ui5g0.akafms.net
Addresses: 198.142.23.91, 198.142.23.85
Aliases: cp53909.edgefcs.net
a139.v539099.c53909.mm.vi5.akamaistream.net

Non-authoritative answer:
Name: a139.ui5g0.akafms.net
Address: 72.246.103.99
Aliases: cp53909.edgefcs.net
a139.v539099.c53909.mm.vi5.akamaistream.net

Non-authoritative answer:
Name: a139.ui5g0.akafms.net
Addresses: 198.142.23.85, 198.142.23.90, 198.142.23.91
Aliases: cp53909.edgefcs.net
a139.v539099.c53909.mm.vi5.akamaistream.net

Non-authoritative answer:
Name: a139.ui5g0.akafms.net
Addresses: 198.142.23.90, 198.142.23.91, 198.142.23.85
Aliases: cp53909.edgefcs.net
a139.v539099.c53909.mm.vi5.akamaistream.net

The plugin has the tcurl pointing to cp53909.edgefcs.net but the rtmp url pointing to a hardcoded IP address. I'm not sure what the reason for this is but maybe the script needs to resolve cp53909.edgefcs.net and use that IP address in the rtmp url rather than a hardcoded IP address. I tried to make the rtmp url and the tcurl both point to cp53909.edgefcs.net but that didn't work. I think the issue is to do with the tcurl and rtmp url pointing at different servers but I don't really know enough about how it works to know what's going on.

Rich