Add-on:Simple Downloader for xbmc plugins
Simple downloader for xbmc plugins. | ||||||||||
|
Add-ons | Simple downloader for xbmc plugins. |
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.
- RTMP downloading if the rtmpdump binary is installed.
- RTSP/mms downloading if the vlc or mplayer binary is installed.(And any other stream they accept)
Testing/Status
Integration and unittests are run continously by Jenkins
http://tc.tobiasussing.dk/jenkins/view/Simple%20Downloader/
Developers
This is a unified cross plugin http/rtmp downloader.
It is currently not possible to distribute the rtmpdump binary with this addon.
The user must make sure rtmpdump is installed in a system PATH for rtmp downloading to work.
Development and support thread: http://forum.xbmc.org/showthread.php?t=116500
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.1"/> # Add this </requires>
And add the following to your py file.
import SimpleDownloader as downloader downloader = downloader.SimpleDownloader()
You can now access the downloader through the "downloader" variable.
Debugging
To enable debugging set the following values in your default.py
dbg = True # Default
Or you can change it after import with.
downlaoder.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, filename, params = {})
Takes filename(string) and dictionary list with url and download_path.
The filename must be unique.
The params collection can contain an optional Title to be shown during transfer, instead of showing the filename.
For http and normal RTMP streams you need to specify a url.
- params = {"url": "http://server.com/video.mp4", "download_path": settings.getSetting("download_path")} # Url to download
For live RMTP streams you also need to specify live and max_size:
- params = {"url": "http://server.com/video.mp4", # Url to download
"download_path": "/tmp", # Download path "live": True, # Tell the downloader it is getting a live stream "duration": 10} # Duration of stream to save. Defined in minutes.
Returns None
A simple http download
params = { "url": "http://server.com/video.mp4", "download_path": "/tmp" } downloader.downloadVideo("myvideo.mp4", params)
A simple http download with a custom title.
params = { "url": "http://server.com/video.mp4", "download_path": "/tmp", "Title": "my video" } downloader.downloadVideo("myvideo.mp4", params)
A simple RTMP download
params = {"url": "rtmp://edge01.fms.dutchview.nl/botr/bunny", "Title": "bunny"} downloader.downloadVideo("bunny.mp4", params)
A simple RTMP Live download
video = {"url": "rtmp://aljazeeraflashlivefs.fplive.net:1935/aljazeeraflashlive-live/aljazeera_english_1", "Title": "Live Download", "live": "true", "duration": "10"} downloader.downloadVideo("aljazeera-10minutes.mp4", params)