Kodi Community Forum
Release ESPN 3 - Printable Version

Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27)
+---- Forum: Video Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=154)
---- Thread: Release ESPN 3 (/showthread.php?tid=230418)

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 35 36 37 38 39 40


RE: ESPN 3 - siuside - 2016-05-14

I am getting the same error as Chessie when I go to that URL on a browser that has WatchESPN credentials saved


RE: ESPN 3 - awaters1 - 2016-05-14

When you try to access ESPN3 from the official WatchESPN application do you need to specify your provider and log in?

For my provider I can access ESPN3 without logging in, it works based on just my ISP, so for example when I go to that url it would say my provider name instead of invalid.


RE: ESPN 3 - siuside - 2016-05-14

Yes for the majority of us, a login must be provided to access ESPN3 since late August last year. That is when the addon "broke" for everyone except Comcast ISP and maybe one other provider.

What is the significance of that URL in trying to authenticate? I am trying to do some debugging and can see the workflow myself somewhat with the sp adobe redirect happening first of all before presented with the options in http://broadband.espn.go.com/espn3/auth/watchespn/startSession?v=1.5&affiliate=TWC


RE: ESPN 3 - awaters1 - 2016-05-14

I see now, that URL basically just tells me if a user needs to log in to access ESPN3 or not. I think I have figured out the ESPN3 auth, let me take a look.


RE: ESPN 3 - awaters1 - 2016-05-14

I made some updates that should fix access to ESPN3 if your provider requires you to log in.


RE: ESPN 3 - Chessie - 2016-05-14

Perfect !!!
ESPN3 live and recordings are working at least on Brighthouse with your latest changes. Thanks so much.

I still need to add the following two lines near the top of the addon.py file so I don't get the "SSL: CERTIFICATE_VERIFY_FAILED" error, but this is somehow related to the latest OpenElec beta. I'll pursue that that through those folks.

Thanks again,
Greg


RE: ESPN 3 - siuside - 2016-05-14

(2016-05-14, 19:05)awaters1 Wrote: I made some updates that should fix access to ESPN3 if your provider requires you to log in.

ESPN3 working great for TWC Smile This is a major development , awesome work to fix this. I really appreciate it.

Also tested ESPN1 and looks like FFMpeg issues. I haven't looked in detail but here it is.

It didn't error out completely, it looked like it launched the player but the video display didn't work and audio issues as well.

Edit: Yes does look like same error as observed by @OTinley in the previous page. At the same time wondering why the premium channel feeds would need a different ffmpeg? The call is actually not even going to an "https" site and it doesn't look like HLS issue to me as ESPN3 also has HLS feeds and they work fine. To me it could be that the initial ESPN3 specific code may need to be refined some more to accommodate these key decryptions. But you also indicated that it works in your compiled version of ffmpeg in Ubuntu so really baffling.

Code:
14:09:57 T:6764   DEBUG: ffmpeg[1A6C]: [hls,applehttp] HLS request for url 'http://ak-hls-brs-espn1.espn.go.com/hls/live/218616/p/espn1-p-2200/Seg_050216_102118554_531/segment_050216_102118554_265985.ts', offset 0, playlist 0
14:09:57 T:6764   DEBUG: ffmpeg[1A6C]: Using network protocols without global network initialization. Please use avformat_network_init(), this will become mandatory later.
14:09:57 T:5308   DEBUG: Previous line repeats 2 times.
14:09:57 T:5308   DEBUG: ------ Window Init (DialogBusy.xml) ------
14:09:57 T:5308   DEBUG: ------ Window Deinit (DialogProgress.xml) ------
14:09:57 T:6764 ERROR: ffmpeg[1A6C]: [tls] An illegal TLS extension was received.
14:09:57 T:6764 ERROR: ffmpeg[1A6C]: Unable to open key file https://broadband.espn.go.com/espn3/auth/espnnetworks/m3u8/v1/generateKey?channel=espn1&kid=/espn1-p_050216_102118554_30.key

Code:
14:09:57 T:6764   DEBUG: ffmpeg[1A6C]: Using network protocols without global network initialization. Please use avformat_network_init(), this will become mandatory later.
14:09:57 T:6764   DEBUG: Previous line repeats 1 times.
14:09:57 T:6764   DEBUG: ffmpeg[1A6C]: Format aac detected only with low score of 1, misdetection possible!
14:09:57 T:6764   DEBUG: ffmpeg[1A6C]: [aac] More than one AAC RDB per ADTS frame is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
14:09:57 T:6764    INFO: ffmpeg[1A6C]: [aac] Assuming an incorrectly encoded 7.1 channel layout instead of a spec-compliant 7.1(wide) layout, use -strict 1 to decode according to the specification instead.
14:09:57 T:6764   ERROR: ffmpeg[1A6C]: [aac] channel element 3.0 is not allocated
14:09:57 T:6764   ERROR: ffmpeg[1A6C]: [aac] skip_data_stream_element: Input buffer exhausted before END element found



RE: ESPN 3 - milli - 2016-05-15

(2016-05-09, 03:34)awaters1 Wrote: I tested with Comcast, but every provider should work in theory.

