Release - Pulsar - Universal Streaming

  Thread Rating:
  • 41 Vote(s) - 4.71 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Closed
steeve Offline
Senior Member
Posts: 270
Joined: Oct 2013
Reputation: 47
Post: #1
This add-on is currently orphaned, and is no longer being updated or supported. A new fork of the code is available however, called Quasar. Details of this are in its support thread (here) and that add-on should now be used in place of Pulsar.

Please address all support requests for the new add-on to that thread.

This thread is now closed - DarrenHill










[Image: E7gzyfI.png]
Universal Streaming


What it is
Pulsar is an torrent finding and streaming engine. It doesn't go on torrent websites for legal reasons. However, it calls specially crafted addons (called providers) that are installed separately. They are normal XBMC addons, and thus can be installed/updated/distributed just like any other addon.


Supported platforms
  • Windows
  • Linux 32/64 bits (starting Ubuntu 12.04)
  • Linux ARM (Raspberry Pi, Cubox i4pro etc...)
  • OS X 64 bits
  • Android ARM (not all, PIE not supported yet, check your log !)

Installation
Follow these steps:
  • Install Pulsar from the zip file
  • Restart XBMC/Kodi

Download
https://github.com/steeve/plugin.video.p...-0.6.1.zip (27mb)


Follow on Twitter
All the news happen on this account.
[Image: B5hiGN4.png]


How it works
Pulsar is an torrent finding and streaming engine. It doesn't go on torrent websites for legal reasons. However, it calls specially crafted addons (called providers) that are installed separately. They are normal XBMC addons, and thus can be installed/updated/distributed just like any other addon.

