python-librtmp
python-librtmp is a RTMP client library. It uses the implementation provided by librtmp via cffi.
Free software: BSD license
Documentation: http://pythonhosted.org/python-librtmp
Installation
The latest stable version is available to install using pip
sudo pip install python-librtmp
But you can also get the development version using Git:
git clone git://github.com/chrippa/python-librtmp.git
cd python-librtmp
sudo python setup.py install
Dependencies
Python, at least version 2.6 or 3.3.
a C compiler capapable of building Python extensions, e.g. gcc
librtmp: The library including its headers (librtmp-dev or equivalent)
cffi: cffi depends on libffi and its headers (libffi-dev or equivalent)
On Python <3.4 the backport of singledispatch is also required.
Windows
python-librtmp (and cffi) has wheel packages (binaries) available on PyPi and can therefore be easily installed with pip 1.4+ without the need to compile anything:
> pip install python-librtmp
(on older pip versions you need to use --use-wheel)
> pip install --use-wheel python-librtmp
Features
Streaming
The most common use case of RTMP is to read a video stream from a server.
import librtmp
# Create a connection
conn = librtmp.RTMP("rtmp://your.server.net/app/playpath", live=True)
# Attempt to connect
conn.connect()
# Get a file-like object to access to the stream
stream = conn.create_stream()
# Read 1024 bytes of data
data = stream.read(1024)
Remote function calls
Here is a example of creating a Python function that can be used to call remote functions:
my_remote_method = conn.remote_method("MyRemoteMethod", block=True)
result = my_remote_method("some argument")
Waiting for the server to call our function:
# This will automatically name the function after it's Python name
@conn.invoke_handler
def my_add(a, b):
return a + b
# Start waiting for calls
conn.process_packets()
You can also use custom function name instead:
@conn.invoke_handler("MyMath.MyAdd")
Instead of blocking forever when waiting for a call you can specify to wait only for a specific invoke and then stop blocking:
conn.process_packets(invoked_method="MyMath.MyAdd", timeout=30)
History
0.3.0 (2015-05-25)
Added update_buffer option (enabled by default) to RTMP.create_stream, which enables a hack to increase throughput.
Added a update_buffer method to RTMPStream.
We now require at least version 1.0.1 of cffi.
0.2.2 (2015-04-15)
Fixed proxy not being used by librtmp.
Added support for Cygwin, patch by @schrobby. (#17)
0.2.1 (2014-09-01)
Fixed expected bytes type on Python 2.
Fixed singledispatch dependency condition.
0.2.0 (2014-04-07)
RTMPError now inherits from IOError.
Fixed MSVC build.
Added librtmp.so.1 to library paths, patch by Athanasios Oikonomou. (#4)
Added librtmp.dylib to library paths, patch by Will Donohoe. (#6)
0.1.2 (2013-10-08)
Fixed compilation issue on some platforms.
Fixed AMF issue on older librtmp versions. (#1)
0.1.1 (2013-09-25)
Fixed packaging issues.
0.1.0 (2013-09-23)
First release on PyPI.
Metadata
Release files for python-librtmp 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| python-librtmp-0.3.0.tar.gz | 24.4 kB | Without provenance | Details for python-librtmp-0.3.0.tar.gz |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| python_librtmp-0.3.0-cp34-none-win32.whl | CPython 3.4 | none | Windows x86-32 | Details for python_librtmp-0.3.0-cp34-none-win32.whl |
| python_librtmp-0.3.0-cp33-none-win32.whl | CPython 3.3 | none | Windows x86-32 | Details for python_librtmp-0.3.0-cp33-none-win32.whl |
| python_librtmp-0.3.0-cp27-none-win32.whl | CPython 2.7 | none | Windows x86-32 | Details for python_librtmp-0.3.0-cp27-none-win32.whl |
Total release size: 127.0 kB
Release files / python-librtmp-0.3.0.tar.gz
| Download URL | python-librtmp-0.3.0.tar.gz |
|---|---|
| Size | 24.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4a41ada646270baa5b388f17481d08679d23b2947835901d0db7602c59ec772b
|
|
BLAKE2b-256 checksum How to use checksums |
48a633b1a5864e22de3e59dd29fcbc2602462511c04a31057b16baec639d7d4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / python_librtmp-0.3.0-cp34-none-win32.whl
| Download URL | python_librtmp-0.3.0-cp34-none-win32.whl |
|---|---|
| Size | 34.2 kB |
| Tags | CPython 3.4 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
a72a848bf8d00665dfeaf3f10fdd2734c95b15b91a9ae13a62c9e9dc28c53ad7
|
|
BLAKE2b-256 checksum How to use checksums |
6dcac21b60d97e972711cfc7f481e6812487ea78d150953e08c52680f5b2cf4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / python_librtmp-0.3.0-cp33-none-win32.whl
| Download URL | python_librtmp-0.3.0-cp33-none-win32.whl |
|---|---|
| Size | 34.3 kB |
| Tags | CPython 3.3 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
fe48acf4ea01eddf06e520ed9e1fc76abfd16dbaaf697874a950eb92042f56ff
|
|
BLAKE2b-256 checksum How to use checksums |
b2e9518f571f6ced0a36a419bc161e6a6cd2f19ee733527b690cdb8524e1b3d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / python_librtmp-0.3.0-cp27-none-win32.whl
| Download URL | python_librtmp-0.3.0-cp27-none-win32.whl |
|---|---|
| Size | 34.1 kB |
| Tags | CPython 2.7 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
6d0f5c2a169b42a25b2c06c286114c92611853940567f8a361ed9c9d2b822133
|
|
BLAKE2b-256 checksum How to use checksums |
c199b3b9d8af52422e0c11727f5b3917cb1d37152a6c19fda9314b4ada44bb0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for python-librtmp 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.