No project description provided
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
Media Server Client
A unified media streaming client library that supports both WebSocket and QUIC transport protocols.
Features
- Stream H264-encoded video frames to media servers
- Send audio frames alongside video
- Choose between WebSocket and QUIC transport protocols
- Simple, consistent API regardless of transport protocol
- Python bindings for cross-platform compatibility
- High-performance Rust implementation
Installation
From PyPI
pip install media-server-client
From Source
cd src/rust/modules/media-server-client
pip install maturin
maturin develop
Using the Build Script
The repository includes a build script that simplifies the build process:
# Build in development mode (default)
./build.sh
# Build in release mode
./build.sh --release
# Build and install locally
./build.sh --install
# Clean before building
./build.sh --clean
# Build in release mode, clean first, and install locally
./build.sh --release --clean --install
Usage
Python Example
from media_server_client import MediaStreamingClient
# Create a client with the desired transport (websocket or quic)
client = MediaStreamingClient(transport_type="websocket") # or "quic"
# Connect to server
client.connect("localhost", 8080)
# Send video frames
with open("frame.h264", "rb") as f:
frame_data = f.read()
client.send_video_frame(
frame_data,
is_keyframe=True,
width=1920,
height=1080
)
# Disconnect when done
client.disconnect()
See the examples/stream_example.py for a complete example that streams a video file to a media server.
Example Script
The repository includes an example script that demonstrates how to use the library to stream a video file:
# Using WebSocket transport (default)
python examples/stream_example.py --host localhost --port 8080
# Using QUIC transport
python examples/stream_example.py --host localhost --port 8080 --transport quic
# Custom video file
python examples/stream_example.py --video path/to/video.mp4
# Control streaming frame rate
python examples/stream_example.py --fps 30
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file media_server_client_quic-0.1.1.tar.gz.
File metadata
- Download URL: media_server_client_quic-0.1.1.tar.gz
- Upload date:
- Size: 107.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a84e0ea8e77f3cac7eb1ba1dc198a5d0722f59f698739de35110be35ffd2f44
|
|
| MD5 |
30f715e741d10673c0246c6a16d32657
|
|
| BLAKE2b-256 |
ea1f0e87855d7bc38ff922ce4553768de5bbdd9d89af96918c208b49acef3a7b
|
File details
Details for the file media_server_client_quic-0.1.1-cp312-cp312-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: media_server_client_quic-0.1.1-cp312-cp312-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 1.9 MB
- Tags: CPython 3.12, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa279f2dee9770672175d55b1b00e9ede4f9d0d2d2bfabcef46bbfc18295367f
|
|
| MD5 |
287aa43b124f079882baf9d2750f8ecd
|
|
| BLAKE2b-256 |
e1b5ba28e2eb5d7367684994a4d83a429156bb0b9070ba680f9969caf851f03b
|
File details
Details for the file media_server_client_quic-0.1.1-cp311-cp311-manylinux_2_34_aarch64.whl.
File metadata
- Download URL: media_server_client_quic-0.1.1-cp311-cp311-manylinux_2_34_aarch64.whl
- Upload date:
- Size: 1.8 MB
- Tags: CPython 3.11, manylinux: glibc 2.34+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc29c16f0c267361aa8ad0231d9984ff68c0d2d0200447561f7faccc18fc05c9
|
|
| MD5 |
95b703b2ae1054d27287f494d3d1b060
|
|
| BLAKE2b-256 |
39281e40e0eef48d0bece68c88457408968af7adbc2eaf6cea621bf58583c035
|