Add-on:VideoExtras

From Official Kodi Wiki
Revision as of 09:26, 24 November 2014 by Rob webset (talk | contribs) (Add Known Issue Section)
Jump to navigation Jump to search

VideoExtras
http://mirrors.xbmc.org/addons/frodo/script.videoextras/icon.png

Author: robwebset

Type: Program
Repo:

License: GPL v2.0
Source: Source code
Summary: Add Video Extras to your Movies and TV shows.
Home icon grey.png   ▶ Add-ons ▶ VideoExtras
Attention talk.png Need help with this add-on? See here.

Provides a way to add Video Extras to your Video library. Look at the wiki for setup instructions.



Forum and Issue Report Pages

If you have any questions, found an issue to report or would just like to know a little more you can take part in the forum discussions at:

VideoExtras Forum



File Naming Convention

For your video extras files to be found they must follow a specific naming convention. VideoExtras currently supports extras videos from Movies, TV Shows and Music Videos. Here are the supported conventions:

Extras Folder

(Recommended Method)
If you put all of your movies in their own folder you can simply add an "Extras" sub folder and add all of your bonus content in that directory. (The name of this folder can be changed via the settings menu). The script will simply display the filename (without extension) in the UI. By default the list of videos will appear in alphabetical order.

Same Directory

If for some reason you don't want to create an "Extras" folder or you want to associate a bonus feature with a specific TV show episode there is an alternative naming convention. Simply use the same name as the file you want to associate the extra feature with and then append "-extras-". (This tag can be changed via the settings menu)

Remote Location

If you did not want your extras stored in the same directory structure as your Movies, TV Shows or Music Videos, then there is a settings option "Use Custom Extras Location" that can be set to point to a different location. The format of this location should have 3 directories at the top level: "Movies", "TvShows" and "MusicVideos". Under each of these should be directories (That match the name of the directories containing the Movies,TV Shows and Music Videos) containing the extras files.
e.g.

Movies/Die Hard
TvShows/Blake's 7
TvShows/Blake's 7/Series 1
TvShows/Blake's 7/Series 2

In this case, when clicking on the "TV Information" for the whole Blake's 7 Series you would see all files in "TvShows/Blake's 7" and the two sub-folders (if nested search is enabled), if viewing Episode Information for an episode in series 1 of Blake's 7 then you would only see the extras in "Blake's 7/Series 1"

With this method (based on where this root directory is), there may not be a need to add the "File Exclusions" section into advanced settings.

XBMC File Exclusions

Since these are video files sprinkled in among all of your other video files we need to tell the xbmc scanner to ignore these files. If we don't then the scanner will try and match them up with one of the online sites and you probably won't be happy with the results. To do this we just need to add some new regular expressions to the advanced settings. It is recommended to add these settings and reboot xbmc for them to take effect BEFORE any library scan takes place, so the scanner doesn't try to parse them.

<advancedsettings>
<video>
  <excludefromscan action="append">
    <regexp>-extras-</regexp>
    <regexp>/Extras/</regexp>
    <regexp>/extras/</regexp>
    <regexp>[\\/]Extras[\\/]</regexp>
    <regexp>[\\/]extras[\\/]</regexp>
  </excludefromscan>
  <excludetvshowsfromscan action="append">
    <regexp>-extras-</regexp>
    <regexp>/Extras/</regexp>
    <regexp>/extras/</regexp>
    <regexp>[\\/]Extras[\\/]</regexp>
    <regexp>[\\/]extras[\\/]</regexp>    
  </excludetvshowsfromscan>
</video>
</advancedsettings>

In this example the default name "Extras" has been used for the directory containing the extras, if you have changed this in the settings, then this name should also be changed to match.


Obs.:

1) If you executed a library scan before the regexps have been put in place and found extra material accidentally scanned to your library, you can either remove/rename the extra material and conduct a 'clean library' under XBMC video settings or, delete the video sources and rescan them again after the regexps are operating properly.

2) Beware that if any of your sources contains the word 'extras' in it, e.g. a source named 'Extrasy' or 'Extrascent', nothing new that you put in it will be scanned to the library. This is because that source matches the exclude rule RegExp:'Extras'. To solve this either rename your source or change the default name 'extras', which VideoExtras operates with, to anything different.

Images: Thumbnails, Icons and Fanart

Custom Artwork

In order to have thumbnails or custom fanart images displayed on your Extras listings (and player overlay) you can either reference them via an NFO file (see NFO section), or by having the image in the same directory as the extras file. Images referenced via NFO (locally or remotely) will have priority over any other. Thumbnail/icon images in the same directory as extras will be picked up in the following order:

  • <filename>.tbn/png/jpg
  • <filename>-poster.tbn/png/jpg
  • <filename>-thumb.tbn/png/jpg
  • poster.tbn/png/jpg (assigns same thumb to all those extras without one)
  • folder.tbn/png/jpg (assings same thumb to all those extras without one)

