[WINDOWS] HOW-TO use StreamTorrent as external player

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
MaxMustermann Offline
Member
Posts: 94
Joined: Sep 2009
Reputation: 33
Post: #1
I've had a deeper look into streamtorrent and I have to say that this software is a piece of cr...cruel annoyment.

1. Streamtorrent is only available for windows. If you want to use it with other platforms you can only do that by means of a windows emulator(e.g. WINE for linux)

2. Streamtorrent doesn't allow any command line options to start a stream fullscreen. The only command line option is the stream url. So the window opens in standard size.

3. Streamtorrent is unstable. Sometimes buffering hangs the application and you have to kill the process.

4. Streamtorrent is not controllable with hotkeys, so you can't use your remote control for it (ok, you could assign something like: move mouse to x,y => click, but this is very unprecise and the window has to be at the same position)

The following instructions are for advanced users only.

General approach:

1. Install StreamTorrent (e.g. from http://www.softpedia.com/dyn-postdownloa...31&t=4&i=1)

2. Write a script with autoit/autohotkey that takes the stream url ("st://...") as argument. The script starts streamtorrent with this url, searches for its window and puts it fullscreen. Setup a hotkey to close streamtorrent and your script. You should always kill the process of streamtorrent, because it hangs sometimes.

3. Use the script as external player in your playercorefactory, define a rule for the "st"-protocol to use this new player.

4. Write some macros for your remote control that emulate mousemovements and clicks for volume, fullscreen, stop etc. Don't forget to define a macro for closing your script (remember the hotkey in 2.).


My solution:
I've made an AutoIt script that does exactly what I posted above:

Code:
Opt("WinTitleMatchMode", 3)
$streamurl = ""
If $CmdLine[0] > 0 Then
    $streamurl = $CmdLine[1]
Else
    MsgBox(0, '', "No stream parameter",3)
    Exit
EndIf    


$decodedUrl =  Base64Decode($streamurl)
$array = StringRegExp($decodedUrl, Chr(23) & '.(.*?)Š[a|A]', 2)
$channel = $array[1]

$WindowName = "StreamTorrent"
$Process = "streamtorrent.exe"
$Application = "[color=red]C:\Programme\StreamTorrent 1.0\StreamTorrent.exe[/color]"
HotKeySet("{F11}","Quit")

ShellExecute ( $Application ,$streamurl)

WinWait($WindowName)
WinSetState($WindowName,"",@SW_MINIMIZE)

WinWait($channel)
WinSetState($channel,"",@SW_MAXIMIZE)
ProcessWaitClose($Process)


Func Quit()
    WinClose($channel)
    WinClose($WindowName)
    $runString = StringFormat("taskkill -im %s -f", $Process)
    $run = Run($runString, "", @SW_HIDE)
    Exit
EndFunc

Func Base64Decode($s)
    Local $key = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', _
    $t = '', $p = -8, $a = 0, $c, $d, $len = StringLen($s)
    For $i = 1 to $len
        $c = StringInStr($key, StringMid($s,$i,1), 1) - 1
        If $c < 0 Then ContinueLoop
            $a = BitOR(BitShift($a, -6), BitAND($c, 63))
            $p = $p + 6
        If $p >= 0 Then
            $d = BitAND(BitShift($a, $p), 255)
        If $c <> 64 Then $t = $t & Chr($d)
            $a = BitAND($a, 63)
            $p = $p - 8
        EndIf
    Next
    Return $t
EndFunc

That's my player for playercorefactory:
Code:
<player name="StreamTorrent" type="ExternalPlayer" audio="false" video="true">
      <filename>[color=red]C:\Skripte\StreamTorrent.exe[/color]</filename>
      <args>"{1}"</args>
      <hidexbmc>true</hidexbmc>
      <hideconsole>true</hideconsole>
      <warpcursor>none</warpcursor>
    </player>
...and the corresponding rule:
Code:
<rule protocols="st" player="StreamTorrent"/>

Pressing F11 quits the whole application. Please keep in mind that the filepaths (red) have to be adjusted . The StreamTorrent.exe is the compiled AutoIt script.

Use the script together with a macro for your remote control. Set audio adjustment to general mixer control and assign a button with F11 for closing and going back to xbmc. If you want to have true fullscreen, also assign a key for mouse double click at screen's middle. I cannot switch to fullscreen automatically because I don't know when the stream is fully loaded (and it only works when it is loaded). Have fun!
(This post was last modified: 2011-08-24 12:31 by MaxMustermann.)
find quote
MaxMustermann Offline
Member
Posts: 94
Joined: Sep 2009
Reputation: 33
Post: #2
reserved
find quote
Hudson_Hawk04 Offline
Posting Freak
Posts: 1,168
Joined: Oct 2006
Reputation: 3
Post: #3
Originally posted in the wrong thread, sorry about that, both of my xbmc boxes are running variants of Linux, Ubuntu to be precise. I was wondering if it would be possible to run stream torrent through wine?

I feel sorry for people who don't drink. When they wake up in the morning, that's as good as they're going to feel all day.
Frank Sinatra
If I managed to help you in any way, please add to my reputation
.
find quote
rbrohman Offline
Senior Member
Posts: 292
Joined: Jan 2010
Reputation: 1
Location: Kitchener, ON
Post: #4
I have run streamtorrent through wine on Ubuntu. It was not a pleasant experience (took MUCH longer for a stream to actually start than in windows), though it did work. I would love to see something like this script for linux, would be great to use with the SportsDevil addon.
find quote
dkplayaclub Offline
Fan
Posts: 433
Joined: Jan 2011
Reputation: 0
Post: #5
I am not able to get streamtorrent links running at all, using the SportsDevil addon. I don't really need to use the remote control functions. Could someone make a little more detailed guide for how to do this?

I am using Windows 7 64 bit for what it's worth.
find quote
Icarus3000 Offline
Senior Member
Posts: 162
Joined: Nov 2009
Reputation: 0
Post: #6
Any updated guides on how to set this up to work with SportsDevil?
find quote
aminemed Offline
Junior Member
Posts: 40
Joined: Feb 2013
Reputation: 0
Post: #7
Same here..
find quote
natenjo Offline
Junior Member
Posts: 15
Joined: Dec 2012
Reputation: 0
Post: #8
Hello, there is also a linux version of StreamTorrent/AceStream now. Maybe someone can help out with a script for my xbmcbuntu Smile

http://forum.torrentstream.org/index.php?topic=1465.0
find quote
jharrer1980 Offline
Junior Member
Posts: 28
Joined: May 2013
Reputation: 0
Post: #9
is there a version for openelec? this boots right into xbmc
find quote
osirisjem Offline
Senior Member
Posts: 175
Joined: Oct 2008
Reputation: 1
Post: #10
Is this still the preferred way to do things ?

ASrock Ion 330HT - XBMCFreak 10.1 Lucid LiveCD. Everything works but System sounds over HDMI.
find quote