Motivation
Recently I found myself trying to watch an Ace Stream video with the URL format acestream://{channel_id} on my Mac and was overwhelmed by the installation requirements for any existing client. I looked around online and found some solutions [1] that work, but most of them required installing unnessesary, complicated, or closed source software on my machine.
While this is mostly personal preference, I know that there are likely others out there who would try to minimize this installation as well.
Approach
In order to get around installing all of these requirements on our machine, we can utilize containers. For those readers who aren’t familiar with containers, they are similar to a lightweight virtual machine. There are many other people who can do a better job of describing the technology than me, so if you are looking for some extra learning, this post is a good place to start.
In order to follow through with the tutorial, make sure you have VLC and Docker installed on your machine, as well as access to a terminal of some kind.
Disclaimer: Ace Stream uses an underlying Bit Torrent protocol. Make sure you understand the relevant copyright laws and avoid accessing any pirated content.
Solution
Installing and Running the Client
In order to view any Ace Stream, we need to install a client of some kind on our machine.
Fortunately for us, there are pre-existing containers for an Ace client/server that others have already created! The one we use in this tutorial will be Docker-TTV . What this docker image does is allows us to download and process the stream in our container, and then allow us to access this stream on our local machine be also acting as a proxy.
In your terminal enter:
docker pull ikatson/aceproxy:latest
If you haven’t used Docker before, think of it as copying down a VM image to your local machine.
Again, in your terminal enter:
docker run -t -p 8000:8000 ikatson/aceproxy
This starts running the image that you just pulled down. You now have a server and proxy running that we can use to watch streams!
Watching a Stream
For for the simple case of trying to load another acesteam link with the format acestream://{channel_id}
you can access an Ace Stream with the URL:
http://[SERVER_IP]:8000/pid/{channel_id}/stream.mp4
With the default settings on the docker engine, _SERVERIP should be localhost. For more complicated usage see [2].
Now that we have this proxy set up, and our URL created, we can test it out in VLC. If we open up VLC and hit ⌘+n, a dialog appears.
Paste our link to http://[SERVER_IP]:8000/pid/{channel_id}/stream.mp4
into the URL box. The stream should then be working!
A benefit of the Ace Stream technology is that the stream rate will adapt depending on your network conditions!
Closing the Server
When we are done watching, using the terminal we can enter
docker stop ikatson/aceproxy
and/or exit the Docker application.
Summary
By installing the Ace Stream requirements inside of a Docker container, we can significantly reduce bloat on our machine and make sure that all of the requirements are consolidated in one place. We can then access the streams using a simple URL format and our video player of choice!
I hope this guide will be of use to someone, thanks for reading!
Notes
[1] Some alternatives are: https://github.com/blaise-io/acelink, https://www.sodaplayer.com, http://themainframe.ca/acestream
[2] The Docker container uses the following repo to run and expose the proxy: https://github.com/ValdikSS/aceproxy/wiki/Using-proxy In order to change our use case, we can follow the guide there.