Quantcast
Channel: Kodi Community Forum - All Forums
Viewing all 81759 articles
Browse latest View live

Not scraping clearart, logo etc.

0
0
Why is EMM not scraping clearart, logo, disc art etc. automatically
when I click re(scrape) movie?

Android BomTvSTB-M3 Box HELP!!!!

0
0
Hi, i was successful able to get kodi to my pc. That's when i found out i have his boomtv stb-m3 tv box laying around my house. When i try to download kodi from google play, it would not install after i waited 30 mins for the app to be downloaded. I also tried using the web browser to go directly to kodi's website to download but either the page doesn't loads up or after i downloaded i receive an error message. I honestly thing i cant get kodi because my android box is not rooted or jail broken. I need serious help. I don't know much about rooting or jail-breaking. Someone tell me how to fix this please or if i doing anything wrong.
P.S. I also tired to copy my kodi files from pc to usb drive and then connecting the usb drive to the android box but it doesn't work. So now i attempting to copy the files to a mirco sd card and trying to load it to the tv box.

Kodi Randomly Crashes

0
0
I'd like to find out why Kodi is mysteriously crashing on me.

Usually, it happens when no one is around. PC sitting there idle, as far as I can tell.

Sometimes it happens when we are using it, usually when either starting or stopping a video.

I've got a debug log, but it is really big:

Dropbox :: Kodi.log

Or, copy-n-paste this: https://www.dropbox.com/s/rvtxjuqlz4x2zi0/kodi.log?dl=0

Can anyone tell what is wrong by that log file?

There was a thread I came across once in the past where someone showed me how to enable detailed logging in Kodi without having the "on screen" data there all the time. Now I have lots of logging, but most of it seems to be gibberish.

How can I go back to standard logging?

As a request, it would be really nice if there were some sort of option to see serious errors as they occur in Kodi. I turn off all of the annoying messages, but now there are no messages at all. I don't care if "recording is complete" or "recording is started", but I'd like to be able to see the errors.

Can I skip to next episode while watching an episode?

0
0
If I am watching an episode in a TV series, is there a keyboard command that will allow me to skip to the next episode?

I use a Minix A2 Lite remote. At present I go back to the list of episodes, go down to the next episode, and press select twice. It would be great if 1 command did this.

Linux box help

0
0
Hey Guys I have a dream tech fta box that is running Linux I was wondering how I would go about putting kodi on it. If it's even possible. thanks guy

Help with "Attempt to use invalid handle -1"

0
0
Hi,

I'm getting the error "Attempt to use invalid handle -1" in my log file when using cetain parts of my plugin and am having a tough time working out why. I get the error when choosing a file contained within a folder or when invoking the search within the addon.

Snippet of the error when selecting a file:
Code:
14:07:38 T:12760   DEBUG: CInputManager::OnKey: return (0xf00d) pressed, action is Select
14:07:38 T:12760   DEBUG: XFILE::CPluginDirectory::RunScriptWithParams - calling plugin Hyper Launcher('plugin://plugin.hyper.launcher/','-1','?rom_path=C%3A%5Cemulation%5Croms%5CAtari+-+2600&launcher_script=C%3A%5CUsers%5Ctw%5CAppData%5CRoaming%5CKodi%5Cuserdata%5Cad​don_data%5Cplugin.hyper.launcher%5Clauncher_scripts%5Crocketlauncher.bat&filename=3-D+Tic-Tac-Toe+%28USA%29&game_name=3-D+Tic-Tac-Toe+%28USA%29&foldername=Atari+2600&mode=file')
14:07:38 T:760   DEBUG: Thread LanguageInvoker start, auto delete: false
14:07:38 T:760    INFO: initializing python engine.
14:07:38 T:760   DEBUG: CPythonInvoker(9, C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher\default.py): start processing
14:07:38 T:760   DEBUG: -->Python Interpreter Initialized<--
14:07:38 T:760   DEBUG: CPythonInvoker(9, C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher\default.py): the source file to load is "C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher\default.py"
14:07:38 T:760   DEBUG: CPythonInvoker(9, C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher\default.py): setting the Python path to C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher;C:\Program Files (x86)\Kodi\system\python\DLLs;C:\Program Files (x86)\Kodi\system\python\Lib;C:\Program Files (x86)\Kodi\python27.zip;C:\Program Files (x86)\Kodi\system\python\lib\plat-win;C:\Program Files (x86)\Kodi\system\python\lib\lib-tk;C:\Program Files (x86)\Kodi;C:\Program Files (x86)\Kodi\system\python;C:\Program Files (x86)\Kodi\system\python\lib\site-packages
14:07:38 T:760   DEBUG: CPythonInvoker(9, C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher\default.py): entering source directory C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher
14:07:38 T:760   DEBUG: CPythonInvoker(9, C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher\default.py): instantiating addon using automatically obtained id of "plugin.hyper.launcher" dependent on version 2.1.0 of the xbmc.python api
14:07:38 T:760 WARNING: Attempt to use invalid handle -1

