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, HTTP API and Search 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.

Source Distribution

acestream-0.2.0.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

acestream-0.2.0-py2.py3-none-any.whl (19.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file acestream-0.2.0.tar.gz.

File metadata

  • Download URL: acestream-0.2.0.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for acestream-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8422fc592b3001f662bafbf177ef8487fdc3c3a477aa9a6b173bccfafd2cd2d8
MD5 69e6f76f734f95f73eea720ad856f39a
BLAKE2b-256 f8b7378c2005e880e7b034e7b0a91fc04e2b36f1442a75e98059ce49c402eacd

See more details on using hashes here.

File details

Details for the file acestream-0.2.0-py2.py3-none-any.whl.

File metadata

  • Download URL: acestream-0.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for acestream-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7878119108f11dd2462677a428f3f1e6a8a52719838ca4c4fe7eb067e05be390
MD5 a34cfab329005d7e1e29668335ad13ac
BLAKE2b-256 41a6a8ef419178b6bba4015c12daf2876d57204e74eb140711879eeabb7b476a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page