• 1
  • 25
  • 26
  • 27(current)
  • 28
  • 29
  • 62
[RELEASE] Twitch.tv
(2016-04-27, 07:18)zoydberg Wrote: no, but the repository doesn't seem to be updating, thats why it's not auto-updating. but you can download the latest version from github, https://github.com/StateOfTheArt89/Twitc...master.zip

Saw it already and I am currently running TwitchTV Version 1.4.0 on latest Kodi 17 "Krypton" Nighlybuild

Whatever I do, I'll receive the Notifiaction "HTTP Error" when selecting Channels or Search etc.

As sais I can provide a debug log, but where to send it?
Reply
HTTP SSL error fixed on latest Git

Thanks
Reply
I am having a problem with Full HD Quality a while now. After a while watching twitch in 1080p the video and the audio arent synced anymore.
This problem doesnt cause if i play the stream in 720p. Anyone can help me to get a solution?
Reply
Why isn't VOD playback buffered for this addon?
Reply
Hi, im having issues installing the plugin from the git source.
My kodi logs says that the dependencies are not met because of plugin.python.xbmc 2.2.0 is required..

I've never had this issue before, does anyone have any idea on how to solve this? How can i install python-xbmc?

Thanks Smile
Reply
Hi, I have updated to latest install. but recently watching twitch through kodi has gone down hill. jerky video/pauses/stutter you name it. I have checked by using twitchtv on chrome and that is fine. Anyone else experiencing this and if so have you found a way to correct this? cheers
Reply
Anyone got source qualtiy to work with live streams and vod?

I just getting 720P
Reply
1080p works with me!
Reply
Some of the streams I watch have their past broadcasts behind a subscriber paywall, that requires you're oauth token to be sent to the api. The following changes will enable to you play these streams, if you have your user's oauth token. I'm not a python coder, so this might not be to optimal way to solve it, but it works:

.kodi/userdata/addon_data/plugin.video.twitch/settings.xml add
Code:
<setting id="oauth_token" value="YOUR_OAUTH_TOKEN_HERE" />

.kodi/addons/plugin.video.twitch/resources/lib/utils.py add
Code:
def getOauthToken():
    oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    if not oauthtoken:
        PLUGIN.open_settings()
        oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    return oauthtoken
between return username (line 23) and def getVideoQuality(quality=''): (linje 26?)
Result
Code:
def getUserName():
    username = PLUGIN.get_setting('username', unicode).lower()
    if not username:
        PLUGIN.open_settings()
        username = PLUGIN.get_setting('username', unicode).lower()
    return username
    
def getOauthToken():
    oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    if not oauthtoken:
        PLUGIN.open_settings()
        oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    return oauthtoken    


def getVideoQuality(quality=''):

In .kodi/addons/plugin.video.twitch/resources/lib/routes.py, add
Code:
oauthtoken = utils.getOauthToken()
after videoQuality = utils.getVideoQuality(quality) on line 198 (in the playVideo method)

Change this line, it's a few lines further down
Code:
# from
simplePlaylist = TWITCHTV.getVideoPlaylist(_id, videoQuality)

# to
simplePlaylist = TWITCHTV.getVideoPlaylist(_id, videoQuality, oauthtoken)

In .kodi/addons/plugin.video.twitch/resources/lib/twitch/api.py update getVideoPlaylist method
Code:
# from
def getVideoPlaylist(self, _id, maxQuality):
        playlist = [(), ()]
        if _id.startswith(('a', 'c')):
            playlist = self.__getVideoPlaylistChunkedArchived(_id, maxQuality)
        elif _id.startswith('v'):
            playlist = self.__getVideoPlaylistVod(_id, maxQuality)
        return playlist

# to
def getVideoPlaylist(self, _id, maxQuality, oauthtoken):
        playlist = [(), ()]
        if _id.startswith(('a', 'c')):
            playlist = self.__getVideoPlaylistChunkedArchived(_id, maxQuality, oauthtoken)
        elif _id.startswith('v'):
            playlist = self.__getVideoPlaylistVod(_id, maxQuality, oauthtoken)
        return playlist

and the __getVideoPlaylistVod method
Code:
# from
def __getVideoPlaylistVod(self, _id, maxQuality):
        playlist = [('', ())]
        vodid = _id[1:]
        url = Urls.VOD_TOKEN.format(vodid)
        access_token = self.scraper.getJson(url)

# to
def __getVideoPlaylistVod(self, _id, maxQuality, oauthtoken):
        playlist = [('', ())]
        vodid = _id[1:]
        url = Urls.VOD_TOKEN.format(vodid) + '?oauth_token=' + oauthtoken
        access_token = self.scraper.getJson(url)

and the __getVideoPlaylistChunkedArchived method
Code:
# from
def __getVideoPlaylistChunkedArchived(self, _id, maxQuality):
        vidChunks = self.__getChunkedVideo(_id)

# to
def __getVideoPlaylistChunkedArchived(self, _id, maxQuality, oauthtoken):
        vidChunks = self.__getChunkedVideo(_id, oauthtoken)

and the __getChunkedVideo method
Code:
# from
def __getChunkedVideo(self, _id):
        # twitch site queries chunked playlists also with token
        # not necessary yet but might change (similar to vod playlists)
        url = Urls.VIDEO_PLAYLIST.format(_id)

# to
def __getChunkedVideo(self, _id, oauthtoken):
        # twitch site queries chunked playlists also with token
        # not necessary yet but might change (similar to vod playlists)
        url = Urls.VIDEO_PLAYLIST.format(_id) + '?oauth_token=' + oauthtoken

Here is one online service to get your twitch oauth token: https://twitchapps.com/tmi/
Reply
(2016-05-10, 20:50)Smultie Wrote: 1080p works with me!
Do you get 1080p from Lirik?