If you go to this site https://idm.east.cox.net/coxlogin/ui/watchespn (Cox internet login for watch ESPN) does your account work there? If your account works there I'm willing to devote some time to debug the issue by having the addon print extra debugging information.

With Comcast does it work with other channels such as ESPN, ESPN2. I just tried with the latest version, only ESPN3 works for me. Trying to play ESPN, throws an error. Looks like authentication is not going through and there is no auth token file. Any ideas?

Code:
16:56:57 T:123145306136576   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <class 'HTMLParser.HTMLParseError'>
                                            Error Contents: bad end tag: u"</scr' + 'ipt>", at line 109, column 208



RE: ESPN 3 - awaters1 - 2016-05-15

That is good to hear the ESPN3 part is working, yes it looks like that FFMPEG error showed up again "ERROR: ffmpeg[1A6C]: [tls] An illegal TLS extension was received.". I don't know if there is anything that I can do on my end to prevent that error.

Edit: The premium channels get their SSL cert from https://broadband.espn.go.com (details at http://www.ssltools.com/certificate_lookup/broadband.espn.go.com) while the ESPN3 feeds get the SSL cert from uplynk.com (details at http://www.ssltools.com/certificate_lookup/content-ause2.uplynk.com)

@milli: Yes Comcast should work with all channels, is there any more to that stack trace? possibly something that mentions a python script in the plugin.video.espn_3 directory.


RE: ESPN 3 - siuside - 2016-05-15

Ah, so it is espn.com cert vs uplynk.com cert issue. Looking at the certificate itself, I don't see any problems with the configuration of these two. So if the decryption/renegotiation is working for one, it should work for the other too. I think in your setup you are handing this off to ffmpeg, but I suspect this can be made to work in the addon code if we understand the missing step.

It is definitely not provider related and I should be able to confirm this with my friend who is also with Comcast but his platform is Windows/Android.

Just out of curiosity, can you give more details about your ffmpeg/openssl versions and setup and how you are able to link ffmpeg outside of Kodi? My understanding was that this cannot be changed outside of Kodi.


RE: ESPN 3 - awaters1 - 2016-05-15

Yes the certs are fine but SSL is very complex and there may be a certificate in the chain to the root that doesn't work with gnutls/openssl at that version. Android doesn't have this issue (I tested on 5.0.2).

Here are my versions
ffmpeg: 2.8.7
openssl: 1.0.2h
gnutls: 3.3.22
Kodi can be compiled with the flag '--with-ffmpeg=shared' which means it links with ffmpeg as a shared library instead of the built in version.

If you look at https://github.com/xbmc/xbmc/commits/master/tools/depends/target/gnutls you can check the history and see that on 11/24/2014 the version was 3.3.10 (Jarvis), while 10/27/2015 was 3.3.15 (Krypton - https://github.com/xbmc/xbmc/tree/17.0a1-Krypton/tools/depends/target/gnutls). I wasn't able to get Krypton running on Windows 10 to try it out but there is hope the next version can fix it.


RE: ESPN 3 - siuside - 2016-05-15

(2016-05-15, 04:11)awaters1 Wrote: Yes the certs are fine but SSL is very complex and there may be a certificate in the chain to the root that doesn't work with gnutls/openssl at that version. Android doesn't have this issue (I tested on 5.0.2).

Here are my versions
ffmpeg: 2.8.7
openssl: 1.0.2h
gnutls: 3.3.22
Kodi can be compiled with the flag '--with-ffmpeg=shared' which means it links with ffmpeg as a shared library instead of the built in version.

If you look at https://github.com/xbmc/xbmc/commits/master/tools/depends/target/gnutls you can check the history and see that on 11/24/2014 the version was 3.3.10 (Jarvis), while 10/27/2015 was 3.3.15 (Krypton - https://github.com/xbmc/xbmc/tree/17.0a1-Krypton/tools/depends/target/gnutls). I wasn't able to get Krypton running on Windows 10 to try it out but there is hope the next version can fix it.

Ok yes I looked at it a bit more and broadband.espn's certificate chain is actually 4 certificates deep with one intermediate and two roots. You can get detailed extensions being passed during the handshake on your ubuntu box

Code:
gnutls-cli broadband.espn.go.com -V
Resolving 'broadband.espn.go.com'...
Connecting to '68.71.212.187:443'...
- Certificate type: X.509
- Got a certificate list of 4 certificates.
- Certificate[0] info:
............skipped.....

uplynk on the other hand is a standard 3 certificate chain. Don't know which one marked critical is choking as unsupported/illegal extension in the Kodi GnuTLS 3.3.10 and no idea if 3.3.15 has the fix to handle the Entrust CA chain in broadband.espn Huh Really p*sses me off when server certs are a pain for clients ConfusedConfused

I think we are ever so close to calling this WatchESPN addon really Wink


RE: ESPN 3 - locomot1f - 2016-05-15

Big Grin


ESPN 3 - lionsnob - 2016-05-15

(2016-05-06, 02:00)awaters1 Wrote:
(2016-05-05, 01:03)samjee Wrote: Thanks for the great work so far on this addon. Just gave it a try using my DirecTV details and it works fine but doesn't give you a choice to chose stream quality and only plays in SD.

Would be nice if this feature could be added similar to the NBC addon so you can chose the quality or it always plays the best available.

It is supposed to be best available, to be honest I haven't looked too much into the quality. The bitrate is low (2200kbps is what I am seeing) so there is some macroblocking, I'm not sure if they offer high bitrate streams.

I also made some updates with authentication in commit 6a28744 so if anyone had troubles before please try again. The plan is to have one pathway for every provider, but that plan may not pan out given the troubles thus far.


Hi awaters1 -

On my Apple TV 4 the ESPN app has nice 1080p 60fps streams for the cable channels. Is there any digging I can do to see if you can get the same through this addon?


RE: ESPN 3 - milli - 2016-05-15

(2016-05-15, 03:46)awaters1 Wrote: That is good to hear the ESPN3 part is working, yes it looks like that FFMPEG error showed up again "ERROR: ffmpeg[1A6C]: [tls] An illegal TLS extension was received.". I don't know if there is anything that I can do on my end to prevent that error.

Edit: The premium channels get their SSL cert from https://broadband.espn.go.com (details at http://www.ssltools.com/certificate_lookup/broadband.espn.go.com) while the ESPN3 feeds get the SSL cert from uplynk.com (details at http://www.ssltools.com/certificate_lookup/content-ause2.uplynk.com)

@milli: Yes Comcast should work with all channels, is there any more to that stack trace? possibly something that mentions a python script in the plugin.video.espn_3 directory.

Here you go and hope it helps. Thanks!

Code:
16:57:01 T:123145305063424   ERROR: /Users/u/Library/Application Support/Kodi/addons/script.module.beautifulsoup4/lib/bs4/builder/_htmlparser.py:163: RuntimeWarning: Python's built-in HTMLParser cannot parse the given document. This is not a bug in Beautiful Soup. The best solution is to install an external parser (lxml or html5lib), and use Beautiful Soup with that parser. See http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser for help.
                                              "Python's built-in HTMLParser cannot parse the given document. This is not a bug in Beautiful Soup. The best solution is to install an external parser (lxml or html5lib), and use Beautiful Soup with that parser. See http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser for help."))                
16:57:01 T:123145305063424   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <class 'HTMLParser.HTMLParseError'>
                                            Error Contents: bad end tag: u"</scr' + 'ipt>", at line 109, column 208
                                            Traceback (most recent call last):
                                              File "/Users/u/Library/Application Support/Kodi/addons/plugin.video.espn_3/addon.py", line 431, in <module>
                                                PLAY(args)
                                              File "/Users/u/Library/Application Support/Kodi/addons/plugin.video.espn_3/addon.py", line 380, in PLAY
                                                PLAY_PROTECTED_CONTENT(args)
                                              File "/Users/u/Library/Application Support/Kodi/addons/plugin.video.espn_3/addon.py", line 250, in PLAY_PROTECTED_CONTENT                                        
                                                media_token = adobe.GET_MEDIA_TOKEN()
                                              File "/Users/u/Library/Application Support/Kodi/addons/plugin.video.espn_3/adobe.py", line 302, in GET_MEDIA_TOKEN
                                                success = self.GET_IDP_DATA()
                                              File "/Users/u/Library/Application Support/Kodi/addons/plugin.video.espn_3/adobe.py", line 251, in GET_IDP_DATA
                                                (content, url) = self.handle_url(opener, content_action, body)
                                              File "/Users/u/Library/Application Support/Kodi/addons/plugin.video.espn_3/adobe.py", line 142, in handle_url
                                                redirect = self.check_redirect(content)
                                              File "/Users/u/Library/Application Support/Kodi/addons/plugin.video.espn_3/adobe.py", line 121, in check_redirect
                                                content_soup = BeautifulSoup(content, 'html.parser')
                                              File "/Users/u/Library/Application Support/Kodi/addons/script.module.beautifulsoup4/lib/bs4/__init__.py", line 196, in __init__
                                                self._feed()
                                              File "/Users/u/Library/Application Support/Kodi/addons/script.module.beautifulsoup4/lib/bs4/__init__.py", line 210, in _feed
                                                self.builder.feed(self.markup)
                                              File "/Users/u/Library/Application Support/Kodi/addons/script.module.beautifulsoup4/lib/bs4/builder/_htmlparser.py", line 164, in feed
                                                raise e
                                            HTMLParseError: bad end tag: u"</scr' + 'ipt>", at line 109, column 208
                                            -->End of Python script error report<--
16:57:01 T:140735155544064   ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.espn_3/?EVENT_ID=2800744&SIMULCAST_AIRING_ID=18949544&DESKTOP_STREAM_SOURCE=HDS&MODE=PLAY&NETWORK_ID=n502]
16:57:31 T:123145303990272 WARNING: CreateLoader - unsupported protocol(plugin) in plugin://plugin.video.espn_3/?EVENT_ID=2811157&SIMULCAST_AIRING_ID=119099814&DESKTOP_STREAM_SOURCE=HLS&MODE=PLAY&NETWORK_ID=n360



This forum uses Lukasz Tkacz MyBB addons.