Add-on:Simple Downloader for xbmc plugins: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>TobiasTheCommie
No edit summary
>TobiasTheCommie
Line 63: Line 63:
== downloadVideo(self, params = {}) ==  
== downloadVideo(self, params = {}) ==  
Takes dictionary list with video name and url.
Takes dictionary list with video name and url.
For http and normal RTMP streams you need to specify a video_url, a videoid and a Title.
- video_url: "http://server.com/video.mp4" # Url to download
- videoid: "0" # Video id. Must be unique. Preferably just use the videoid provided from your site(if applicable).
For live RMTP streams you also need to specify live and max_size:
- live: True # Tell the downloader it is getting a live stream
- max_size: 10000000 # The maximum size(in bytes) of the download stream. Defaults to "10000000" if nothing is specified.


Returns None
Returns None


   params = {}
A simple http download
  params["video_url"] = "http://server.com/video.mp4"
   params = { "videoid": "0", "video_url": "http://server.com/video.mp4", "Title": "my video" }
   params["Title"] = "my video"
  downloader.downloadVideo(params)
 
A simple RTMP download
   params = {"videoid": "1", "video_url": "rtmp://edge01.fms.dutchview.nl/botr/bunny", "Title": "bunny"}
  downloader.downloadVideo(params)
 
A simple RTMP Live download
  video = {"videoid": "2", "video_url": "rtmp://aljazeeraflashlivefs.fplive.net:1935/aljazeeraflashlive-live/aljazeera_english_1", "Title": "mock", "live": "true", "max_size": "3000000"}
   downloader.downloadVideo(params)
   downloader.downloadVideo(params)


[[Category:Repo: Eden-pre]]
[[Category:Repo: Eden-pre]]

Revision as of 15:50, 9 December 2011

Simple downloader for xbmc plugins.

See this add-on on the kodi.tv showcase

Author: TheCollective

Type: Add-on library/module
Repo:

Summary: Simple downloader for xbmc plugins.
Home icon grey.png   ▶ Add-ons ▶ Simple downloader for xbmc plugins.

Testing/Status

Integration and unittests are run continously by Jenkins

http://tc.tobiasussing.dk/jenkins/view/Simple%20Downloader/

Introduction

This is a downloader developed and used with the YouTube and BlipTV addons.

Features

  • One queue across all plugins
  • Requeing an existing item moves it to the front of the queue.

Developers

This is a unified cross plugin http/rtmp downloader.

Setup

To use the downloader edit your addon.xml like this.

 <requires>
   <import addon="xbmc.python" version="2.0"/>
   <import addon="script.module.simple.downloader.beta" version="0.9.0"/> # Add this
 </requires>

And add the following to your py file.

 import xbmc, xbmcvfs, xbmcaddon
 settings = xbmcaddon.Addon(id='your.plugin.id') # The same as in addon.xml

 import SimpleDownloader as downloader
 downloader = downloader.SimpleDownloader()

You can now access the downloader through the "downloader" variable.

Settings

In your resources/settings.xml you need the following.

   <setting id="downloadPath" type="folder" label="Download Location" default="" /> 
   <setting id="hideDuringPlayback" type="bool" label="Hide during playback" default="true" />
   <setting id="notification_length" type="enum" label="Notification length in seconds" values="1|2|3|4|5|6|7|8|9|10" default="2" />

Debugging

To enable debugging set the following values in default.py

dbg = True # Default

Or you can change it after import with.

common.dbg = True # Default

Whenever you debug your own code you should also debug in the cache. Otherwise you should remember to DISABLE it.

downloadVideo(self, params = {})

Takes dictionary list with video name and url.

For http and normal RTMP streams you need to specify a video_url, a videoid and a Title. - video_url: "http://server.com/video.mp4" # Url to download - videoid: "0" # Video id. Must be unique. Preferably just use the videoid provided from your site(if applicable).

For live RMTP streams you also need to specify live and max_size: - live: True # Tell the downloader it is getting a live stream - max_size: 10000000 # The maximum size(in bytes) of the download stream. Defaults to "10000000" if nothing is specified.

Returns None

A simple http download

 params = { "videoid": "0", "video_url": "http://server.com/video.mp4", "Title": "my video" }
 downloader.downloadVideo(params)

A simple RTMP download

 params = {"videoid": "1", "video_url": "rtmp://edge01.fms.dutchview.nl/botr/bunny", "Title": "bunny"}
 downloader.downloadVideo(params)

A simple RTMP Live download

 video = {"videoid": "2", "video_url": "rtmp://aljazeeraflashlivefs.fplive.net:1935/aljazeeraflashlive-live/aljazeera_english_1", "Title": "mock", "live": "true", "max_size": "3000000"}
 downloader.downloadVideo(params)