When calling the plugin with the search option:
Code:
14:18:48 T:13420   DEBUG: ------ Window Deinit (DialogContextMenu.xml) ------
14:18:48 T:13420   DEBUG: XFILE::CPluginDirectory::RunScriptWithParams - calling plugin Hyper Launcher('plugin://plugin.hyper.launcher/','-1','?mode=search&addon_handle=3')
14:18:48 T:4808   DEBUG: Thread LanguageInvoker start, auto delete: false
14:18:48 T:4808    INFO: initializing python engine.
14:18:48 T:4808   DEBUG: CPythonInvoker(9, C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher\default.py): start processing
14:18:48 T:4808   DEBUG: -->Python Interpreter Initialized<--
14:18:48 T:4808   DEBUG: CPythonInvoker(9, C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher\default.py): the source file to load is "C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher\default.py"
14:18:48 T:4808   DEBUG: CPythonInvoker(9, C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher\default.py): setting the Python path to C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher;C:\Program Files (x86)\Kodi\system\python\DLLs;C:\Program Files (x86)\Kodi\system\python\Lib;C:\Program Files (x86)\Kodi\python27.zip;C:\Program Files (x86)\Kodi\system\python\lib\plat-win;C:\Program Files (x86)\Kodi\system\python\lib\lib-tk;C:\Program Files (x86)\Kodi;C:\Program Files (x86)\Kodi\system\python;C:\Program Files (x86)\Kodi\system\python\lib\site-packages
14:18:48 T:4808   DEBUG: CPythonInvoker(9, C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher\default.py): entering source directory C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher
14:18:48 T:4808   DEBUG: CPythonInvoker(9, C:\Users\tw\AppData\Roaming\Kodi\addons\plugin.hyper.launcher\default.py): instantiating addon using automatically obtained id of "plugin.hyper.launcher" dependent on version 2.1.0 of the xbmc.python api
14:18:48 T:4808 WARNING: Attempt to use invalid handle -1
14:18:48 T:4808   DEBUG: aaasearch

Plugin code:
Code:
# -*- coding: utf-8 -*-
import sys
import urllib
import urlparse
import xbmcgui
import xbmcplugin
import os
import sys
import subprocess
import time
import shutil
import stat
import xbmc
import xbmcaddon
import xml.etree.ElementTree as ET
import glob

scriptid = 'plugin.hyper.launcher'
addon = xbmcaddon.Addon(id='plugin.hyper.launcher')
addonPath = addon.getAddonInfo('path').decode("utf-8")
addonDataPath = xbmc.translatePath('special://profile/addon_data/%s' % scriptid).decode("utf-8")
addonIcon = addon.getAddonInfo('icon')
addonVersion = addon.getAddonInfo('version')
dialog = xbmcgui.Dialog()
language = addon.getLocalizedString

#addon paths
SYSTEMS_PATH = os.path.join(addonDataPath, 'systems')
SYSTEMS_CONFIG_PATH = os.path.join(addonDataPath, 'systems_config')
LAUNCHER_SCRIPTS = os.path.join(addonDataPath, 'launcher_scripts')

