Add-on:VideoExtras

Introduction
VideoExtras is an addon to allow you to store, list and play the "extras" for a given Movie or TV Series. (i.e. The extras that often come on DVD's or Blu-Rays)


 * Note: This Addon will allow you to view the Extras Videos you already own - it will NOT download extras for you from the internet.

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

Quickstart Guide
This Quickstart guide is aimed at first time users of VideoExtras, who also have some freedom to re-arrange their video content to fit best with VideoExtras.

Install VideoExtras
VideoExtras is in the official repo, so you should be able to install it like any other addon.

Arranging Your Video Files
Although VideoExtras will support most structures (with various configuration changes), the easiest and best structure is as follows:


 * ..// .ext
 * ..//Extras/ .ext
 * ..//Extras/ .ext
 * where .ext is any video extension compatible with Kodi
 * where .ext is any video extension compatible with Kodi

More details of extras setup can be found in the File Naming Convention Section

Stopping The Extras Being Scanned Into Your Library
Now that you have copied your Extras files into the correct directories, you do not want them to be accidently picked up/scanned as a Movie or TV Series in their own right. To stop this you need to add "excludes" into the advancedsettings.xml file. This can be done for you by click on the "Update advancedsettings.xml File" operation on the first tab of the VideoExtras settings, or you could always do it yourself manually.

Scanning Media Into Your Library
Once you have updated the advancedsettings.xml file it should now be safe to perform any scans you wish to pull media into your library. At this point, the scanner should skip over any Extras files.

Viewing Your Extras
In order to view the Extras you have now stored with your Movies or TV Shows you will need one of the following 2 things:
 * To update the default Confluence Skin, this can either be done manually or by navigating to the Advanced tab of the VideoExtras settings and clicking on "Update Confluence Skin".
 * Use one of the non default skins that has built in support for VideoExtras

You Are Now Up And Running
That's it! You should now be able to navigate to your extras by either going to the Video Information Dialog for the given video, or by going via: Videos -> Addons -> VideoExtras

There are plenty more things you can do to improve your user experience such as adding icons/fanart/thumbnails or giving detailed titles or plots. However, this is a quickstart guide, and you should take a look at the rest of the wiki for those features.

Using VideoExtras
Now that you have configured VideoExtras, you can start using it. If you are using Confluence with the supplied Confluence update then any Movies or TV Shows that have extras will be highlighted with an overlay image:

Then if you navigate into the Video Information Screen you should see an Extras button available:

Selecting this button will then result in seeing the list of extras available:

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

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 (Tagging)
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 which uses tagging. Simply use the same name as the file you want to associate the extra feature with and then append "-extras-" followed immediately (no spaces) by the name you want to displayed on the GUI for the extra, e.g.  -extras- .mkv. This default tag "-extras-" can be changed via the settings menu and MUST be turned on in order for the tagging to work.

This method will work whether your movies are in their own self-contained folder or all together in one folder only.

Example: So if you wanted to associate an Extended Pilot feature with the first episode of a tv show named "s1e1.mkv", you would create a file name "s1e1-extras-Extended Pilot.mkv". When the script displays this file in the UI it will strip out all the extra stuff and just show "Extended Pilot". To customize the displayed order here you can use NFO files or manual mode, just as in folder mode. Example of manual mode: "s1e1-extras-[#]Extended Pilot.mkv" where # is a number from 1 to 99.

Warning: if you don't append the after the tag -extras-, the file name will be displayed on the GUI instead, including the tag -extras-.

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"

Note: When using a custom path VideoExtras will first check for a directory name that matches the directory containing the actual TV Show or Movie. (As described above) If that is not found, then it will use the text title of the Movie or TV Show as the directory name to look for with the following replacements:
 * : (Colon) removed from the name
 * / or \\ (Forward or back slash) replaced with -
 * . (dot) removed from the end of the name
 * Non ascii characters are removed

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.

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.

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:


 * .tbn/png/jpg
 * -poster.tbn/png/jpg
 * -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 :
 * -fanart.tbn/png/jpg
 * fanart.tbn/png/jpg

obs: should you experience image caching persistency of old -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 .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")

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:

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.
 * Note: It is only logical to use this approach if you have each movie in it's own directory, as adding a videoextras.nfo file to a directory containing multiple movies will result in every movie in that directory picking up the extras defined in the videoextras.nfo file

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.

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:

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 Unfortunately this did not get approved to go into the official repository.

Instead of this, there is an option that will update the Confluence skin for you in the settings. Just navigate to the "Update Confluence Skin" operation in the VideoExtras settings.

For this update to work, the directory containing the Confluence skin must have write permissions set. To get around this:
 * Note:
 *  on Windows Vista, 7 and 8.x: right click Kodi and select "Run As administrator" and (if it prompts), click "Yes". Then navigate to the "Update Confluence Skin" operation in the VideoExtras settings. (If you select this option without doing a "run as administrator", it will say that it has updated the file successfully, but actually it won't.) - This is believed to only be an issue if you have "User Access Control" enabled

As Confluence is the default skin, its directory is not user-modifiable on non-Windows systems. To get around this, it is recommended to copy the Confluence skin's directory from it's existing location to the standard location for user installed add-ons:


 * On Ubuntu Linux: the operation would be to copy the directory "/usr/share/kodi/addons/skin.confluence/" to "/home/ /.kodi/addons/".

Upon restarting Kodi, you should now be able to use the "Update Confluence Skin" feature.

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. The following code is needed for the default confluence skin, which would result in the new, modified DialogVideoInfo.xml (as per June 2015) with support for VideoExtras:

Add to the top of the file (after ):

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

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/ /.kodi/addons/skin.confluence/720p/
 * Ubuntu Linux (alternative):: /usr/share/kodi/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/ /.kodi/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:

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:

Where the first column supplies the value used in the element, and the second for the 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, or by updating the VideoExtras settings.

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.

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

Back Navigation For YouTube Incorrect
The Videos -> Addon -> VideoExtras Youtube route seems to work how you would expect, however the Video Information -> Extras route gives the option, but when you exit the YouTube list of files it will return to the "Home" screen and not back to the Extras screen.

Debugging
If reporting a problem, please also provide a debug log. To do this you need to enable BOTH: Please do not paste the log into the forum thread, just link to it.
 * XBMC logging from the main setting menu
 * VideoExtras debug from the VideoExtras addon settings menu

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.

Please use the link on the top of the VideoExtras Forum