What OS do you use and what Kodi and Twitch version?
Reply
(2016-05-17, 18:14)eikum Wrote:
(2016-05-10, 20:50)Smultie Wrote: 1080p works with me!
Do you get 1080p from Lirik?

What OS do you use and what Kodi and Twitch version?

Lirik streams at 720p.
Reply
(2016-05-17, 14:12)Crowly Wrote: Some of the streams I watch have their past broadcasts behind a subscriber paywall, that requires you're oauth token to be sent to the api. The following changes will enable to you play these streams, if you have your user's oauth token. I'm not a python coder, so this might not be to optimal way to solve it, but it works:

.kodi/userdata/addon_data/plugin.video.twitch/settings.xml add
Code:
<setting id="oauth_token" value="YOUR_OAUTH_TOKEN_HERE" />

.kodi/addons/plugin.video.twitch/resources/lib/utils.py add
Code:
def getOauthToken():
    oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    if not oauthtoken:
        PLUGIN.open_settings()
        oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    return oauthtoken
between return username (line 23) and def getVideoQuality(quality=''): (linje 26?)
Result
Code:
def getUserName():
    username = PLUGIN.get_setting('username', unicode).lower()
    if not username:
        PLUGIN.open_settings()
        username = PLUGIN.get_setting('username', unicode).lower()
    return username
    
def getOauthToken():
    oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    if not oauthtoken:
        PLUGIN.open_settings()
        oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    return oauthtoken    


def getVideoQuality(quality=''):

In .kodi/addons/plugin.video.twitch/resources/lib/routes.py, add
Code:
oauthtoken = utils.getOauthToken()
after videoQuality = utils.getVideoQuality(quality) on line 198 (in the playVideo method)

Change this line, it's a few lines further down
Code:
# from
simplePlaylist = TWITCHTV.getVideoPlaylist(_id, videoQuality)

# to
simplePlaylist = TWITCHTV.getVideoPlaylist(_id, videoQuality, oauthtoken)

In .kodi/addons/plugin.video.twitch/resources/lib/twitch/api.py update getVideoPlaylist method
Code:
# from
def getVideoPlaylist(self, _id, maxQuality):
        playlist = [(), ()]
        if _id.startswith(('a', 'c')):
            playlist = self.__getVideoPlaylistChunkedArchived(_id, maxQuality)
        elif _id.startswith('v'):
            playlist = self.__getVideoPlaylistVod(_id, maxQuality)
        return playlist

# to
def getVideoPlaylist(self, _id, maxQuality, oauthtoken):
        playlist = [(), ()]
        if _id.startswith(('a', 'c')):
            playlist = self.__getVideoPlaylistChunkedArchived(_id, maxQuality, oauthtoken)
        elif _id.startswith('v'):
            playlist = self.__getVideoPlaylistVod(_id, maxQuality, oauthtoken)
        return playlist

and the __getVideoPlaylistVod method
Code:
# from
def __getVideoPlaylistVod(self, _id, maxQuality):
        playlist = [('', ())]
        vodid = _id[1:]
        url = Urls.VOD_TOKEN.format(vodid)
        access_token = self.scraper.getJson(url)

# to
def __getVideoPlaylistVod(self, _id, maxQuality, oauthtoken):
        playlist = [('', ())]
        vodid = _id[1:]
        url = Urls.VOD_TOKEN.format(vodid) + '?oauth_token=' + oauthtoken
        access_token = self.scraper.getJson(url)

and the __getVideoPlaylistChunkedArchived method
Code:
# from
def __getVideoPlaylistChunkedArchived(self, _id, maxQuality):
        vidChunks = self.__getChunkedVideo(_id)

# to
def __getVideoPlaylistChunkedArchived(self, _id, maxQuality, oauthtoken):
        vidChunks = self.__getChunkedVideo(_id, oauthtoken)

and the __getChunkedVideo method
Code:
# from
def __getChunkedVideo(self, _id):
        # twitch site queries chunked playlists also with token
        # not necessary yet but might change (similar to vod playlists)
        url = Urls.VIDEO_PLAYLIST.format(_id)

# to
def __getChunkedVideo(self, _id, oauthtoken):
        # twitch site queries chunked playlists also with token
        # not necessary yet but might change (similar to vod playlists)
        url = Urls.VIDEO_PLAYLIST.format(_id) + '?oauth_token=' + oauthtoken

Here is one online service to get your twitch oauth token: https://twitchapps.com/tmi/

So I tried modding the plugin using your instructions, and it broke the plugin entirely... Any simpler way of doing this or is this possibly coming in a future update?
Reply
Crowly,your changes have been added to the Git.Thanks

Version will be bumped and Official Add-on repository will be updated at the weekend.
Reply
Pulled the latest files from github and when trying to view past broadcasts all I get is a crash. When viewing live content everything works fine. Ill try to get a log of it but i'm at work currently and was too sleepy yesterday to check for a log .Wink

[Quick Edit:] BTW the past broadcast is not behind a paywall but freely available. (Stream of Gronkh, a german let's player)

[Another Edit:]
Crowlys code fix posted here did the trick and everything works now. (At least on my test installation on windows, still have to check on the rpi3 but it should work there as well)
Thanks again Crowly! ^^
Reply
I'm nto sure why but twitch isn't showing for me in my kodi repo on spmc? anyone know why or how i can install it? if i download the zip from the github, it says the dependencies have not been met
Reply
  • 1
  • 25
  • 26
  • 27(current)
  • 28
  • 29
  • 62

Logout Mark Read Team Forum Stats Members Help
[RELEASE] Twitch.tv8