#create addon paths
if not os.path.exists(addonDataPath): os.makedirs(addonDataPath)
if not os.path.exists(SYSTEMS_PATH): os.makedirs(SYSTEMS_PATH)
if not os.path.exists(SYSTEMS_CONFIG_PATH): os.makedirs(SYSTEMS_CONFIG_PATH)
if not os.path.exists(LAUNCHER_SCRIPTS): os.makedirs(LAUNCHER_SCRIPTS)

base_url = sys.argv[0]
addon_handle = int(sys.argv[1])
args = urlparse.parse_qs(sys.argv[2][1:])
xbmcplugin.setContent(addon_handle, 'movies')
mode = args.get('mode', None)

txt_encode = 'utf-8'
try:
    txt_encode = sys.getfilesystemencoding()
except:
    pass

def build_url(query):
    return base_url + '?' + urllib.urlencode(query)

def error_notification(msg):
    dialog.notification('ERROR! Check log file...', msg, addonIcon, 10000)
    
def log(msg):
    msg = msg.encode(txt_encode)
    xbmc.log('%s: %s' % (scriptid, msg))

def file_check(file, required_file):
    if not file:
        file = required_file
    if not os.path.isfile(file):
        error_message = 'Required file does not exist "%s"' % file
        log(error_message)
        error_notification(error_message)
        sys.exit()
        
def get_game_art(game_name, path1, path2, path3, path4):
#    search_item = os.path.join(path, game_name + '.*') #game_name + '.*'
#    search = glob.glob('%s' % search_item)
#    for filename in search:
#        return filename
    fanart = ''
    if path4 == 'trailer':
        artwork = os.path.join(path1, game_name + '.flv')
        if os.path.isfile(artwork):
            fanart = artwork
        artwork = os.path.join(path1, game_name + '.avi')
        if os.path.isfile(artwork):
            fanart = artwork
        artwork = os.path.join(path1, game_name + '.mp4')
        if os.path.isfile(artwork):
            fanart = artwork
    else:
        artwork = os.path.join(path4, game_name + '.png')
        if os.path.isfile(artwork):
            fanart = artwork
        artwork = os.path.join(path4, game_name + '.jpg')
        if os.path.isfile(artwork):
            fanart = artwork
        artwork = os.path.join(path3, game_name + '.png')
        if os.path.isfile(artwork):
            fanart = artwork
        artwork = os.path.join(path3, game_name + '.jpg')
        if os.path.isfile(artwork):
            fanart = artwork
        artwork = os.path.join(path2, game_name + '.png')
        if os.path.isfile(artwork):
            fanart = artwork
        artwork = os.path.join(path2, game_name + '.jpg')
        if os.path.isfile(artwork):
            fanart = artwork
        artwork = os.path.join(path1, game_name + '.png')
        if os.path.isfile(artwork):
            fanart = artwork
        artwork = os.path.join(path1, game_name + '.jpg')
        if os.path.isfile(artwork):
            fanart = artwork
    return fanart

def emulator_launcher():
    selected_game = ''.join(args.get('filename'))
    rom_path = ''.join(args.get('rom_path'))
    if selected_game:
        search_item = os.path.join(rom_path, selected_game + '.*')
        search = glob.glob('%s' % search_item)
        if not search:
            file_check(''.join(search), search_item)
        for rom_full_path in search:
            rom_extension = os.path.splitext(rom_full_path)[1]
            rom_file =     os.path.basename(rom_full_path)
        if xbmc.getInfoLabel('ListItem.Writer') == 'kodi_retroplayer':
            print('kodi_retroplayer')
            XBMC.PlayMedia(rom_full_path)
        else:
            launcher_script_command = os.path.join(LAUNCHER_SCRIPTS, ''.join(args.get('launcher_script')))
            cmd = '"%s" "%s" "%s" "%s" "%s" "%s"' % (launcher_script_command, ''.join(args.get('foldername')), selected_game, rom_full_path, rom_file, rom_extension)
            print('attempted cmd is:')
            print(cmd)
            subprocess.Popen(cmd) #, shell=True, close_fds=True)
            
