Kodi Community Forum

Full Version: [RELEASE] Irish TV (Video) Addon, RTE, TV3, AerTV, TG4 v.2.1.1
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
@tomjoe Thanks for doing that, now I know that the problem happens in python scripts running outside of XBMC. This means that it's not specific to the plugin or XBMC, but it could be specific to Python (which, as you may know, is the language that the plugins use).

I'll have a think about that for the time being.
@Mossy, I've sent you my logs for bctest.
Got all that, thanks.
@tomjoe I've found that there a couple of web pages for which some people get the 504 Gateway Timeout response, but only in python, the same pages work fine in a web browser. I'd like to see what happens when you try to access them with python.

I've uploaded a python script bctest2.py to the same folder as last time. This script tests two extra web pages. I'd like you to run it twice. First time as normal and the second time with Smart DNS turned off, just connecting directly.

Run the following from a command line each time:
Code:
python bctest2.py

... and send me the resulting output.
@Mossy, logs sent. bctest2.py errored out on line 11...
Good news. The Brightcove connection works when you're not going through Smart DNS.

The solution then is to run a DNS on one of your machines (perhaps one of your XBMC devices) configured to go to c.brightcove.com directly, and everything else to go through Smart DNS.

Then configure your XBMC devices to use that machine as your DNS.

On linux this can be done with dnsmasq.

To configure dnsmasq as described above edit the dnsmasq config file (probably /etc/dnsmasq.conf) to add something like this:

Code:
server=/c.brightcove.com/8.8.8.8
server=62.69.62.7

This example uses 8.8.8.8 as your direct DNS IP and 62.69.62.7 as your Smart DNS IP. Change appropriately.
Ok Mossy, I've implemented dnsmasq as you suggested, and removed the standard DNS configuration from Raspbmc.

As far as I can tell, RTE live stream & catch-up (including geoblocked shows) still work as normal, so the SmartDNS is being used for these.

For AerTV, I still have the timeout error. Checking the log, brightcove recognizes my foreign location and denies access. Correct me if I'm wrong, but if brightcove host the stream service and do the geolocation check, there's no way to use dnsmasq to distinguish between the two requests? In reality, I think AerTV / Brightcove have figured out a way to block SmartDNS.

EDIT: Maybe I'm searching in the wrong place, I'm getting a login failed error for AerTV Plus. I'm sure I have my correct email/password...any ideas how I can check?