For fanart, the images are picked up in the following order :

  • <filename>-fanart.tbn/png/jpg
  • fanart.tbn/png/jpg

obs: should you experience image caching persistency of old <filename>-poster/thumb.ext after replacing them by new ones at folder level, this is due to the way XBMC handles the caching of certain images. If you need an immediate solution and don't want to wait for XBMC to cache the new images, there is a script available that solves this issue at database level here called Texture Cache Maintenance utility by MilhouseVH. There aren't cases reported of image caching persistency when using the naming convention <filename>.tbn/png/jpg

Default Artwork

  • If no custom fanart: fanart is automatically inherited from the parent video file, if there's any.
  • If no custom thumb (poster): default thumb is VideoExtras image icon and will only be displayed in the video overlay whilst playing the extra and not in the extras list.



NFO Files

The recommended method to give a name or sort order to your "Extras" is to add an NFO for each extra file. This follows the standard XBMC method of having the same name as the file with the extension being replaced with ".nfo" (Sitting in the same directory as the original file). This nfo can take any of the followoing formats (These are in line with the default XBMC behaviour), additional data in these files will be ignored as it is not relevant for the extras file. (Note: The only mandatory element is the "title")

Movie NFO Format

 <?xml version='1.0' encoding='UTF-8'?>
 <movie>
     <title>Who knows</title>
     <sorttitle>Who knows 1</sorttitle>
     <plot>Something happens</plot>
     <thumb>thumbnail.jpg</thumb>
     <fanart>background.jpg</fanart>
 </movie>

TV Show NFO Format

 <?xml version='1.0' encoding='UTF-8'?>
 <tvshow>
     <title>Who knows</title>
     <sorttitle>Who knows 1</sorttitle>
     <plot>Something happens</plot>
     <thumb>http://forum.xbmc.org/images/xbmc/xbmc-lettering.png</thumb>
     <fanart>http://forum.xbmc.org/images/xbmc/xbmc-lettering.png</fanart>
 </tvshow>

TV Episode NFO Format

 <?xml version='1.0' encoding='UTF-8'?>
 <episodedetails>
     <title>Who knows</title>
     <season>2</season>
     <episode>1</episode>
     <plot>Something happens</plot>
     <thumb>C:\MyThumbs\Who.Knows.tbn</thumb>
     <fanart>C:\MyFanart\myart.png</fanart>
 </episodedetails>

Legacy Naming Format

The following are the legacy naming formats, they are supported in the short term only to allow easy migration from DVDExtras to VideoExtras. (If an NFO file is specified, the settings in that file will be used)

By default the list of videos will appear in alphabetical order. If you would like to specify a custom order just start the filename with brackets containing the text to sort on. For example you could create files "[0]Deleted Scenes.mkv", "[1]Bloopers.mkv", and "[2]Behind The Scenes.mkv". In this case instead of sorting on the name it will sort on the numbers. The bracket portion of the filename will not be displayed in the UI.

For extras tagged on a per file basis (rather and all in a sub-directory) the name will be taken from anything after the extras tag. So append "-extras-Display name here" will result in the name "Display name here". To customize the order here you can use the same format as the extras folder. Example: "s01e01-extras-[99]Extended Pilot.mkv"

"videoextras.nfo" Files

If you do not have your video extras files stored in a standard location (as already described in the previous sections) then it is possible to create a file with the name "videoextras.nfo" in the same directory as your Movie or TV Show. This file must be of the following format:

 <?xml version='1.0' encoding='UTF-8'?>
 <videoextras>
     <file>..\..\Extras\Extras01.mkv</file>
     <directory>C:\XBMC\Sample-Data\Films\Extras</directory>
 </videoextras>

You can have multiple "file" or "directory" entries in the "videoextras.nfo" file (or none of one type). The "file" will result in just the given file being listed in the extras. The "directory" will result in the entire contents of the directory being listed.

Common extras content for Movie Sets

The videoextras.nfo's capabilities are useful to assign common extras content to movies within a set (collection), thus we would have only one physical copy of the 'Extras' folder somewhere whilst each videoextras.nfo is pointing at it.

Video Extras Browser

The VideoExtras browser allows you to view all the Movies/Tv Shows/Music Videos that have extras, and then watch those extras. You can load the extras browser in the following ways:

  1. Via the VideoExtras Settings screen "Database" -> "Browse Extras"
  2. From the Programs Menu -> VideoExtras
  3. Videos -> Addons -> VideoExtras



