Skip to main content

gums, Grande Unicast Multicast Sender

Project description

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

image

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


image

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.33.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gums-0.0.33-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file gums-0.0.33.tar.gz.

File metadata

  • Download URL: gums-0.0.33.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for gums-0.0.33.tar.gz
Algorithm Hash digest
SHA256 49209191ba6e238f7a70df0b92fb64b85c37ed842b8d23835b970d7efc90f753
MD5 3c3f2eaa29be2a1c29fbe560fcabffe6
BLAKE2b-256 f09760f082bc092a2be3faf1b115f312f2014bb85529c5879d226aee5a444edb

See more details on using hashes here.

File details

Details for the file gums-0.0.33-py3-none-any.whl.

File metadata

  • Download URL: gums-0.0.33-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for gums-0.0.33-py3-none-any.whl
Algorithm Hash digest
SHA256 da51a5ec1eecfeecbec80be4f7bf155c9d69c106e1b04548ba3b8c6d2515f5b4
MD5 cba8bbcce56afc634e313d16ea86b639
BLAKE2b-256 910448c0735f8ede7931c3627da0e9d1494247472bd2b804b8c0b683ba5abd7e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page