Pulsar is centred around media: it browses media from TheMovieDB and TVDB.
And so, when you decide you want to watch a media (i.e. given an IMDB or TVDB Id), here's what Pulsar does:
  • Enumerate the installed providers
  • Call each provider to find the media you want to watch (in parallel)
  • Each provider returns a list of BT links they found
  • Collects and de-duplicates all the links
  • Goes on the BitTorrent network to find out the number of seeds and peers in real time (i.e. not provided by the provider)
  • Finds out of which quality are the different links (thanks to their name)
  • Ranks the links by quality and availability (Pulsar privileges quality over availability, but it's not dumb. However, you can get a full list to choose from manually it you want)
  • Sends the chosen link to the BitTorrent streaming engine (brand new, and completely rewritten)

All of this is done in less than 1s. Pulsar is around 95% Go, and thus, it's fast. Very fast, actually.

The BitTorrent streaming engine is brand new and very resilient (or at least it's designed to be). It's built on top of the brand new libtorrent 1.0 (which had special patches for the streaming case). So it's very optimised, especially for low CPU machines. I have yet to find a media that doesn't play with the engine.


Providers
As said before, Pulsar relies on providers to find streams. Providers are easy to write, and average ~20 lines of Python. As they are normal XBMC addons, which can have their own configuration (although it is not recommended because it complicates things).

Sample Pulsar provider: https://github.com/steeve/script.pulsar.dummy

Providers are given a max amount of time to run before Pulsar considers them to be too slow. The timeouts are as follow:
- 4 seconds on Intel CPUs
- 20 seconds on multicore ARM CPUs
- 30 seconds on single core ARM CPUs (RPi)

Please note that for legal reasons, I won't develop nor distribute any providers connecting to illegal sources. So there is no need to ask me.
While I can partake in general discussions regarding provider development, I won't do so for illegal sources specific problems.


FAQ
I can't code. How can I help?
Spread the word. Talk about it with your friends, show them, make videos, tutorials. Talk about it on social networks, blogs etc...

The plugin doesn't work, what can I do?
Put your xbmc.log on pastebin.
If you don't know how to do that, just follow the guide at: http://kodi.wiki/view/Log_file/Easy

Can I seek in a video?
Yes, but it can fail.

What about seeding?
When watching a torrent, you will be seeding while you watch the stream.

Does it downloads the whole file? Do I need the space? Is it ever deleted?
Yes, yes and yes.

Can I keep the file after watching it?
Yes, change it in the addon settings.

Can I set it to download directly to my NAS?
Yes, but you need to mount your NAS via the OS, not via XBMC.

Provider X is blocked in my country/ISP, how can I set another domain?
Sorry, I won't comment of specific providers.

Will there be an Android version?
Yes. I have a working version right now, but it's not stable enough for release. Don't blame me, the Android ecosystem is pretty bad for that sort of thing.


Screenshots
[Image: uchej1p.png]
[Image: 0ybvekN.jpg]
[Image: L103Xt1.jpg]
[Image: 8qSwVk1.jpg]


Changelog
v0.6.1:
  • Android support
  • SOCKS proxy support
  • Add custom provider timeout support
  • Ensure we try IPv4 AND IPv6 when connecting to Kodi
  • Rework configuration interface and enable proxy support
  • Force closing of all dialogs on start, to prevent stalled dialogs
  • Use alternate sources in magnet from torcache or original location

v0.6.0:: BROKEN

v0.5.0:
  • Trailer support
  • Boost magnets with default trackers
  • Multi-lang support for metadata
  • Add icons in menus
  • Added new default trackers
  • Update to go 1.4.2
  • Update to OpenSSL 1.0.2a
  • Update to libtorrent 1.0.4

v0.4.7:
  • Fix stalled buffering
  • Fix issue where Pulsar would enter a restart loop when cancelling a buffering
  • Handle Unicode paths
  • Switch to simplejson, as it is ~30% faster at loading JSON

v0.4.6:
  • Much better bandwidth allocation at the cost of slightly longer buffer times

v0.4.5:
  • Fix memory leak in bjsonrpc (would crash ARM devices)
  • Fix leaking goroutine during buffering

v0.4.4:
  • Fix a closure leak when the JSONRPC asks wether to serve or not
  • Set piece deadlines, and also when seeking
  • Limit DHT memory
  • Change settings regarding disk cache, atime, free hashes and ip overhead

v0.4.3:
  • Fix stalled buffering

v0.4.2:
  • Force downloading of pieces, even if dupes, should prevent the stalled buffering
  • Only match on %02d for absolute numbers episode filters
  • Display when we are unable to resolve a .torrent file
  • Fix episode filtering for "1x02" episode numbering

v0.4.1:
  • Update to libtorrent 1.0.3 (should fix speed issues)
  • New buffering method (slower, but more reliable)
  • Filter irrevelant items for episode search
  • Better support for anime detection
  • Make normalization better
  • Filter irrelevant links when searching for episodes

v0.4.0:
  • Subtitles support via OpenSubtitles
  • Better BitTorrent performances (upgrade to libtorrent pre-1.0.3)
  • Prevent empty movies from showing/crashing

v0.3.2:
  • Auto updates with auto repository
  • Add Most Voted movies
  • Add IMDB Top 250
  • Add TV Shows Genres
  • Migrate TV Shows from Trakt.tv to TMDB and TVDB
  • Notify when no providers are installed
  • Add clear cache command
  • Faster displaying of results
  • Massive performance improvements
  • Check for sufficient space before starting the download
  • Use GZIP for cache storage
  • Enable TVDB caching
  • Enable Absolute Numbering for TV Shows
  • Use TMDB's Serie's name when searching for an episode
  • Fix (get/set)_setting
  • Fix raw search to a string, not an object
  • Explicitely accept GZIP payloads when performing HTTP requests
  • Change pulsard and jsonrpc host to 65251 and 65252
  • Ensure we don't hang XBMC when closing
  • Unlock files on BSD/Darwin systems (could prevent playback of OSX)
  • Change provider timeout to 30s on single core linux arm (Raspberry Pi)
(This post was last modified: 2016-01-28 10:59 by DarrenHill.)
find
kruykaze Offline
Senior Member
Posts: 185
Joined: Jul 2008
Reputation: 0
Post: #2
Fantastic! Is there an alpha? And will there be a repo? Thanks!
find
donken Offline
Junior Member
Posts: 6
Joined: Feb 2014
Reputation: 1
Post: #3
Wow, looks beautiful!
find
ricardorocky Offline
Junior Member
Posts: 5
Joined: Jul 2014
Reputation: 0
Post: #4
Nice! I hope that have support subtitles.
find
fabiomello Offline
Member
Posts: 93
Joined: Jun 2011
Reputation: 0
Location: João Pessoa, Brazil
Post: #5
awesome!. can't wait to try it out :3

[Image: all-thin-fanart.jpg]
find
enen92 Offline
Skilled Python Coder
Posts: 1,456
Joined: Nov 2012
Reputation: 88
Location: Portugal
Post: #6
Good to know it is about to be released. Love the name and I'm looking forward to try it out!
Probably one of the most complex xbmc addons I've seen. Just because of that, probably one of the top ones.

All the best
find
cabrerachaparro Offline
Junior Member
Posts: 6
Joined: Jan 2014
Reputation: 0
Post: #7
Great work!
But I have some questions. Since "providers" have to be written by others what if nobody would like to write a "provider" script? Is there a guide or how to write a provider?
What if I prefer to still using XBMCTorrent?

Thank you for the great work you are doing to provide us an excellent addon.
find
steeve Offline
Senior Member
Posts: 270
Joined: Oct 2013
Reputation: 47
Post: #8
(2014-07-30 02:29)kruykaze Wrote:  Fantastic! Is there an alpha? And will there be a repo? Thanks!

Thank you Smile
No alpha available yet as it is not installable like this. I plan on having one by next week, though.
I'm not guaranteeing it will work on all OS, nor its stability, of course Smile

(2014-07-30 02:38)cabrerachaparro Wrote:  Great work!
But I have some questions. Since "providers" have to be written by others what if nobody would like to write a "provider" script? Is there a guide or how to write a provider?
What if I prefer to still using XBMCTorrent?

Thank you for the great work you are doing to provide us an excellent addon.

Good question.
I'm pretty sure there will be people who will want to (well, let's hope!).
There are not only very simple to write, but of course I will put out a guide and template to facilitate development.

(2014-07-30 02:32)ricardorocky Wrote:  Nice! I hope that have support subtitles.

It does. Not always perfect, but it's definitely a goal (I'm not from an english speaking country either)
(This post was last modified: 2014-07-30 02:46 by steeve.)
find
Opture Offline
Junior Member
Posts: 3
Joined: Aug 2008
Reputation: 0
Post: #9
Damn, this is exactly what is needed to make a true supermediacenter!
find
servo386 Offline
Junior Member
Posts: 6
Joined: May 2014
Reputation: 0
Post: #10
Very very cool. The ability to write provider scripts modularly is fantastic, for you and for us the users. Can have specialty provider-scripts for private tracker, ect.
(This post was last modified: 2014-07-30 03:40 by servo386.)
find
john3voltas Offline
Junior Member
Posts: 41
Joined: Mar 2013
Reputation: 1
Post: #11
Just can't wait to put my hands on an alpha of Pulsar.
Keep up the good work, steeve.

Android TV Box - Tronsmart "Prometheus" VS-ATV-106
Dualcore 8726-M6 @ 1.5GHz - 1GB RAM 8GB iSD
Finless ROM 1.3 - Android 4.2.2
Kodi "Jarvis" v16rc3
find
moreno68 Offline
Junior Member
Posts: 9
Joined: Jul 2014
Reputation: 0
Post: #12
Does it work in xbmc running under Android ?
Does it have the FAT32 limitation such as xbmc torrent (I hope no!) ?
(This post was last modified: 2014-07-30 06:47 by moreno68.)
find
Yorick Online
Member
Posts: 60
Joined: Dec 2011
Reputation: 1
Post: #13
Simply amazing. Thank you very much for your work Wink
find
grey Offline
Fan
Posts: 464
Joined: Nov 2008
Reputation: 2
Location: Chisinau, Moldova
Post: #14
Quote: when you decide you want to watch a media (i.e. given an IMDB or TVDB Id), here's what Pulsar does:

didn't really get this part. i should enter an ID for a movie, manually?
find
vodnok Offline
Junior Member
Posts: 6
Joined: Jul 2014
Reputation: 0
Post: #15
As you can see on the screenshoot, there is a search movie option :-)

"it browses media from TheMovieDB and Trakt.TV."
(This post was last modified: 2014-07-30 10:21 by vodnok.)
find
Thread Closed