Settings

This section details all the settings options for VideoExtras

Extras

Extras Directory Name
The name of the sub directory that stores all the extras files
Search Nested Directories
If directories below the selected TV Show or Movie should be searched for more extras. This is useful if you select a given TV Show and have all your seasons for that show in separate directories under that show. This means that all extras will be displayed when viewed via the root TV Show, and only the seasons extras if selected from inside a given season.
Enable Extras with File Tag
Finds extras based on a "tag", listing anything containing that tag
Extras File Name Tag
If "Enable Extras with File Tag" was enabled, this gives the name to search for as the tag
Use Detailed List Screen
Displays a more advanced listing screen which displays resume points and a watched flag
Window to show after exiting detailed list
(If detailed list screen is enabled) - Which screen to go to after exiting the detailed list screen, options are: "Video Selection", "Information", "Home"
Menu to show after playing an extra
(If detailed list screen is disabled) - Which screen to go to after playing an extra, options are: "Extras", "Video Selection", "Information", "Home"

File System

Use Custom Extras Location
If extras are not stored with the Movies/TV Shows, this allows them to be stored in a different directory structure.
Path
The path that the extras are located in (Only if "Use Custom Extras Location" is enabled)
Custom Movies Sub-Folder
The name of the folder under the "Path" where Movie extras are stored (Note: a directory with the movie name will be located under this directory containing the extras for that movie)
Custom TV Shows Sub-Folder
The name of the folder under the "Path" where TV Shows extras are stored (Note: a directory with the TV Show name will be located under this directory containing the extras for that TV Show)

Database

Enable Database Support
Enables the use of the Extras stand-alone database, this enables the display and storing of data such as
  • Which extras have been viewed already
  • Resume playing an extra from the last stop point
Clean Database
Clears the extras database (resets all play states for the extras) - Note: This does not do anything to the default XBMC database.
Browse Extras
Loads the Video Extras Browser plugin.

Advanced

