Personal acestream server

Hi,

I’m pissed that iOS doesn’t support Acestream and therefore I want to install acestream on my LINUX server and then serve a couple streams from different content ids.

Currently I managed to make the server run and to start an HTTP streaming which the iPad is capable of playing via VLC, but it only serves ONE single client.

The command I’m using is:

http://serverip:port/ace/getstream?id=CONTENTID

If I run it in one device it’s fine, but if I run it in the second, it drops a “failed to seek” error.

What am I doing wrong? Should I set up a HLS stream instead? Thing is, I tried setting an HLS stream up and it didn’t work.

Thanks!

You’re using same CID on second device or different one?
In first case, you need third-party HTTP proxy (HLS proxy, HTTP Ace proxy) for that - Ace Stream do not support playback via internal proxy of same CID on different clients.
In the second case - you may try adding to the end of URL “pid”:

http://serverip:port/ace/getstream?id=CID1&pid=1 // for first device
http://serverip:port/ace/getstream?id=CID2&pid=2 // for second device

See Engine HTTP API - Ace Stream Wiki for more info.

Thanks so much for the reply.

One question, when I make requests via threadfin to the acestream server, it always returns a link with “localhost” instead of the public IP of my server.

can I force that IP to be whichever I would like?

thanks!

In your request you’re using public IP or localhost (127.0.0.1)? Usually Ace Stream server replies with IP on which address request was received.

If this is not your case, then we need more data to examine this issue - code sample, which API endpoint was used, etc.

Hello,

I am back to business. Thanks so much for your reply.

I gave up with threadfin and I’m working now with an acestream instance on a Docker container.

If I understood your post correctly, providing my IP and port are 1.1.1.1 and 6878, I can use these two commands:

http://1.1.1.1:6878/ace/getstream?id=CONTENTID&pid=1
http://1.1.1.1:6878/ace/getstream?id=CONTENTID&pid=2

and I should be having two separate streams of the same channel with only one acestream instance running at my server?

I can’t get it to run in VLC. If I use the first command, the second drops a 404 error.

At the moment I want to serve 7 different clients and I’m running 7 different instances of acestream (i.e., 7 Docker containers) in parallel. I’m probably missing something here.

Thanks!

Regards

Unfortunately, you don’t. Right template looks like

http://1.1.1.1:6878/ace/getstream?id=CONTENTID1&pid=1
http://1.1.1.1:6878/ace/getstream?id=CONTENTID2&pid=2

i.e. for each different CID you may add a different PID if you have troubles to play it without.

Well, you can solve a problem “can’t play same CID on different clients” in this way, but this is overkill, obviously.
All you need to do - install and setup proxy (GitHub - pepsik-kiev/HTTPAceProxy: New) on same host where one Ace Stream instance is running.
It’s pretty hard to believe that user who can setup, run and maintain a couple of Docker containers cannot figure out how to run a simple Python app.

PS you may try this combo-image - https://hub.docker.com/r/sybdata/ace86a37 it’s contains Ace Stream engine, Ace search API endpoint, fancy web UI and bunch of different proxies.

You’re a legend man. Thanks so much, I’ll investigate both options you just gave me and take the one that uses the less resources on the server.

It’s pretty hard to believe that user who can setup, run and maintain a couple of Docker containers cannot figure out how to run a simple Python app.

I’ll take it as a compliment hahahha thing is, I’m an ignorant on streamings (I guess you already figured that out, right? :D) and I get confused with all the stuff that involves a service like this.

Thanks again for your help :slight_smile: