Home | News | Download | Packages | Forum | Wiki | Github

Ace Stream: someone interested?


#1

quote from homepage:

Ace Stream is a media platform of a new generation with a decentralized system of delivering and storing multimedia data, which is designed to create Internet services with functions of AVoD (Audio and Video on Demand) and Live Streaming, with extensive social and interactive component. […]

a couple of weeks ago I’d tried to put into operation Ace Stream on Void so that to be able to play the acestream:// links around…
at the end of my first tests I was stopped by the lack of an dependency, python-gevent, so I did request of it on github…
those guys are fantastic and the package is now in the repository!

so today I tried again and …YES! I can now streaming with Ace Stream on Void!!
it is not a very complicated thing so I thought I could describe the steps that I made for the benefit of others, if someone interested.
since I’m not an expert on the subject, probably some of you it will find a better way than what I have found by myself… anyway, it’s working! :stuck_out_tongue:

behind your permission, I gladly describe my steps in a later post in this thread…


#2

2 likes so I assume I can post :wink:

we need 3 components:

  • acestream-engine
    you can download it from this address
    (do not switch to english language page since it has older versions)
    I’ve downloaded acestream_3.0.5.1_debian_7.4_x86_64.tar.gz
  • aceproxy
    download the zip archive from here
    this is labeled as ‘ABANDONED!’ however, it still works (…)
  • mpv
    sudo xbps-install mpv
    (mpv is simply my favorite player; if your is another, that’s OK as long as you see it works!)

where unpack engine and proxy is up to you; for example, it could be done like this:

~/acestream
├── engine
│   ├── acestream.conf
│   ├── acestreamengine
│   ├── data
│   └── lib
└── proxy
    ├── aceclient
    ├── aceconfig.py
    ├── acedefconfig.py
    ├── acehttp.py
    ├── LICENSE
    ├── plugins
    ├── README.md
    ├── requirements.txt
    ├── setup_win32.py
    ├── systemd
    └── vlcclient

afterwards the entire process can be handled automatically by creating a script.
for now (even to simplify the first debugging) I’ll only tell you how to start the three processes, each one on a separate terminal emulator.
also, I’ve to say that I’ve not changed the default configurations of the two python applications but if your player is VLC some aceproxy options should be adjusted (see the related wiki).
for issues related to firewall protection I believe you should adjust things as you typically do for BitTorrent (…)

making acestream operational

I’ve installed the dependencies:

sudo xbps-install python-apsw python-M2Crypto python-setuptools python-xlib

but running the program I stumbled upon a linkage issue about the current libcrypto37+ library.
to fix, I had to manually create a symlink in /usr/lib:

sudo ln -s /usr/lib/libcrypto.so.37.0.0 /usr/lib/libcrypto.so.1.0.0

(hope this can find a better solution in the future…)
well, finally acestream-engine is ready to start!

<your path>/acestreamengine --lib-path "<your path>"

should print the in-line help.
for the action…

<your path>/acestreamengine \
  --lib-path "<your path>" \
  --live-cache-type memory \
  --client-console \
  --max-connections 400 \
  --max-peers 100 \
  --upload-limit 0 \
  --download-limit 0

the up/down limits must be adjusted according to convenience.
(omit --live-cache-type memory if you are low on RAM)
now see the log: if your latest printed line is something like…

 [current date & hour]|Instance2InstanceThread-24|acestream.APIServer|run: ready to receive remote commands on <port number>

you’re fine! leave as is and launch another terminal…

making aceproxy operational

the dependencies to be installed are:

sudo xbps-install python-gevent python-greenlet python-psutil

then you just execute

python <your path>/acehttp.py

which must remain on waiting with the message…

[current date & hour] INFO HTTP: Server started.

ready to play!

