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
Release history Release notifications | RSS feed
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 hashes)
Built Distribution
Close
Hashes for acestream-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7878119108f11dd2462677a428f3f1e6a8a52719838ca4c4fe7eb067e05be390 |
|
MD5 | a34cfab329005d7e1e29668335ad13ac |
|
BLAKE2b-256 | 41a6a8ef419178b6bba4015c12daf2876d57204e74eb140711879eeabb7b476a |