Code:
22:17:46 T:2877289536  NOTICE: -->Python Interpreter Initialized<--
22:17:50 T:2877289536  NOTICE: <module> : 'Loading cookies from :u'/home/pi/.xbmc/userdata/addon_data/plugin.video.irishtv/cookiejar.txt''
22:17:50 T:2877289536  NOTICE: setGetFromCache : 'self: <httpmanager.HttpManager instance at 0x3fd52d8>'
22:17:50 T:2877289536  NOTICE: setGetFromCache : 'setGetFromCache(True)'
22:17:50 T:2877289536  NOTICE: InitialiseHTTP : 'proxy_method: 0'
22:17:50 T:2877289536  NOTICE: ParseCommand : 'urlRoot: http://www.rte.ie, page: /player/ie/live/8/'
22:18:00 T:3040645120  NOTICE: COMXPlayer: Opening: rtmp://fmsod.rte.ie/live/ app=live playpath=rte1 swfurl=http://www.rte.ie/static/player/swf/osmf2_2013_06_25b.swf swfvfy=true live=true
22:18:00 T:3040645120 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
22:18:00 T:2768237632  NOTICE: Thread COMXPlayer start, auto delete: false
22:18:00 T:2768237632  NOTICE: Creating InputStream
22:18:00 T:2768237632   ERROR: rtmp server sent error
22:18:01 T:2768237632  NOTICE: Creating Demuxer
22:18:01 T:2768237632  NOTICE: Metadata:
22:18:01 T:2768237632  NOTICE:   startDate             10-04-2014
22:18:01 T:2768237632  NOTICE:   startTime             04:00:13:00
22:18:01 T:2768237632  NOTICE:   sourcetype            KulaByte Encoder 3.2 rev6401
22:18:01 T:2768237632  NOTICE:   presetname            rte1uni
22:18:01 T:2768237632  NOTICE:   videocodecid          avc1
22:18:01 T:2768237632  NOTICE:   framerate             25.00
22:18:01 T:2768237632  NOTICE:   width                 512.00
22:18:01 T:2768237632  NOTICE:   height                288.00
22:18:01 T:2768237632  NOTICE:   videodatarate         448.00
22:18:01 T:2768237632  NOTICE:   avcprofile            77.00
22:18:01 T:2768237632  NOTICE:   avclevel              30.00
22:18:01 T:2768237632  NOTICE:   videokeyframe_frequency0.00
22:18:01 T:2768237632  NOTICE:   audiocodecid          aac
22:18:01 T:2768237632  NOTICE:   audiosamplerate       48000.00
22:18:01 T:2768237632  NOTICE:   audiochannels         2.00
22:18:01 T:2768237632  NOTICE:   audiodatarate         64.00
22:18:01 T:2768237632  NOTICE:   audioinputvolume      0.00
22:18:02 T:2768237632  NOTICE: Opening video stream: 0 source: 256
22:18:02 T:2768237632  NOTICE: Creating video thread
22:18:02 T:2689594432  NOTICE: Thread COMXPlayerVideo start, auto delete: false
22:18:02 T:2768237632  NOTICE: Opening audio stream: 1 source: 256
22:18:02 T:2768237632  NOTICE: Creating audio thread
22:18:02 T:2681205824  NOTICE: Thread COMXPlayerAudio start, auto delete: false
22:18:03 T:2768237632  NOTICE: OMXClock using audio as reference
22:18:03 T:2689594432  NOTICE: Display resolution DESKTOP : 1920x1080 @ 60.00 - Full Screen (16)
22:18:04 T:3040645120  NOTICE: Using GL_TEXTURE_2D
22:18:04 T:3040645120  NOTICE: GL: Using BYPASS render method
22:18:04 T:3040645120  NOTICE: GL: NPOT texture support detected
22:18:07 T:3040645120  NOTICE: COMXPlayer::CloseFile
22:18:07 T:3040645120  NOTICE: COMXPlayer: waiting for threads to exit
22:18:07 T:2768237632  NOTICE: COMXPlayer::OnExit()
22:18:07 T:2768237632  NOTICE: OMXPlayer: closing audio stream
22:18:07 T:2768237632  NOTICE: Closing audio stream
22:18:07 T:2681205824  NOTICE: thread end: OMXPlayerAudio::OnExit()
22:18:07 T:2768237632  NOTICE: OMXPlayer: closing video stream
22:18:07 T:2768237632  NOTICE: Closing video stream
22:18:07 T:2689594432   ERROR: OMXPlayerVideo: Got MSGQ_IS_ERROR(-1) Aborting
22:18:07 T:2689594432  NOTICE: thread end: video_thread
22:18:07 T:2768237632  NOTICE: COMXPlayer::OnExit() deleting demuxer
22:18:07 T:2768237632  NOTICE: COMXPlayer::OnExit() deleting input stream
22:18:07 T:3040645120  NOTICE: DVDPlayer: finished waiting
22:18:08 T:2768237632  NOTICE: Thread Background Loader start, auto delete: false
22:18:08 T:3040645120  NOTICE: COMXPlayer::CloseFile
22:18:08 T:3040645120 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
22:18:08 T:3040645120  NOTICE: COMXPlayer: waiting for threads to exit
22:18:08 T:3040645120  NOTICE: DVDPlayer: finished waiting
22:18:08 T:2877289536  NOTICE: _Cache_GetFromFlag : '_Cache_GetFromFlag() - gotFromCache = False'
22:18:10 T:2714760256  NOTICE: Thread Background Loader start, auto delete: false
22:18:10 T:2877289536  NOTICE: Thread Jobworker start, auto delete: true
22:18:11 T:2714760256  NOTICE: Thread Background Loader start, auto delete: false
22:18:13 T:2714760256  NOTICE: Thread XBPyThread start, auto delete: false
22:18:14 T:2714760256  NOTICE: -->Python Interpreter Initialized<--
22:18:20 T:2714760256  NOTICE: <module> : 'Loading cookies from :u'/home/pi/.xbmc/userdata/addon_data/plugin.video.irishtv/cookiejar.txt''
22:18:20 T:2714760256  NOTICE: setGetFromCache : 'self: <httpmanager.HttpManager instance at 0x39b48a0>'
22:18:20 T:2714760256  NOTICE: setGetFromCache : 'setGetFromCache(True)'
22:18:20 T:2714760256  NOTICE: InitialiseHTTP : 'proxy_method: 0'
22:18:26 T:2714760256   ERROR: GetHTTPResponse : 'URLError: <urlopen error timed out>'
22:18:26 T:2714760256  NOTICE: _Cache_GetFromFlag : '_Cache_GetFromFlag() - gotFromCache = False'
22:18:26 T:2714760256 WARNING: fromException : 'URLError(timeout('timed out',),)'
22:18:26 T:2714760256 WARNING: Login : 'AerTV login failed'
22:18:26 T:2714760256 WARNING:  : 'Traceback (most recent call last):
                                              File "/home/pi/.xbmc/addons/plugin.video.irishtv/aertv.py", line 266, in AttemptLogin
                                                loginJSONText = self.httpManager.GetWebPageDirect(url, logUrl = logUrl)
                                              File "/home/pi/.xbmc/addons/plugin.video.irishtv/httpmanager.py", line 326, in GetWebPageDirect
                                                return self.GetWebPage(url, 0, values, headers, logUrl)
                                              File "/home/pi/.xbmc/addons/plugin.video.irishtv/httpmanager.py", line 320, in GetWebPage
                                                return self.GetURL( url, maxAge, values, headers, logUrl )
                                              File "/home/pi/.xbmc/addons/plugin.video.irishtv/httpmanager.py", line 539, in GetURL
                                                data, responseMaxAge = self._GetURL_NoCache( url, values, headers, logUrl)
                                              File "/home/pi/.xbmc/addons/plugin.video.irishtv/httpmanager.py", line 390, in _GetURL_NoCache
                                                response = self.GetHTTPResponse(url, values, headers, logUrl)
                                              File "/home/pi/.xbmc/addons/plugin.video.irishtv/httpmanager.py", line 494, in GetHTTPResponse
                                                raise exception
                                            URLError: <urlopen error timed out>
                                            '