cid=<the 40 hex-chars ID from a Ace Stream link URL>`

mpv <your mpv options> "http://127.0.0.1:8000/pid/${cid}/stream.mp4"

I’m stuck in a miserable 7Mbit/s ADSL but even so I can play several streams (…)
sometimes I have to bring the cache-secs parameter of mpv even up to 60 seconds to get a fluid vision.

hope it is all correct and can work for you too…


#3

Hi, thank you for the guide.

I have the following error when I try to launch acestreamengine:

$ engine/acestreamengine --lib-path "engine/lib/"
bash: engine/acestreamengine: No such file or directory

$ ldd engine/acestreamengine 
    /lib64/ld-linux-x86-64.so.2 (0x55927508f000)
    libpython2.7.so.1.0 => /lib/libpython2.7.so.1.0 (0x7f3269a5d000)
    libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x55927508f000)
    libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x55927508f000)
    libutil.so.1 => /lib64/ld-linux-x86-64.so.2 (0x55927508f000)
    libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x55927508f000)
    libssl.so.1.0.0 => /lib/libssl.so.1.0.0 (0x7f3269803000)
    libcrypto.so.1.0.0 => /lib/libcrypto.so.1.0.0 (0x7f3269429000)
    libz.so.1 => /lib/libz.so.1 (0x7f3269214000)
    libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x55927508f000)
    libcrypto.so.38 => /lib/libcrypto.so.38 (0x7f3268e3a000)

I don’t have a clue how to debug it…


#4

I can confirm that the toy still works :wink:

I see that you are pointing --lib-path to a relative path… have you tried with the absolute path instead?


#5

Yes and I have the exact same error.

I linked libssl.so.1.0.0 to “/usr/lib/libssl.so.39.0.0” too because acestreamengine couldn’t find it but that’s all, I did your guide step by step. :confused:


#6

in any case, if you run as you wrote in the post:

$ engine/acestreamengine --lib-path "engine/lib/"

it is predictable that you get a

No such file or directory

but if you, to say, do a /opt/acestream/engine/acestreamengine (or whatever is your path), even if it does not work the same but at least will will see a more indicative error message that a “file not found”…


#7
[rfm@norris ~]$ /home/rfm/Downloads/engine/acestreamengine --lib-path"/home/rfm/Downloads/engine/lib/"
bash: /home/rfm/Downloads/engine/acestreamengine: No such file or directory

The lib folder that you have to specify is inside the acestream tar file, right?

Thank you paoloschi.


#8

another reason that can produce the “file not found” message is to run a binary built for a different architecture…
are you sure you download the correct acestream archive?


#9

Yes, I downloaded the x86_64 version for Debian 7.


#10

I think it’s not really related to acestream because I downloaded Telegram and I can’t open it. I have the same error message.


#11

I’d prefer a plugin for AceStream within Kodi.


(Masato the Empty) #12

@nixit - I posted this on that other thread, but it’s more subject-appropriate here, so I’ve deleted it there, and just pointed to here.

Original post;
That’s for android. And you need kewltv updater which is a seperate app.

Plus, I’d suggest staying away from KewlTV, as they offer or recommend paid “subscription” services to what is almost certainly full of unlicensed (illegal)content.

Follow your own conscience when thinking about license/license infringement, but no matter what, do keep your arse covered. And don’t be tricked into paying for illegal services. They get busted, you could find yourself in a bit of trouble.


No such file or directory when executing a binary
#13

Fair enough, I did not look closely at the matter. It does appear to me that Kodi is more a “platform” than AceStream which seems like VLC with torrent/P2P mods. Nothing prevents a person from runnnig both but if any kind of AceStream plugin for Kodi exists (I don’t know) that would be my personal preference. YMMV


(Masato the Empty) #14

Guess you just gotta keep an eye out. If you can’t write one yourself, then you just wait to see if those who can have an interest (community demand frequently plays a role here, so the more people have an interest Acestream and Kodi, the more likely you’re going get a plugin to integrate them).


(Kartik) #15

Since the Europa League and Champions League finals and the World Cup later on are coming up I tried to get it working. Here are the few things I had to change to get it to work.

  1. python-M2Crypto<=0.24.0: An old version is needed. The current version doesn’t work with acestreamengine. I was able to obtain this version by building it myself using an old commit from the void-packages repo. LINK HERE.
  2. aceproxy: Doesn’t work with the current version of python-gevent. This can be easily fixed by changing the file ./vlcclient/vlcclient.py in the aceproxy repo. In line 7, change import gevent.coros to import gevent-lock.

Everything else is the same.


#16

in my current experience:

acestream_3.1.16_ubuntu_16.04_x86_64 (downloadable from here) works fine here with the current python-M2Crypto-0.30.1_1 by applying this single expedient:

cd /usr/lib/python2.7/site-packages/M2Crypto
sudo ln -s m2crypto.py __m2crypto.py 

there are plenty of aceproxy forks: I haven’t taken note of which of these I might have downloaded several months ago but I can say for sure that it still works with the current python-gevent-1.2.2_2 without any changes (not even of the default configuration…)


(Kartik) #17

Thanks for that. :slight_smile: