GithubHelp home page GithubHelp logo

sumonst21 / docker-acestream-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from magnetikonline/docker-acestream-server

0.0 2.0 0.0 14 KB

Ace Stream server Docker image and playback CLI for media players.

Home Page: https://hub.docker.com/r/magnetikonline/acestream-server/

License: MIT License

Shell 18.45% Python 71.40% Dockerfile 10.15%

docker-acestream-server's Introduction

Docker Ace Stream server

An Ace Stream server Docker image.

Overview

What this provides:

  • Dockerized Ace Stream server (version 3.1.49) running under Debian 8 (Jessie) slim.
  • Bash script to start server and present HTTP API endpoint to host.
  • Python playback script playstream.py instructing server to:
    • Commence streaming of a given program ID.
    • ...and optionally start a compatible media player (such as VLC) to view stream.

Since a single HTTP endpoint exposed from the Docker container controls the server and provides the output stream, this provides one of the easier methods for playback of Ace Streams on traditionally unsupported operating systems such as OS X.

Building

To build Docker image:

$ ./build.sh

Alternatively pull the Docker Hub image:

$ docker pull magnetikonline/acestream-server:3.1.49_debian_8.11

Usage

Start the server via:

$ ./run.sh

For Linux hosts the alternative run-tmpfs.sh is recommended, mounting the cache directory into a temporary based tmpfs file system. This saves thrashing of the file system as stream contents is written to disk - which does not seem possible to disable via server launch arguments.

Server will now be available from http://127.0.0.1:6878:

$ curl http://127.0.0.1:6878/webui/api/service?method=get_version
# {"result": {"code": 3014900, "platform": "linux", "version": "3.1.49"}, "error": null}

A program ID can be started with playstream.py:

$ ./playstream.py --help
usage: playstream.py [-h] --ace-stream-pid HASH [--player PLAYER] [--progress]
                     [--server HOSTNAME] [--port PORT]

Instructs server to commence a given program ID. Will optionally execute a
local media player once playback has started.

optional arguments:
  -h, --help            show this help message and exit
  --ace-stream-pid HASH
                        program ID to stream
  --player PLAYER       media player to execute once stream active
  --progress            continue to output stream statistics (connected
                        peers/transfer rates) every 2 seconds
  --server HOSTNAME     server hostname, defaults to 127.0.0.1
  --port PORT           server HTTP API port, defaults to 6878

For example, to stream PROGRAM_ID and send playback to vlc when ready:

$ ./playstream.py \
	--ace-stream-pid PROGRAM_ID \
	--player /usr/bin/vlc \
	--progress

Awaiting successful connection to stream
Waiting... [Peers: 5 // Down: 80KB // Up: 0KB]
Waiting... [Peers: 40 // Down: 343KB // Up: 4KB]
Ready!

Playback available at [http://127.0.0.1/XXXX]
Starting media player...

Streaming... [Peers: 18 // Down: 467KB // Up: 16KB]

Send Ctrl + C to exit.

Reference

docker-acestream-server's People

Contributors

magnetikonline avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.