22:18:29 T:2714760256  NOTICE: LogLoginInfo : 'is_paid_subscriber: 1'
22:18:29 T:2714760256  NOTICE: LogLoginInfo : 'login: True'
22:18:29 T:2714760256  NOTICE: LogLoginInfo : 'status: 1'
22:18:29 T:2714760256  NOTICE: LogLoginInfo : 'status: [
                                                {
                                                    u'code': u'AERTV_PLUS',
                                                    u'desc': u'Aertv Plus',
                                                    u'package_id': u'6'
                                                },
                                                {
                                                    u'code': u'WEB_STD',
                                                    u'desc': u'Free Channel Pack',
                                                    u'package_id': u'1'
                                                }
                                            ]'
22:18:35 T:2714760256  NOTICE: _Cache_GetFromFlag : '_Cache_GetFromFlag() - gotFromCache = False'
22:18:35 T:2681205824  NOTICE: Thread Background Loader start, auto delete: false
22:18:39 T:2768237632  NOTICE: Thread XBPyThread start, auto delete: false
22:18:39 T:2768237632  NOTICE: -->Python Interpreter Initialized<--
22:18:44 T:2768237632  NOTICE: <module> : 'Loading cookies from :u'/home/pi/.xbmc/userdata/addon_data/plugin.video.irishtv/cookiejar.txt''
22:18:44 T:2768237632  NOTICE: setGetFromCache : 'self: <httpmanager.HttpManager instance at 0xa1d19ee0>'
22:18:44 T:2768237632  NOTICE: setGetFromCache : 'setGetFromCache(True)'
22:18:44 T:2768237632  NOTICE: InitialiseHTTP : 'proxy_method: 0'
22:18:47 T:2768237632  NOTICE: LogLoginInfo : 'is_paid_subscriber: 1'
22:18:47 T:2768237632  NOTICE: LogLoginInfo : 'login: True'
22:18:47 T:2768237632  NOTICE: LogLoginInfo : 'status: 1'
22:18:47 T:2768237632  NOTICE: LogLoginInfo : 'status: [
                                                {
                                                    u'code': u'AERTV_PLUS',
                                                    u'desc': u'Aertv Plus',
                                                    u'package_id': u'6'
                                                },
                                                {
                                                    u'code': u'WEB_STD',
                                                    u'desc': u'Free Channel Pack',
                                                    u'package_id': u'1'
                                                }
                                            ]'
