gums, Grande Unicast Multicast Sender
Project description
G
rande U
nicast 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)
```lua
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
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
gums-0.0.31.tar.gz
(5.3 kB
view hashes)
Built Distribution
gums-0.0.31-py3-none-any.whl
(6.4 kB
view hashes)