if addon_handle > 0:
    xbmcplugin.addSortMethod(handle=addon_handle, sortMethod=xbmcplugin.SORT_METHOD_LABEL)
    xbmcplugin.addSortMethod(handle=addon_handle, sortMethod=xbmcplugin.SORT_METHOD_VIDEO_YEAR)
    xbmcplugin.addSortMethod(handle=addon_handle, sortMethod=xbmcplugin.SORT_METHOD_GENRE)
        
if mode is None:
    for system in os.listdir(SYSTEMS_PATH):
        if system.endswith(".xml"):
            system_name = system[:-4]
            system_icon = get_game_art(system_name + '-icon', SYSTEMS_PATH, 'none', 'none', 'none')
            system_logo = get_game_art(system_name + '-logo', SYSTEMS_PATH, 'none', 'none', 'none')
            system_fanart = get_game_art(system_name + '-fanart', SYSTEMS_PATH, 'none', 'none', 'none')
            system_trailer = get_game_art(system_name + '-trailer', SYSTEMS_PATH, 'none', 'none', 'trailer')
            url = build_url({'mode': 'folder', 'foldername': system_name})
            li = xbmcgui.ListItem(system_name, iconImage=system_icon)
            li.setArt({ 'thumb': system_icon, 'fanart': system_fanart, 'clearlogo': system_logo })
            li.setInfo( 'video', { "Title": system_name, "Trailer": system_trailer } )
            li.setProperty('IsPlayable', 'false')
            contextMenuItems = []
            contextMenuItems.append(('Search', 'XBMC.RunPlugin(%s?mode=search&addon_handle=%s)' % (base_url, addon_handle) ,))
            if system_trailer:
                contextMenuItems.append(('Play trailer', 'PlayMedia(%s)'  % (system_trailer) ,))
            if system_icon:
                contextMenuItems.append(('View icon', 'ShowPicture(%s)' % (system_icon) ,))
            if system_fanart:
                contextMenuItems.append(('View fanart', 'ShowPicture(%s)' % (system_fanart) ,))
            if system_logo:
                contextMenuItems.append(('View logo', 'ShowPicture(%s)'  % (system_logo) ,))
            li.addContextMenuItems(contextMenuItems)
            xbmcplugin.addDirectoryItem(handle=addon_handle, url=url, listitem=li, isFolder=True)
    xbmcplugin.endOfDirectory(addon_handle)

elif mode[0] == 'folder':
    system_name = args['foldername'][0]
    system_game_list = args['foldername'][0] + '.xml'
    system_config = os.path.join(SYSTEMS_CONFIG_PATH, system_name + '-config.xml')
    file_check(system_config, system_config)
    tree = ET.parse(system_config)
    root = tree.getroot()
    rom_path = root.find('rom_path').text
    icon_path1 = root.find('icon_path1').text
    icon_path2 = root.find('icon_path2').text
    icon_path3 = root.find('icon_path3').text
    icon_path4 = root.find('icon_path4').text
    fanart_path1 = root.find('fanart_path1').text
    fanart_path2 = root.find('fanart_path2').text
    fanart_path3 = root.find('fanart_path3').text
    fanart_path4 = root.find('fanart_path4').text
    logo_path = root.find('logo_path').text
    trailer_path = root.find('trailer_path').text
    launcher_script = os.path.join(LAUNCHER_SCRIPTS, root.find('launcher_script').text)
    file_check(launcher_script, launcher_script)
    tree = ET.parse(os.path.join(SYSTEMS_PATH, system_game_list))
    root = tree.getroot()
    for game in root.findall('game'):
        game_description = game.find('description').text
        game_year = game.find('year').text
        game_manufacturer = game.find('manufacturer').text
        game_rating = game.find('rating').text
        game_genre = game.find('genre').text
        game_name = game.attrib['name']
        game_icon = get_game_art(game_name, icon_path1, icon_path2, icon_path3, icon_path4)
        game_fanart = get_game_art(game_name, fanart_path1, fanart_path2, fanart_path3, fanart_path4)
        game_logo = get_game_art(game_name, logo_path, 'none', 'none', 'none')
        game_trailer = get_game_art(game_name, trailer_path, 'none', 'none', 'trailer')
        url = build_url({'mode': 'file', 'foldername': system_name, 'game_name': game_name, 'filename': game_description, 'rom_path': rom_path, 'launcher_script': launcher_script})
        li = xbmcgui.ListItem(game_description, iconImage=game_icon)
        li.setProperty('IsPlayable', 'false')
        li.setArt({ 'thumb': game_icon, 'fanart': game_fanart, 'clearlogo': game_logo })
        li.setInfo( 'video', { "Title": game_description, "OriginalTitle": game_name, "Genre": game_genre, "Year": game_year, "Director": game_manufacturer, "Mpaa": game_rating, "Plot": system_name, "Studio": rom_path, "Writer": launcher_script, "Trailer": game_trailer } )
        contextMenuItems = []
        if game_trailer:
            contextMenuItems.append(('Play game trailer', 'PlayMedia(%s)'  % (game_trailer) ,))
        if game_icon:
            contextMenuItems.append(('View game icon', 'ShowPicture(%s)' % (game_icon) ,))
        if game_fanart:
            contextMenuItems.append(('View game fanart', 'ShowPicture(%s)' % (game_fanart) ,))
        if game_logo:
            contextMenuItems.append(('View game logo', 'ShowPicture(%s)'  % (game_logo) ,))
        li.addContextMenuItems(contextMenuItems)
        xbmcplugin.addDirectoryItem(handle=addon_handle, url=url, listitem=li, isFolder=False)
    xbmcplugin.endOfDirectory(addon_handle)

elif mode[0] == 'file':
    emulator_launcher()

elif mode[0] == 'search':
    print('aaasearch')

Anyone have any ideas as to why I'm getting the error? Thanks in advance.

ROUTINE CRASH OF 15.2 UNDER WIN10

0
0
I updated to Win10 at the same time I went to v15.2 ---- so not clear which is causing the problem.