22:18:48 T:2768237632  NOTICE: PlayChannel : 'json data:{u'player': u'Get player here from post ', u'flag': u'new', u'data': {u'free': True, u'appStreamUrl': u'', u'show': u'Ceili\xfaradh (Celebration)', u'playerId': u'1454761980001', u'publisherId': u'1242843906001', u'streamname': u'', u'videoId': u'rte-one', u'auth': True, u'post_id': u'17', u'internal': u'off', u'freebie': True, u'magonly': False, u'playerKey': u'AQ~~,AAABIV9E_9E~,lGDQr89oSbKT02RqV22r-E007AitVINH', u'channel': u'RT\xc9 One'}}'
22:18:48 T:2768237632  NOTICE: BuildAmfRequest : 'ContentRefId:rte-one, ExperienceId:1454761980001, URL:http://www.aertv.ie/#rte-one'
22:18:48 T:2768237632  NOTICE: BuildAmfRequest : 'hashValue:a7ef6ffbfba938b174f5044af3343163a0877c48'
22:18:48 T:2768237632  NOTICE: BuildAmfRequest : 'contentType: 0, contentId: None, target: videoPlayer, contentIds: None, contentRefId: rte-one, contentRefIds: None, contentType: 0, featureId: 0.0, featuredRefId: None, '
22:18:48 T:2768237632  NOTICE: BuildAmfRequest : 'TTLToken: , URL: http://www.aertv.ie/#rte-one, deliveryType: 0.0, contentOverrides: [<brightcove.ContentOverride object at 0x3fbb710>], experienceId: 1454761980001, playerKey: AQ~~,AAABIV9E_9E~,lGDQr89oSbKT02RqV22r-E007AitVINH'
22:18:49 T:2768237632  NOTICE: PostBinary : 'headers: {'DNT': '1', 'content-type': 'application/x-amf', 'User-Agent': 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)'}'
22:18:50 T:2768237632  NOTICE: PlayChannel : ' channel: rte-one'
22:18:50 T:2768237632  NOTICE: _Cache_GetFromFlag : '_Cache_GetFromFlag() - gotFromCache = False'
22:18:50 T:2768237632   ERROR: fromException : 'KeyError(u'name',)'
22:18:50 T:2768237632   ERROR: GetStreamUrl : 'self.amfResponse:
                                          
                                            {
                                                'code': u'SERVER.PROCESSING',
                                                'description': u'The video you are trying to watch cannot be viewed from your current country or location.',
                                                'details': u'com.brightcove.templating.RestrictedGeographyException: The video you are trying to watch cannot be viewed from your current country or location.',
                                                'level': u'error',
                                                'message': u'com.brightcove.templating.RestrictedGeographyException : The video you are trying to watch cannot be viewed from your current country or location.',
                                                'type': u'com.brightcove.templating.RestrictedGeographyException'
                                            }
                                          
                                            '
22:18:50 T:2768237632   ERROR: PlayChannel : 'Error getting rtmp url'
22:18:50 T:2768237632   ERROR: PlayChannel : 'jsonData:
                                          
                                            {"player":"Get player here from post ","data":{"post_id":"17","freebie":true,"auth":true,"magonly":false,"channel":"RT\u00c9 One","internal":"off","streamname":"","free":true,"videoId":"rte-one","publisherId":"1242843906001","playerId":"1454761980001","playerKey":"AQ~~,AAABIV9E_9E~,lGDQr89oSbKT02RqV22r-E007AitVINH","appStreamUrl":"","show":"Ceili\u00faradh (Celebration)"},"flag":"new"}
                                          
                                            '
22:18:50 T:2768237632   ERROR: PlayChannel : 'Error getting rtmp url'
22:18:50 T:2768237632   ERROR:  : 'Traceback (most recent call last):
                                              File "/home/pi/.xbmc/addons/plugin.video.irishtv/brightcove.py", line 72, in GetStreamUrl
                                                name = self.amfResponse[u'name']
                                            KeyError: u'name'
                                            '
22:19:01 T:2768237632  NOTICE: _Cache_GetFromFlag : '_Cache_GetFromFlag() - gotFromCache = False'
You're right. Brightcove is geo-blocking so it's not going to work

Back to the drawing board.

To get bctest2.py working you need to install the requests module.

If you pip installed you can install the requests module with:

Code:
pip install requests

I'd like to see if the problem exists in Python 3.2 too, so I'd like you to install Python 3.2, then run bctest2.py in both versions, so


Code:
python bctest2.py

followed by

Code:
python3.2 bctest2.py


Considering you don't get the problem in a browser, it looks like the problem is specific to Python, in which case if we don't get around it in Python 3.2 then using a different scripting language, maybe Perl, should work. If that works out to be the case then I can write a script (in Python 3.2 or Perl or whatever) that communicates with c.brightcove.com and call that script from within the plugin.
Hi!

I installed the Irish TV 2.0.24 .zip in my raspberry with raspbmc, but when I make click I only can see " Error plugin failed...."



I have to try with another version?



I wait your answer.

Regards
See the first post for where to get the latest version.
Smart DNS from Overplay works for me with the version 2.1.1

I have an AerTv plus account and tested that that RTE2 HD and BBC1 worked.
Only minor issue I ran into was on my Apple TV was that I had a value set for AerTv under proxy per service in settings.

I changed that to None (I set the smart dns servers via the apple tv network options) and everything worked fine.
Good to know it's working for somebody. Thanks for the feedback.
(2014-04-13, 01:56)vorbis Wrote: [ -> ]Smart DNS from Overplay works for me with the version 2.1.1

I have an AerTv plus account and tested that that RTE2 HD and BBC1 worked.
Only minor issue I ran into was on my Apple TV was that I had a value set for AerTv under proxy per service in settings.

I changed that to None (I set the smart dns servers via the apple tv network options) and everything worked fine.

Where are you actually located? I assume Overplay DNS also works fine for you with AerTV.ie in a browser?
Just reverted back to 2.1.1 and everything seems to be working. Maybe Overplay got their act in order.

Thanks for your support last week Mossy. Really appreciate it and hope you had a couple of beers on me!
I'm in Boston.

Glad to hear you got it working
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34