• Stars
    star
    120
  • Rank 289,689 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created about 6 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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 macOS.

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

More Repositories

1

linux-microsoft-ie-virtual-machines

Run Internet Explorer 8/9/10/11/MS-Edge Virtual machines from Microsoft under Linux via VirtualBox.
1,010
star
2

css-animation-event

Cross browser library for handling CSS animation and transition DOM events with a fallback pattern for unsupported browsers.
JavaScript
91
star
3

sass-boilerplate

A collection of common use Sass stylesheets, mixins and functions.
SCSS
63
star
4

docker-html5-validator

Docker self contained W3C/HTML5 validator instance.
Shell
53
star
5

web-server-install-ubuntu-12.04

Step-by-step install guide for a Nginx, PHP & MySQL enabled web server under Ubuntu 12.04 LTS.
Shell
43
star
6

terraform-github-action-cache-example

Caching Terraform providers within a GitHub Actions Workflow run to improve execution times.
HCL
39
star
7

php-google-spreadsheet-api

PHP library for read/write access to Google spreadsheets via the version 3 API.
PHP
37
star
8

action-golang-cache

GitHub Action bringing together actions/setup-go and actions/cache.
33
star
9

thummer

Easy as pie web image thumbnail generator for PHP 5.2+ with dimensions given by the request URL and implementing a no-nonsense image caching strategy.
PHP
32
star
10

nginx-config-snippets

A selection of common use config blocks for Nginx.
32
star
11

docker-build-deb

A collection Dockerized Debian/Ubuntu deb package builders.
Shell
26
star
12

markdown-toc-generate

Table of contents (TOC) generator for a given Markdown page source.
JavaScript
24
star
13

github-markdown-render

Display Markdown formatted documents on your local web server using GitHub's Markdown rendering API and CSS to mimic the visuals of GitHub itself.
PHP
20
star
14

lambda-smush-py

Gain additional code space via cheeky compression for Python AWS Lambda functions defined in-line to CloudFormation templates.
Python
17
star
15

rsync-backup-rotation

Bash script for automated incremental backups via Rsync.
Shell
14
star
16

aws-api-gateway-upsert

Command line utility for upserting AWS API Gateway instances from Swagger 2.0 JSON definitions.
Python
11
star
17

slack-post

Node.js module for sending posts to Slack via the incoming webhooks API. Supports both simple and advanced messaging formats.
JavaScript
11
star
18

edgy

Harness to assist in authoring tests for Node.js based AWS CloudFront Lambda@Edge functions.
JavaScript
9
star
19

wordpress-rebuild-thumbnails

Regenerate or adjust thumbnail sizes from original source images within a WordPress blog.
PHP
8
star
20

macos-multipass-docker

Step by step guide for installing Docker under macOS via Canonical's Multipass.
Shell
8
star
21

sysstat-graph

Rendering of SYSSTAT Linux performance monitoring data in your browser.
JavaScript
6
star
22

action-aws-iam-assume-role

GitHub Action to assume an AWS IAM role via OpenID Connect (OIDC) or a plain old IAM user.
Python
6
star
23

sass-structure

A guide to the techniques I use for the structure of Sass documents within a web project. Includes a complementing Node.js v6+ based linter.
JavaScript
6
star
24

py-encoding-detect

Python module for detecting common text file encodings.
Python
6
star
25

bash-web-app-deploy

Lo-Fi web application build & deployment script written in simply Bash.
Shell
4
star
26

aws-ecs-task-definition-cleanup

Python CLI utility to help maintain legacy AWS ECS task definitions in bulk.
Python
4
star
27

github-utilities

Random scripts for working with GitHub itself and repositories within.
Python
4
star
28

bind-zone-builder

Generates nicely formatted BIND DNS zone files from XML source definition documents.
PHP
4
star
29

terraform-aws-datadog-metric-stream

Boilerplate Terraform configuration for AWS infrastructure to support CloudWatch Metric Streams for delivery of metrics into Datadog.
HCL
4
star
30

identix

Python utility which will recursively scan one or more given directories for duplicate files.
Python
4
star
31

aws-lambda-proxy-response

Node.js module generating response payloads for AWS Lambda functions behind API Gateway 'Lambda proxy' integrations.
JavaScript
4
star
32

docker-mozjpeg-deb

Dockerfile to build a mozjpeg (version 3.3.1) Debian package for Ubuntu/Debian/variants.
Dockerfile
3
star
33

picoh

Yet another JavaScript frontend micro framework - minified and gzipped to around 2.3KB.
JavaScript
3
star
34

dotfiles-macos

Dotfiles - macOS.
Shell
3
star
35

cloudfront-edge-secgroup-update

Lambda function to synchronize a set of EC2 security groups allowing ingress only from CloudFront edge locations.
Python
3
star
36

dns-resolver-testing

Configuration and scripts for testing DNS resolvers and their behaviours.
JavaScript
3
star
37

docker-unifi-network-controller

Docker image and CLI management utility for Ubiquiti's UniFi Network Controller.
Python
2
star
38

php-twitter-classes

Routines for reading a user's Twitter timeline and rendering results to HTML5 markup.
PHP
2
star
39

ssh-diff

Command line utility to diff a local directory structure of files against the root of a remote server over SSH.
PHP
2
star
40

docker-keepassx-deb

Dockerfile to build a KeePassX 2.0.3 deb package for Ubuntu/Debian/variants.
Dockerfile
2
star
41

php-string-concatenate-benchmark

Trival PHP string concatenation method benchmarks, proving that your time is better spent elsewhere.
PHP
2
star
42

s3-curl-iam-role

Bash script to wrap the popular AWS s3curl.pl utility and allowing the use of EC2 assigned IAM role permissions.
Perl
2
star
43

golang-win-cache-test

Test repository to show reason for proposed change via https://github.com/actions/cache/pull/651
Go
1
star
44

dotfiles

Dotfiles - Ubuntu 18.04LTS.
1
star
45

unrar-all-the-files

Takes a source directory of RAR archives and extracts all recursively to a given target. Handles multi part rar archives to boot.
PHP
1
star
46

pretty-template-index

Quick and dirty PHP 5.4 script to display a listing of HTML pages in a directory.
PHP
1
star
47

action-slack-workflow-start-finish

GitHub Action posting Slack messages to denote the start and/or end of a Workflow run.
JavaScript
1
star
48

funcqueue

Low-fi function queue manager for Node.js to help ease the pain of constructing asynchronous code.
JavaScript
1
star
49

php-namespace-autoloader

PHP namespaced class autoloading.
PHP
1
star
50

resume-template

Responsive resume template design from a sane 760px down to mobile, with some simple print styles to boot.
HTML
1
star
51

aws-cloudfront-log-expire

Processes S3 buckets configured as CloudFront distribution access log targets - removing log objects prior to a specified expiry date or days.
Python
1
star
52

aws-cli-assume-role-to-env

Python utility taking the output of 'aws sts assume-role' to a set of environment variable `export` commands.
Python
1
star