Routinely Kodi freezes in the middle of a playback. The video freezes while the audio continues as if nothing has happened. The keyboard and mouse are l0ocked out (can't even get to Task Manager), so have to reboot the computer.

This never happened before with the same hardware.

Is V15.2 incompatible with Win10?

How do I watch us live cable tv channels that actually work?

0
0
Hello there. I am using Kodi on amazon firestick. I have navi-extreme add-on but most of the channels are not working. I am looking to be able to watch live cable TV channels such as bravo, HgTV, own, HBO, etc. Do I need a free VPNservice add-on?

Can you point me in the right direction please! Which are the beat add-ons for live us cable?

Custom icons not showing

0
0
I've created my own icon on GIMP, with transparent background identical to the original ones. It also have the same pixels 128x128.. However when I add the icon, it does not show up in Kodi.. I add it to /home/pi/.kodi/addons/skin.arctic.zephyr/extras/icons, and it should show up, but it doesn't.. It's a 128x128 .png file, just like the other ones. What am I doing wrong here?

animated backgrounds not working

0
0
Im on Jarvis 16.0 rc1 mq6 and have animated backgrounds playing fine on my Windows pc. I created a backup and wiped kodi and installed the backup and backgrounds loaded as they should. I installed same backup on my Nvidia shield and get a black screen. I have set paths correct and even went into skin settings and they are correct. Any idea how to load gif on android?
Error is this:
ERROR: Unable to load libgif.so, reason: (null)
ERROR: Gif::Gif(): Could not load giflib
Any ideas how to over come issue? thx

Linux Testing

0
0
I'd like to test Retroplayer, input, IARL, and whatever else I can on linux (not openelec). Is everything for Retroplayer contained in the garbear/xbmc repo, or do I need to build kodi-game/peripheral.joystick as well? Are there any other addons that I need to compile myself? Is there a repo I can install to get all the necessary addons?

Also, do you need someone to provide "official" generic linux x64 builds? I can spin up a Jenkins instance so the builds can be automated.

Problems bitstreaming ATMOS

0
0
All,

My setup is Kodi 15.2 running on Windows 7. Video is done through Core i3 (Sandy Bridge) on board graphics. I'm connected to a Denon x3200w via HDMI.

In Kodi, audio output is set to pass-through via WASAPI. TrueHD and DTS-HD MA are correctly passed through and detected by the AVR (info button on the AVR will show it's receiving TrueHD and DTS-MA when playing movies with those streams).

The first Atmos movie I tried was Pixels. I'm using the latest version of MakeMKV to rip Blu-Ray discs to MKV. MakeMKV correctly identified the presence of an Atmos extended TrueHD track and I selected both the core and extended tracks when ripping.

When I play back the movie with Kodi, the AVR only indicates it's receiving TrueHD instead of Atmos. When I play the physical disc via my Panasonic Blu-Ray player (also connected to the Denon), it correctly indicates Dolby Atmos.

What step did I miss?

Thanks!

Audio Engine only 7.1

0
0
Does kodi support 9.1 and up configurations for audio. 9.1.2, 11.2.4 and so on or does it handle these configurations differently? Just wandering since all that is available to choose from stops @ 7.1. Thanks.

Add-on error problem how to fix ?

0
0
Dear Users,

i have a problem with my kodi. I have a raspberry pi2 and had openelec 5.0.8 with helix 14.2.
Now i will start from the beginning.
I installed in helix 14.2 the super favorites program, after while i deleted this program because i didn't like it.
While deleting it my kodi got stuck so i closed my RPI2 manually and started it back up.
Super favorites was deleted and then came the problem. Whenever i am on a movie or icon of files and i press OPTION then i get and scrip error. Now at first the script problem was called " Script failed! : addon.py " so i could not find a solution and then i upgraded maybe thinking of that the problem would go away. I have now opelec 6 and isengard 15.2. and when i try the option button again i get this message " Add-on error check the log for more information " i made a log but i don't understand anything of it, maybe you guys can help me with this ?

http://xbmclogs.com/pnbfixtqk

no stable kodi

0
0
How I can to fix KODI because I open KODI and KODI get out on seconds?

Change main menu font size

0
0
Where do yo edit font size for main menu vertical. font.xml? what line?

VU +/Enigma 2 Help / Connection Lost!

0
0
Hi all,

Been having a real problem getting the VU +/Enigma 2 PVR client on my Windows 10 laptop to connect to my VU Plus box. I'm certain I have all the correct configuration in place but still getting connection lost error. Haven't been able to get this working for months and it's the same for older versions too. The last time I was able to get it working was an old XBMC version.

I've enabled debugging which first of all told me it didn't like a character in my password which I have now changed, so I get slightly further on before getting the following error:

ERROR: ADDON: Dll VU+ / Enigma2 Client - Client returned bad status (1) from Create and is not usable

Can anyone shed any light as to what that ERROR means and how I can go about fixing it?

Source: Windows 10 laptop running Kodi 15.2
Destination: VU + Solo2 running Blackhole 3.0.1 and Open Webif version 0.4.7

Thanks!

spawnsworth

Windows 10 + Cable Card

0
0
Am I correct in understanding that, with the effective demise of WMC in Windows 10, I cannot upgrade from W8.1 if I am using a cable card with my Ceton to watch TV through Kodi (by using ServerWMC)?

I saw that that a few places online posted ways to install WMC on Windows 10. Has anyone tested to see whether cable card channels still work OK when that is done?

Samsung Gear VR and Kodi

0
0
Well, been playing around with Gear VR using KODI.. Works alright, HOWEVER the split screen is to big.

Would be nice if there was a plug-in / add on that would double window (Like under system settings) but make it a smaller DPI ideal for Gear VR.
I would be nice to have it "blanket" and override everything being displayed. That way 3-D movies (Side by side) won't be to huge/ unusable.


I have searched the web without luck of finding much on this.
This should be relatively simple... I would try and help in anyway..

Cheers

OSMC - Buffering issue

0
0
Hi fellas,

First post after trawling this board and the net trying to find a solution to this problem.
The forum mentions a great number of buffering fixes, I have tried a great number of them.and have not been successful in "WiFi" Streaming with a Rasberry Pi2
Ethernet and local streams work fine, Although I would say the buffer bar still lags behind regardless of connection type/source.

I use my QNAP as a datasource and connect via NFS.
Test media is a home movie encoded in MKV with a high bitrate and a filesize over 10GB.
Lower bitrates steam well but cannot skip around the video file.

My first test was to set expectations that wifi streaming would work.

Test 1:
I installed Kodi on a windows 10 machine and used a crappy netgear wireless dongle to connect to my datasource, this works great.
I can get the video files to play immediately and can skip and rewind without any buffering messages. (100% working) beautiful.

I thought I could buy a Pi and replace the big hunk of metal with a nice compact streaming media box.
I purchased a Pi 2 with a WiPi dongle, this dongle reported connection speeds and strength 2x that of the existing crappy netgear when attached to my windows PC.

Test 2:
I installed OSMC from NOOBS onto the Pi. Install was flawless so I configured datasource.
First attempt was horrible, couldn't even get 2-3 seconds before it got choppy.

Test 3:
I modified the advancedsettings.xml file based on internet recommended Pi settings...
I set the buffer mode to 1
I set the cachemembuffersize to 0
I increased the buffer factor to 20
This improved the stream but the buffer seemed to stop after a point and could not stay ahead of the play point so it would hang for a minute every 2-3 minutes.

Test 4:
I validated the WiFi card was working correctly using iwconfig this showed the following.
Link quality of 68/70 Signal level -256db
It is my understanding this is very good.

Test 5:
I ran a speed test to an external source and it capped out my internet connection 18meg down 1.5meg up
This is not the speed to the datasource. Not sure how to test that properly but the router tells me the Pi is connected @ 50mpbs average.

Test 6:
I used a patch cable again (Gbit connection) and re-ran the stream, this worked but the buffer bar was not filling very fast.

Test 7:
I tried a different config for the advancedsettings.xml file
I set the buffer mode to 1
I tried to use as much RAM as possible hoping to max out the RAM or crash the system (Either would be a successful test as it showed the buffer was indeed filling up heaps)
set the cachemembuffersize to 500000000
I increased the buffer factor to 20
This further improved the stream, I was able to get immediate video playback but the buffer would kick in after 4-5 minutes. The buffer would last for a few seconds then play again, it would become choppy though.
This is very strange as this value should use all available RAM pretty fast but it doesn't.

Test 8:
SD card speed has been identified at 6-7mbps I used a windows tool to test this however I am unsure if this is the speed the Pi gets.
That being said I would expect this to be fine. (Instructions on how to properly test this would help to eliminate this as a possible bottleneck)
I would say that the speed of the card should't really matter unless it is horribly slow. It is my understanding Kodi buffer writes to RAM not the card.

Test 9:
I decided to try a different OS so I installed RetroPi and loaded Kodi into it.
Long story short, same problems as OSMC.

Conclusion,
It appears all the hardware is fine (possible slow SD card??) including the WiPi card.
The media source is fine and router is fine.
This has been proven by my ability to stream on my windows PC and even on my android phone.

It appears the buffer is not continuously buffering on the Pi, it seems to buffer a bit stop then start again, advanced settings do appear to alter the behavior of the kodi but cannot achieve the same streaming behavior as my other devices.

It seems to all point to a slow wireless connection but even the Pi tells me it is fine.
I am happy to provide a log if someone can instruct me how to export it from OSMC or RetroPi.

Does anyone have any advice?

Thanks in advance.

Exc
Viewing all 81759 articles
Browse latest View live




Latest Images