Skip to content

superkabuki/gums

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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] 

options:
  -h, --help            show this help message and exit
  -i INSTUFF, --instuff INSTUFF
                        default is 'udp://@235.35.3.5:3535'

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 -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


image

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages