Skip to main content

Interact with the AceStream Engine and the HTTP API

Project description

Python AceStream

Python interface to interact with the AceStream Engine and the HTTP API.

Installation

pip install acestream

Usage

import time
import subprocess

from acestream.server import Server
from acestream.engine import Engine
from acestream.stream import Stream

# Create an engine instance
engine = Engine('acestreamengine', client_console=True)

# Connect to a remote server
server = Server(host='streams.com', port=6880)

# If the remote server is not available, connect to a local server
if not server.available:
  server = Server(host='127.0.0.1', port=6878)

  # Start engine if the local server is not available
  if not server.available:
    engine.start()

    # Wait for engine to start
    while not engine.running:
      time.sleep(1)

# Start a stream using an acestream channel ID
stream = Stream(server, id='ff36fce40a7d2042e327eaf9f215a1e9cb622b56')
stream.start()

# Open a media player to play the stream
player = subprocess.Popen(['mpv', stream.playback_url])

# Wait for player to close and stop the stream
player.communicate()
stream.stop()

# Stop acestream engine
engine.stop()

Search

import time
import random
import subprocess

from acestream.server import Server
from acestream.engine import Engine
from acestream.search import Search

# Create an engine instance
engine = Engine('acestreamengine', client_console=True)

# Connect to a local server
server = Server(host='127.0.0.1', port=6878)

# Start engine if the local server is not available
if not server.available:
  engine.start(stdout=subprocess.PIPE, stderr=subprocess.PIPE)

  # Wait for engine to start
  while not engine.running:
    time.sleep(1)

# Start a search for the sport category
search = Search(server, category='sport')
search.get(page=1)

# Iterate and print search results
for result in search.results:
  print("%40s %10s %40s" % (result.name, result.bitrate, result.infohash))

# Start a random stream from the search results
stream = random.choice(search.results).stream
stream.start(hls=True, transcode_audio=True)

# Open a media player to play the stream
player = subprocess.Popen(['mpv', stream.playback_url])

# Wait for player to close and stop the stream
player.communicate()
stream.stop()

# Stop acestream engine
engine.stop()

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/jonian/python-acestream.

License

Python AceStream is available as open source under the terms of the GPLv3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for acestream, version 0.1.7
Filename, size File type Python version Upload date Hashes
Filename, size acestream-0.1.7-py2.py3-none-any.whl (19.1 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size acestream-0.1.7.tar.gz (18.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page