Grande Unicast M ulticast S ender
gums is multicast that just works, right out of the box.
gums is designed for multicast mpegts video, but works with any multicast stream.
Latest is v.0.0.31
Install
python3 -mpip install gums
Use gums (Sender) programmatically
a@debian:~/gums$ pypy3
Python 3.9.16 (7.3.11+dfsg-2, Feb 06 2023, 16:52:03)
[PyPy 7.3.11 with GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>> from gums import GumS
>>>> gummie = GumS("235.35.3.5:3535")
>>>> gummie.send_stream("/home/a/mpegts/pcrvid.ts")
Multicast Stream
udp://@235.35.3.5:3535
Source
0.0.0.0:38835
49636512 Bytes Sent
>>>>
gums (Sender) cli
-
Supported input mpegts URIs:
-
files
gums -i /home/me/vid.ts -
http(s)
gums -i https://futzu.com/xaa.ts -
udp
gums -i udp://127.0.0.1:4000 -
multicast
gums -i udp://@235.1.2.3:4567 -
reading from stdin
cat myvideo.ts | gums
-
usage: gums [-h] [-i INPUT] [-a ADDR] [-b BIND_ADDR] [-t TTL] [-v]
optional arguments:
-h, --help Show this help message and exit
-i INPUT, --input INPUT
Like "/home/a/vid.ts" or "udp://@235.35.3.5:3535" or "https://futzu.com/xaa.ts"
-a ADDR, --addr ADDR
Destination IP:Port like "227.1.3.10:4310"
-b BIND_ADDR, --bind_addr BIND_ADDR
Local IP to bind to like "192.168.1.34". Default is 0.0.0.0
-t TTL, --ttl TTL
Multicast TTL 1 - 255
-v, --version
Show version
start gums (Sender) cli
a@debian:~/gums$ gums -i any.file
stream uri: udp://@235.35.3.5:3535
a@debian:~/gums$
gumc (Client) cli
usage: gumc [-h] [-i INSTUFF] [-b BYTESIZE] [-v]
options:
-h, --help show this help message and exit
-i INSTUFF, --instuff INSTUFF
default is 'udp://@235.35.3.5:3535'
-b BYTESIZE, --bytesize BYTESIZE
Number of bytes to read. default is to read all.
-v, --version Show version
start gumc (Client) cli
a@debian:~/build/clean/gums$ gumc -i udp://@235.35.3.5:3535 -b 1024
Test gums and gumc together
- first terminal, start the client, gumc
a@debian:~/build/clean/gums$ gumc -b 5 -i udp://@235.35.3.5:3535
- second terminal,start the sender, gums__ and send a "hello"
a@debian:~/build/clean/gums$ printf 'hello' | gums -a 235.35.3.5:3535
stream uri: udp://@235.35.3.5:3535
read all bytes from multicast stream and write to file with gumc (Client)
gumc -i udp://@235.35.3.5:3535 -o output.ts
read 13 bytes from a multicast stream with gumc (Client)
gumc -i udp://@235.35.3.5:3535 -b 13
read 10000 bytes from a multicast stream with gumc (Client)
gumc -i udp://@235.35.3.5:3535 -b 10000
Metadata
Release files for gums 0.0.33
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gums-0.0.33.tar.gz | 5.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gums-0.0.33-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.9 kB
Release files / gums-0.0.33.tar.gz
| Download URL | gums-0.0.33.tar.gz |
|---|---|
| Size | 5.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
49209191ba6e238f7a70df0b92fb64b85c37ed842b8d23835b970d7efc90f753
|
|
BLAKE2b-256 checksum How to use checksums |
f09760f082bc092a2be3faf1b115f312f2014bb85529c5879d226aee5a444edb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.7.9
|
Release files / gums-0.0.33-py3-none-any.whl
| Download URL | gums-0.0.33-py3-none-any.whl |
|---|---|
| Size | 7.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
da51a5ec1eecfeecbec80be4f7bf155c9d69c106e1b04548ba3b8c6d2515f5b4
|
|
BLAKE2b-256 checksum How to use checksums |
910448c0735f8ede7931c3627da0e9d1494247472bd2b804b8c0b683ba5abd7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.7.9
|