Force Extras Button Display
Will always display the "Extras" button on the Video Information screen (Normal behaviour is to only show the button if there are extra's detected for the given video.
Exclude Files Regular Expression
Regular expression for files that will be deemed "Not to be extras" even if there are present in the Extras directory.
Allow caching of extras on startup
Used to cache the video extras available so that it can be used for icon overlays in some skins
Enable Debug logging
Enables VideoExtras debug logging into the XBMC log file



Skin Information

Skins With Build In Support

The following skins (except Confluence, since it requires the hooks) have built-in support for Video Extras , so require no user skin modifications:

Skin Hook Support Detailed Screen Support Detailed Screen Skin Location Hooks Location
Confluence
No
Yes
VideoExtras
DialogVideoInfo.xml
Confluence Modified
Yes
Yes
VideoExtras
Immersive
Yes
Yes
Immersive
DialogVideoInfo.xml
Xperience1080++
Yes
Yes
Xperience1080++
Aeon MQ 5
Yes
Yes
VideoExtras
Aeon Nox 5
Yes
Yes
VideoExtras
custom_1119_ExtrasDialog.xml
Aeon Nox 4.1.9.x
Yes
Yes
Aeon Nox 4.1.9.x
Rapier
Yes
Yes
Rapier
Artic mk. ii
Yes
Yes
Artic
Metropolis (coming soon!)
xTV-SAF
Yes
Yes
VideoExtras


If your skin does not support the "Detailed List Screen", then you can either:

  1. Switch the "Detailed List Screen" off - reverting to the basic list dialog
  2. Convert the Window XML file in the addon and post a link to it in the forum.
  3. Use the default "Detailed List Screen" (May not fit in visually with the skin you are using)

Obs: due to a natural delay between the dates of release of possible latest features (and fixed issues too) and actual implementation of these updates in the supported skins, such as support for Music Videos, these skins may still require some manual changes as per item 10.2 in certain skins with built-in support.

Confluence Skin Support

A request has been made to the XBMC official repo to have VideoExtras included in the Confluence skin:

   https://github.com/xbmc/xbmc/pull/4827

(Note: this may, or may not be approved and merged in)

A more comprehensive set of skin changes for Gotham have also been completed that will supply both hooks and "icon overlays" for videos that have extras available. These changes will work with the Gotham version of Confluence only (Confluence version 2.2.20) and can be found inside the VideoExtras addon in the following directory:

   resources/skins/patches/Confluence-2.2.20

The XML files in this directory need to be copied into the skin.confluence/720p directory (Taking a backup of the original files before overwriting them).

Note: The icon overlay must have the option Allow caching of extras on startup enabled in the settings

Skin Modifications

A skin modification is required in order to see the extras button in the UI and enjoy all the features. This is a fairly simple process but will depend on your selected skin. The file that needs modified is DialogVideoInfo.xml. This is the code needed for the default confluence skin.

Add to the top of the file (after <window>):

<onload condition="System.HasAddon(script.videoextras)">
    XBMC.RunScript(script.videoextras,check,"$INFO[ListItem.FilenameAndPath]")</onload>

Add to near the foot of the file after the last control statement:

<control type="button" id="105">
    <description>Extras</description>
    <include>ButtonInfoDialogsCommonValues</include>
    <label>Extras</label>
    <onclick>XBMC.RunScript(script.videoextras,display,"$INFO[ListItem.FilenameAndPath]")</onclick>
    <visible>System.HasAddon(script.videoextras)
     + [Container.Content(movies) | Container.Content(episodes) | Container.Content(TVShows)
     | Container.Content(musicvideos)]
     + IsEmpty(Window(movieinformation).Property("HideVideoExtrasButton"))</visible>
</control>

You should be able to use something similar for other skins.

Location of XML

The DialogVideoInfo.xml's location listed by skin:

Confluence
  • Ubuntu Linux: /home/<username>/.xbmc/addons/skin.confluence/720p/
  • Ubuntu Linux (alternative):: /usr/share/xbmc/addons/skin.confluence/720p/
  • OS X: /Applications/XBMC.app/Contents/Resources/XBMC/addons/skin.confluence/720p
  • Windows 7/8.1: Program Files (x86)\XBMC\addons\skin.confluence\720p
Aeon Nox 4
  • Ubuntu Linux: /home/<username>/.xbmc/addons/skin.aeon.nox/1080i/
  • Windows 7/8.1: Program Files (x86)\XBMC\addons\skin.aeon.nox\1080i\

Obs.: Remember to create a backup of any file before altering it i.e. DialogVideoInfo.xml.old.

Icon Overlay on Video List Screen (Advanced Skinners Only)

If you are a skinner and wish to add support for some form of indication that a Movie/TV Show has extras, there is a way, it is not perfect but should get the overlays working. The first part is that you need to have "Allow caching of extras on startup" enabled in the VideoExtras settings. You then need the following in your skin:

<control type="image">
    <posx>950</posx>
    <posy>14</posy>
    <width>16</width>
    <height>16</height>
    <texture fallback="blank.png">$INFO[ListItem.DBID,special://profile/addon_data/script.videoextras/movies/,.png]</texture>
    <visible>System.HasAddon(script.videoextras) + Window.IsVisible(Videos) + Container.Content(Movies)</visible>
</control>

This example would possibly be added to the confluence skin at line 554 to add an icon to movies on the "biglist" screen. There are 3 different values that can be used:

movies Container.Content(Movies)
tvshows Container.Content(TVShows)
musicvideos Container.Content(MusicVideos)

Where the first column supplies the value used in the <texture> element, and the second for the <visible> element.

There is a default image that is used to represent the existance of Video Extras, but this can be overridden by the skin by putting a file called "videoextras_overlay.png" in the skins "media" directory.

IMPORTANT: This is for advanced skinners only, please only post on the forum if you own the skin you are trying to update - this is because it will require lots of changes to patch an existing skin, and this feature is only intended to support skins that will support VideoExtras "Out Of The Box".

Request To Skinners (Detailed List Screen)

VideoExtras uses a custom window to show the extras, I have written the Window XML files for Confluence. With the large array of different skins available it is not possible to write versions for every skin. If you would be willing to support Video Extras I would really like to include a skin specific Window XML file for your skin and would be greatful for any contribution.
The files are very small, so hopefully will not take long to convert for your skin.

Known Issues

Cast List In Summary Screen Not Populated

There is a known issue that when you return from the detailed list screen that shows the extras back to the summary screen, the Cast section is not populated, the following was posted for this, but there is no solution: http://forum.kodi.tv/showthread.php?tid=173502

Debugging

If reporting a problem, please also provide a debug log. To do this you need to enable BOTH:

  • XBMC logging from the main setting menu
  • VideoExtras debug from the VideoExtras addon settings menu

Please do not paste the log into the forum thread, just link to it.

Donations

If you have found VideoExtras useful and would like to help support future development and bug fixes, then please feel free to make a small donation. Any donations made will be put towards hardware to enable support and development on different platforms (I can currently only test Windows - however I would like to be able to verify changes on Android and Mac - and this is what donations would go towards)

Please use the link on the top of the VideoExtras Forum

Note: Donations will not make any difference to the level of support I will give people on the forum - this project is Open Source - and is completely free!!